Расширение API и модели данных для детальных результатов тренировок #11
Reference in New Issue
Block a user
Delete Branch "%!s()"
Deleting a branch is permanent. Although the deleted branch may continue to exist for a short time before it actually gets removed, it CANNOT be undone in most cases. Continue?
Тип: feature
Добавить в модель workout_log и API возможность сохранения и получения расширенных метрик тренировок (дистанция, пульс, темп, каденс, нагрузка, эффекты, VO2max, восстановление, интервалы, зоны пульса, субъективная оценка). Также отображать ключевые метрики в сводке дня и истории тренировок.
Acceptance criteria
Исходное описание
Сейчас фитнес-трекер уже умеет записывать тренировки через log_workout (название, длительность, ккал, шаги), но нет полноценной фиксации результатов тренировки. Нужно расширить API и модель данных, чтобы можно было сохранять детальные результаты пробежек и других тренировок.
Что нужно:
Расширить модель workout_log: добавить поля distance_m (дистанция в метрах), avg_heart_rate (средний пульс), max_heart_rate (макс пульс), avg_pace (средний темп, например в секундах на км), avg_cadence (средний каденс), max_cadence (макс каденс), avg_stride_length_cm (средняя длина шага), training_load (тренировочная нагрузка TL), aerobic_effect (аэробный эффект), anaerobic_effect (анаэробный эффект), vo2max (МПК в мл/кг/мин), recovery_hours (время восстановления в часах), intervals_json (JSON с интервалами: тип, длительность, дистанция, темп), heart_rate_zones_json (JSON с зонами пульса: название зоны и время в ней), perceived_effort (субъективная оценка: 1-5).
Добавить API эндпоинт POST /api/fitness/workout/{id}/results для сохранения результатов тренировки (можно вызывать отдельно от log_workout, или расширить log_workout).
Добавить API эндпоинт GET /api/fitness/workout/{id}/results для получения сохранённых результатов.
В сводке дня (get_fitness_summary) показывать ключевые метрики тренировок: общая дистанция, средний пульс, тренировочная нагрузка.
В истории (get_fitness_history) добавить колонки: дистанция, средний пульс, TL.
Использование: пользователь после пробежки смотрит данные в Mi Fitness и скидывает скриншоты ассистенту, тот парсит и сохраняет через новый API.
Taiga: #52 — https://taiga.grigowashere.ru/project/0/9/us/52
Ветка:
feature/52-расширение-api-и-модели-данных-для-деталЗакрытие:
Closes gitea #N, taiga #REFв коммите