# 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//tasks` с телом `{"title": "Тестовая задача", "description": "из письма"}` **THEN** задача создаётся (HTTP 201) и видна в веб-UI. ### Requirement: REQ-VIK-003: Авторизация **MUST** — Vikunja должен требовать аутентификацию (логин/пароль или API-токен) для всех операций, кроме анонимного info. #### Scenario: Доступ без токена запрещён **GIVEN** неавторизованный запрос **WHEN** выполняется `POST /api/v1/projects//tasks` **THEN** возвращается 401/403, задача не создаётся. ### Requirement: REQ-VIK-004: Хранение данных **MUST** — данные Vikunja хранятся в PostgreSQL (docker volume), переживают перезапуск контейнера. #### Scenario: Перезапуск Vikunja **GIVEN** Vikunja с созданными задачами **WHEN** контейнер перезапускается (`docker compose restart`) **THEN** задачи и проекты сохраняются (volume не теряется).