2.3 KiB
Task Tracker Vikunja — Requirement Spec (Delta)
New capability:
task-tracker-vikunjaChange:local-calendar-tasks
ADDED Requirements
Requirement: REQ-VIK-001: Локальный трекер задач
MUST — на bigbox должен работать трекер задач Vikunja, доступный по HTTP на 127.0.0.1:3456 (или через Caddy на поддомене), с веб-интерфейсом и REST API.
Scenario: Vikunja отвечает
GIVEN Vikunja запущен (docker compose)
WHEN выполняется curl http://127.0.0.1:3456/api/v1/info
THEN ответ содержит JSON с version и статус 200.
Requirement: REQ-VIK-002: REST API для создания задач
MUST — API Vikunja позволяет создавать задачи программно (для кнопки «Создать задачу» из веб-интерфейса почты), используя API-токен.
Scenario: Создание задачи через API
GIVEN валидный API-токен Vikunja
WHEN выполняется POST /api/v1/projects/<id>/tasks с телом
{"title": "Тестовая задача", "description": "из письма"}
THEN задача создаётся (HTTP 201) и видна в веб-UI.
Requirement: REQ-VIK-003: Авторизация
MUST — Vikunja должен требовать аутентификацию (логин/пароль или API-токен) для всех операций, кроме анонимного info.
Scenario: Доступ без токена запрещён
GIVEN неавторизованный запрос
WHEN выполняется POST /api/v1/projects/<id>/tasks
THEN возвращается 401/403, задача не создаётся.
Requirement: REQ-VIK-004: Хранение данных
MUST — данные Vikunja хранятся в PostgreSQL (docker volume), переживают перезапуск контейнера.
Scenario: Перезапуск Vikunja
GIVEN Vikunja с созданными задачами
WHEN контейнер перезапускается (docker compose restart)
THEN задачи и проекты сохраняются (volume не теряется).