Именование: базовое имя WatchBody; компоненты Phone.WatchBody и Server.WatchBody
This commit is contained in:
parent
2b3ce40673
commit
9243df024e
|
|
@ -1,7 +1,7 @@
|
|||
# План проекта: VEU.WathBody («Феникс 6X»)
|
||||
# План проекта: WatchBody («Феникс 6X»)
|
||||
|
||||
> Код системы — VEU.WathBody (репозиторий
|
||||
> `https://git.mind01.ru/VEU/VEU.WathBody.git`); название продукта —
|
||||
> Код системы — WatchBody (репозиторий
|
||||
> `https://git.mind01.ru/VEU/WatchBody.git`); название продукта —
|
||||
> «Феникс 6X». План проекта — формат по sd-init-5
|
||||
> (`std1\_rules\sd\sd-init.md`); шаги процесса —
|
||||
> `std1\_process\process.md`. Статусы: ⬜ — не начат, 🔄 — в работе,
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ vision 1.1); перечень моделей — открытый вопрос 8
|
|||
в объёме возможностей канала (открытый вопрос 3); отсутствие связи
|
||||
ничего не ломает — часы автономны.
|
||||
|
||||
### 1.2. Телефон атлета — приложение «Феникс» (Android, Kotlin)
|
||||
### 1.2. Телефон атлета — **Phone.WatchBody** (Android, Kotlin)
|
||||
|
||||
- `TrainingUi` — экраны (Jetpack Compose — кандидат, фиксируется
|
||||
шагом 5): активная тренировка, история, программы, профиль;
|
||||
|
|
@ -42,19 +42,19 @@ vision 1.1); перечень моделей — открытый вопрос 8
|
|||
🛡 Офлайн-first: сеть стоит только на пути `SyncQueue`; все остальные
|
||||
компоненты работают без сети (requirements, раздел 5).
|
||||
|
||||
### 1.3. Личный сервер — `Феникс.Server` (C# / .NET 10, PostgreSQL)
|
||||
### 1.3. Личный сервер — **Server.WatchBody** (C# / .NET 10, PostgreSQL)
|
||||
|
||||
Проекты в `3-app\`:
|
||||
|
||||
| Компонент | Проект (`3-app\2-cli\`) | Ответственность |
|
||||
|---|---|---|
|
||||
| `RestApi` | `VEU.WathBody.Server.Web` | `POST /api/v1/sync`, `GET workouts`, `GET programs/active`; ключ атлета → `athlete_id`; HTTPS |
|
||||
| `AdminWeb` | `VEU.WathBody.Server.Web` | Консоль владельца (логин/пароль): атлеты, тренировки + ход, программы, планы, метрики, CSV |
|
||||
| `FitFetcher` | `VEU.WathBody.Server.Fetch` | Клиент Garmin Connect (неофициальный, опросник 4.3); `--mode fetch`; дедупликация по `fit_file_id` |
|
||||
| `FitParser` | `VEU.WathBody.Server.Import` | Garmin FIT SDK: Session/Lap/Record/Set → `workout_facts`; `--mode import` (fallback: .fit/.tcx/.gpx из папки) |
|
||||
| `MetricsEngine` | `VEU.WathBody.Server.Core` | adherence, тоннаж по группам, 1ПМ, пульс-метрики → `workout_metrics` |
|
||||
| `ProgressionRules` | `VEU.WathBody.Server.Core` | Правила прогрессии и делоада → draft-версии программ (`author=rules`) |
|
||||
| `ProgramStore` | `VEU.WathBody.Server.Core` | Версионированный JSON программ; неизменяемость версий; `active` — ровно один на атлета |
|
||||
| `RestApi` | `Server.WatchBody.Web` | `POST /api/v1/sync`, `GET workouts`, `GET programs/active`; ключ атлета → `athlete_id`; HTTPS |
|
||||
| `AdminWeb` | `Server.WatchBody.Web` | Консоль владельца (логин/пароль): атлеты, тренировки + ход, программы, планы, метрики, CSV |
|
||||
| `FitFetcher` | `Server.WatchBody.Fetch` | Клиент Garmin Connect (неофициальный, опросник 4.3); `--mode fetch`; дедупликация по `fit_file_id` |
|
||||
| `FitParser` | `Server.WatchBody.Import` | Garmin FIT SDK: Session/Lap/Record/Set → `workout_facts`; `--mode import` (fallback: .fit/.tcx/.gpx из папки) |
|
||||
| `MetricsEngine` | `Server.WatchBody.Core` | adherence, тоннаж по группам, 1ПМ, пульс-метрики → `workout_metrics` |
|
||||
| `ProgressionRules` | `Server.WatchBody.Core` | Правила прогрессии и делоада → draft-версии программ (`author=rules`) |
|
||||
| `ProgramStore` | `Server.WatchBody.Core` | Версионированный JSON программ; неизменяемость версий; `active` — ровно один на атлета |
|
||||
| БД | схема `src` \| `ref` | PostgreSQL: атлеты, тренировки/факты, метрики, программы, журнал LLM (v2) |
|
||||
|
||||
Общая библиотека — `Kit.Helpers` (`3-app\1-lib`, std1). Взаимодействие
|
||||
|
|
|
|||
|
|
@ -1,13 +1,13 @@
|
|||
# Спецификация потребления: Kit.Helpers
|
||||
|
||||
> Спецификация разделяемой библиотеки в объёме потребления системы
|
||||
> VEU.WathBody (шаг 5 процесса). Библиотека развивается вне проекта
|
||||
> WatchBody (шаг 5 процесса). Библиотека развивается вне проекта
|
||||
> (`3-app\1-lib\Kit.Helpers`, net10.0, Npgsql 10) — здесь фиксируется
|
||||
> только контракт использования; исходники не изменяются.
|
||||
|
||||
## Потребляемые компоненты (v1)
|
||||
|
||||
| Компонент | Использует | Назначение в VEU.WathBody |
|
||||
| Компонент | Использует | Назначение в WatchBody |
|
||||
|---|---|---|
|
||||
| `Db.Postgres.SqlServerHelper` | `FitParser`, `MetricsEngine`, `ProgramStore`, `RestApi`, `AdminWeb` | Единственный путь к PostgreSQL: выполнение хранимых функций слоя `src`/`ref` (шаг 6) |
|
||||
| `SqlServerHelperFluent` | те же | Fluent-обёртка вызовов функций |
|
||||
|
|
|
|||
|
|
@ -1,4 +1,4 @@
|
|||
# Технические требования: VEU.WathBody («Феникс 6X») v1
|
||||
# Технические требования: WatchBody («Феникс 6X») v1
|
||||
|
||||
> Шаг 5 процесса разработки (`std1\_process\process.md`).
|
||||
> Источники: [vision.md](../1-reqs/vision.md) v1.2,
|
||||
|
|
|
|||
|
|
@ -1,8 +1,10 @@
|
|||
# VEU.WathBody — «Феникс 6X», контроль силовых тренировок
|
||||
# WatchBody — «Феникс 6X», контроль силовых тренировок
|
||||
|
||||
Код системы — **VEU.WathBody** (репозиторий
|
||||
Код системы — **WatchBody** (репозиторий
|
||||
`https://git.mind01.ru/VEU/VEU.WathBody.git`); отображаемое название
|
||||
продукта — **«Феникс 6X»**.
|
||||
продукта — **«Феникс 6X»**. Компоненты: **Phone.WatchBody** (Android-
|
||||
приложение атлета), **Server.WatchBody** (серверная часть); поле данных
|
||||
часов — WatchBody Data Field.
|
||||
|
||||
Персональный комплекс «часы Garmin Fenix 6 + телефон Android + личный
|
||||
сервер»: голосовой учёт подходов, кардиоконтроль на запястье, ведение
|
||||
|
|
|
|||
Loading…
Reference in New Issue