ТЗ дополнен разделом Аналитика и дашборды

This commit is contained in:
Dauren777 2026-06-01 12:52:42 +00:00
parent 03812c4f6e
commit f6c0f7c33b
2 changed files with 70 additions and 0 deletions

Binary file not shown.

View File

@ -296,6 +296,76 @@ POST /api/upload/photo — загрузка фото
---
### 3.12. Аналитика и дашборды
**Дашборд спортсмена — главный экран аналитики:**
**График прогресса (50 м в/с):**
- Линейный график: дата по оси X, время по оси Y
- Целевая линия (23″) и текущая линия тренда
- Автоматический расчёт скорости прогресса (секунд в месяц)
- Прогноз: когда будет достигнута цель при текущем темпе
**Радарная диаграмма навыков:**
- 6 осей: старт, поворот, подводная фаза, гребок, выносливость, финиш
- Оценки 1-10 выставляет тренер или сам спортсмен
- Сравнение с предыдущим месяцем
**Круговые диаграммы тренировок:**
- Распределение по типам: скорость / техника / выносливость / ОФП
- За текущий месяц и за всё время
**Тепловая карта активности:**
- Календарь GitHub-style: каждый день — квадратик
- Цвет зависит от километража (0 — серый, 5+ км — ярко-голубой)
- Видно пропуски тренировок и интенсивные периоды
**Счётчики (KPI):**
- Всего тренировок, общий километраж, лучший результат
- Среднее самочувствие, динамика пульса, средний сон
- Недельная/месячная нагрузка
**Сравнительная аналитика:**
- Сравнение своего прогресса со средним по возрастной группе
- Сравнение с товарищами по клубу (анонимно)
- Процентиль: «Ты быстрее 78% пловцов твоего возраста»
**Экспорт данных:**
- CSV-выгрузка всех тренировок
- Excel-отчёт с графиками (автоматическая генерация)
- PDF-дашборд для тренера
**Технологии:**
- Chart.js / ECharts / D3.js для визуализации
- Данные агрегируются на бэкенде (SQL-запросы с GROUP BY)
- Кэширование агрегаций в Redis (обновление раз в час)
**API для аналитики:**
```
GET /api/analytics/progress/:metric — график прогресса по метрике
GET /api/analytics/radar — радарная диаграмма
GET /api/analytics/heatmap — тепловая карта (год)
GET /api/analytics/distribution — распределение типов тренировок
GET /api/analytics/kpi — ключевые показатели
GET /api/analytics/compare — сравнение с группой
GET /api/analytics/export/csv — CSV-выгрузка
GET /api/analytics/export/dashboard — PDF-дашборд
```
**Дашборд тренера:**
- Сводка по всем ученикам: таблица с сортировкой по любому столбцу
- Групповой график прогресса (все ученики на одном графике)
- Выделение отстающих (красная зона) и лидеров (зелёная зона)
- Уведомления: ученик не тренировался 3+ дня → алерт тренеру
- Экспорт сводного отчёта по группе
**Дашборд родителя:**
- Упрощённая версия: график прогресса ребёнка, счётчики
- Уведомления о новых достижениях и значках
- Еженедельный email-отчёт (опционально)
---
## 6. База данных (основные таблицы)
```sql