Files

52 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Task Tracker Vikunja — Requirement Spec (Delta)
> New capability: `task-tracker-vikunja`
> Change: `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 не теряется).