VEU.WathBody/readme.md

98 lines
6.8 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# WatchBody — «Феникс 6X», контроль силовых тренировок
Код системы — **WatchBody** (репозиторий
`https://git.mind01.ru/VEU/VEU.WathBody.git`); отображаемое название
продукта — **«Феникс 6X»**. Компоненты: **Phone.WatchBody** (Android-
приложение атлета), **Server.WatchBody** (серверная часть); поле данных
часов — WatchBody Data Field.
Персональный комплекс «часы 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).