docs: SoT product version EventHubSpec/VERSION + build in health.
MAJOR.MINOR from Spec; per-repo CI run_number as build; health exposes version/build/git_sha/built_at. Admin UI / API / UI labels documented in WORKFLOW. Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
+10
-7
@@ -163,9 +163,12 @@ EventHub — платформа для управления событиями
|
||||
- `GET /v1/admin/audit` — просмотр аудита.
|
||||
|
||||
#### 2.10.3. Статистика для дашборда с учётом ролей
|
||||
- `GET /v1/admin/stats` — базовая статистика (количество пользователей, событий, бронирований).
|
||||
- В будущем планируется расширенная аналитика на основе данных из таблицы `stats`.
|
||||
|
||||
- `GET /v1/admin/stats` — агрегированная статистика дашборда (totals, by_day, breakdowns по роли).
|
||||
- Section endpoints: `GET /v1/admin/{users|events|calendars|reviews|reports|tickets|subscriptions}/stats`.
|
||||
- Источник агрегатов: `stats_collector` (Mnesia `detailed` subscribe) → ETS → upsert в `stats_counter` / `stats_daily` (#42, развитие #16).
|
||||
- Totals (`*_total`) — `mnesia:table_info(size)` где достаточно; by_status / by_role / by_type / by_day — из счётчиков.
|
||||
- Tops (все 9 полей section stats) — ETS `stats_tops` (#45, #46); avg resolution — running sum/count (#44); per-admin — индексы (#43).
|
||||
- Retention дневных бакетов: 730 дней. При старте — load из Mnesia или backfill.
|
||||
### 2.11. Real-time уведомления (WebSocket)
|
||||
- Пользовательский WebSocket (порт 8081): подписка на обновления событий календаря.
|
||||
- Административный WebSocket (порт 8446): подписка на новые жалобы и тикеты.
|
||||
@@ -212,8 +215,7 @@ EventHub — платформа для управления событиями
|
||||
- Логирование в JSON-формате.
|
||||
- Экспорт метрик для Prometheus (HTTP-эндпоинт `/metrics`).
|
||||
- Встроенный Observer Web для мониторинга Erlang-системы.
|
||||
- Сбор статистики использования (события, бронирования, отзывы) через триггеры Mnesia с сохранением в таблице `stats` (задача #16).
|
||||
|
||||
- Сбор admin-статистики через триггеры Mnesia (`detailed` subscribe): upsert-счётчики `stats_counter` и дневные бакеты `stats_daily` (#42; ранее пробный append-only `stats` в #16).
|
||||
### 3.5. CI/CD
|
||||
- Контейнеризация (Docker).
|
||||
- Makefile для автоматизации задач.
|
||||
@@ -249,6 +251,7 @@ src/
|
||||
## 6. ОСНОВНЫЕ API (КРАТКО)
|
||||
|
||||
### Пользовательские (порт 8080)
|
||||
- `GET /health` — health + build identity: `status`, `service`, `version`, `build`, `git_sha`, `built_at` (как admin health).
|
||||
- `POST /v1/register` — регистрация.
|
||||
- `POST /v1/login` — вход.
|
||||
- `POST /v1/refresh` — обновление токена.
|
||||
@@ -274,7 +277,7 @@ src/
|
||||
- `GET /v1/calendars/:calendar_id/view?month=YYYY-MM` — HTML-календарь (владелец), включая архив.
|
||||
|
||||
### Административные (порт 8445)
|
||||
- `GET /admin/health` и `GET /v1/admin/health` — состояние сервера + build identity: `status`, `service`, `version` (из `VERSION` / `EVENTHUB_VERSION`), `git_sha`, `built_at`. `/admin/health` — CT/Traefik; `/v1/admin/health` — admin SPA.
|
||||
- `GET /admin/health` и `GET /v1/admin/health` — состояние сервера + build identity: `status`, `service`, `version` (`MAJOR.MINOR` из `EventHubSpec/VERSION`), `build` (CI `run_number`, per-repo), `git_sha`, `built_at`. `/admin/health` — CT/Traefik; `/v1/admin/health` — Admin UI.
|
||||
- `GET /v1/admin/stats` — агрегированная статистика дашборда.
|
||||
- `POST /v1/admin/login` — вход администратора.
|
||||
- `POST /v1/admin/refresh` — обновление пары access/refresh JWT администратора.
|
||||
@@ -371,7 +374,7 @@ src/
|
||||
- Дисковое хранение и индексы (задача #13)
|
||||
- Репликация между узлами кластера с автоочисткой (задача #14)
|
||||
- Архивирование исторических данных и серверный рендеринг календаря (задача #15)
|
||||
- Сбор статистики через триггеры Mnesia (задача #16)
|
||||
- Сбор статистики через триггеры Mnesia: upsert `stats_counter` / `stats_daily` (#42, развитие #16)
|
||||
- Механизм миграций схемы данных (задача #17)
|
||||
|
||||
## 8. ОГРАНИЧЕНИЯ И ДОПУЩЕНИЯ
|
||||
|
||||
Reference in New Issue
Block a user