92 lines
6.4 KiB
Markdown
92 lines
6.4 KiB
Markdown
# Феникс 6X — контроль силовых тренировок
|
||
|
||
Персональный комплекс «часы Garmin Fenix 6 + телефон Android + личный
|
||
сервер»: голосовой учёт подходов, кардиоконтроль на запястье, ведение
|
||
и корректировка программ тренировок, полный архив с пульсом в
|
||
собственной базе.
|
||
|
||
## Концепция
|
||
|
||
Для атлета-любителя, который тренируется со штангой и гантелями и хочет
|
||
вести учёт и контролировать нагрузку, не выпуская из рук снаряд,
|
||
**«Феникс 6X»** — персональный комплекс «часы Garmin + телефон + личный
|
||
сервер», который голосом записывает подходы, показывает кардионагрузку
|
||
и отдых на запястье, ведёт тренировку по программе и автоматически
|
||
собирает полный архив с пульсом в собственной базе; в отличие от
|
||
блокнотов, приложений-дневников с ручным вводом и штатных экранов
|
||
Garmin, наш продукт фиксирует результаты без рук, сверяет их с программой
|
||
и на основании результатов корректирует следующие тренировки, храня
|
||
данные у владельца, а не в чужом облаке.
|
||
|
||
Полный образ проекта — [1-docs\1-reqs\vision.md](1-docs/1-reqs/vision.md)
|
||
(утверждён 2026-10-17).
|
||
|
||
## Версии
|
||
|
||
- **v1.0** — полный MVP-цикл: голосовой учёт подходов (офлайн),
|
||
кардиоконтроль на часах (поле данных в профиле «Силовая»), офлайн-учёт
|
||
с автосинхронизацией, серверный архив из .fit (Garmin Connect),
|
||
веб-история с CSV, программы тренировок с контролем «план/факт»
|
||
и правилами прогрессии (без LLM).
|
||
- **v2** — LLM-планирование (еженедельные предложения через валидатор),
|
||
wake-word «Феникс, записывай», iOS, экспорт FIT, программы на часы.
|
||
- **v2.x** — мезоциклы LLM, «генератор+ревьюер», опрос RPE, аналитика.
|
||
- **v3+** — трековые виды спорта (бег/вело).
|
||
|
||
## Состав системы и архитектурные фиксации
|
||
|
||
- **Часы Garmin Fenix 6** — Monkey C (Connect IQ SDK): поле данных
|
||
в штатном профиле «Силовая»; пульс, зоны (50/70/85 %), Lap — конец
|
||
подхода; полностью автономны от телефона.
|
||
- **Телефон** — нативный Android (Kotlin, Room, офлайн-STT
|
||
Vosk/sherpa-onnx): голосовой учёт, экран тренировки, программы,
|
||
локальная БД, очередь синхронизации; работает без часов, интернета
|
||
и сервера.
|
||
- **Сервер** — C# / .NET 10 + PostgreSQL по стандарту std1: REST API
|
||
(статический ключ, идемпотентность), забор .fit из Garmin Connect
|
||
(неофициальный клиент; деградация — ручной экспорт в папку импорта),
|
||
парсинг FIT (Garmin FIT SDK), MetricsEngine, ProgramStore
|
||
(версионированный JSON-программы), веб-интерфейс с CSV.
|
||
- **Форматы** — FIT основной; импорт FIT/TCX/GPX; внутреннее хранение
|
||
и API — JSON; CSV — отчётные выгрузки; GPX для силовых данных
|
||
не используется.
|
||
- **Офлайн-first и независимость частей** — каждая часть (часы, телефон,
|
||
сервер) работает при отсутствии остальных; данные досылаются
|
||
автоматически, дубликаты исключаются идемпотентностью.
|
||
- **LLM — планировщик, код — источник истины** — LLM только предлагает
|
||
изменения структурным JSON; детерминированный валидатор и подтверждение
|
||
пользователя обязательны; офлайн-fallback — правила прогрессии.
|
||
|
||
## Слои
|
||
|
||
Серверная часть (БД, DAL, документация делятся одинаково):
|
||
|
||
- `src` — основные данные: тренировки, подходы, программы, метрики;
|
||
- `ref` — справочники: библиотека упражнений, двигательные группы.
|
||
|
||
## Структура репозитория
|
||
|
||
```
|
||
readme.md — этот файл
|
||
Техническое задание.md — исходное ТЗ (17.10.2026)
|
||
Требование.md — требование по стекам (сервер — std1)
|
||
Форматы_тренировок_и_рекомендации.md — обзор форматов
|
||
Архитектура_LLM_планирования_тренировок.md — дизайн LLM-планирования
|
||
1-docs\
|
||
0-mng\ — управление проектом (план проекта)
|
||
1-reqs\ — vision, функциональные требования
|
||
2-arch\ — архитектура (components, hld.puml)
|
||
3-tech\ — технические требования, спецификации библиотек
|
||
4-modules\ — документы модулей
|
||
2-db\ — функции БД (psql, тесты)
|
||
3-app\
|
||
1-lib\ — разделяемые библиотеки (Kit.Helpers и др.)
|
||
2-cli\ — приложения/модули сервера
|
||
```
|
||
|
||
## Ссылки
|
||
|
||
- Стандарт разработки std1: `I:\Kit\Kit.DevAi\std1` (процесс —
|
||
`_process\process.md`, правила — `_rules\`).
|
||
- План проекта: [1-docs\0-mng\plan.md](1-docs/0-mng/plan.md).
|