2.6 KiB
Calendar CalDAV — Requirement Spec (Delta)
New capability:
calendar-caldavChange:local-calendar-tasks
ADDED Requirements
Requirement: REQ-CAL-001: Локальный CalDAV-сервер
MUST — на bigbox должен работать CalDAV-сервер (Radicale), доступный по HTTP на 127.0.0.1:5232, предоставляющий календари и задачи по стандарту CalDAV.
Scenario: Radicale отвечает
GIVEN Radicale запущен
WHEN выполняется curl -i -X PROPFIND http://127.0.0.1:5232/ -u login:pass
THEN ответ содержит HTTP 207 (Multi-Status) и список коллекций.
Requirement: REQ-CAL-002: Календарь и задачи через CalDAV
MUST — Radicale должен поддерживать как календари (VEVENT), так и задачи (VTODO), чтобы Android-клиент (DAVx5) синхронизировал и календарь, и задачи.
Scenario: Создание события
GIVEN настроенный календарь пользователя
WHEN клиент (DAVx5 на Android / curl) создаёт VEVENT через PUT
THEN событие сохраняется в Radicale и доступно для чтения обратно.
Requirement: REQ-CAL-003: Синхронизация с Android
MUST — сервер должен поддерживать стандарт CalDAV (RFC 4791) для двусторонней синхронизации с Android через DAVx5 (или аналог).
Scenario: Двусторонняя синхронизация
GIVEN DAVx5 настроен на Android с URL Radicale WHEN создаётся событие на телефоне THEN оно появляется на bigbox (Radicale) и наоборот (событие из Radicale доступно на телефоне).
Requirement: REQ-CAL-004: Безопасность
MUST — Radicale доступен только локально (127.0.0.1) или через TLS-прокси (Caddy) с авторизацией; не должен быть открыт в интернет без TLS.
Scenario: Доступ снаружи
GIVEN Caddy reverse proxy настроен для Radicale WHEN Android подключается по https://<домен>/ THEN соединение TLS + аутентификация работают; без Caddy доступ ограничен локальным интерфейсом.