Именование: базовое имя WatchBody; компоненты Phone.WatchBody и Server.WatchBody

This commit is contained in:
virus-home 2026-10-17 18:56:48 +05:00
parent 2b3ce40673
commit 9243df024e
5 changed files with 20 additions and 18 deletions

View File

@ -1,7 +1,7 @@
# План проекта: VEU.WathBody («Феникс 6X») # План проекта: WatchBody («Феникс 6X»)
> Код системы — VEU.WathBody (репозиторий > Код системы — WatchBody (репозиторий
> `https://git.mind01.ru/VEU/VEU.WathBody.git`); название продукта — > `https://git.mind01.ru/VEU/WatchBody.git`); название продукта —
> «Феникс 6X». План проекта — формат по sd-init-5 > «Феникс 6X». План проекта — формат по sd-init-5
> (`std1\_rules\sd\sd-init.md`); шаги процесса — > (`std1\_rules\sd\sd-init.md`); шаги процесса —
> `std1\_process\process.md`. Статусы: ⬜ — не начат, 🔄 — в работе, > `std1\_process\process.md`. Статусы: ⬜ — не начат, 🔄 — в работе,

View File

@ -23,7 +23,7 @@ vision 1.1); перечень моделей — открытый вопрос 8
в объёме возможностей канала (открытый вопрос 3); отсутствие связи в объёме возможностей канала (открытый вопрос 3); отсутствие связи
ничего не ломает — часы автономны. ничего не ломает — часы автономны.
### 1.2. Телефон атлета — приложение «Феникс» (Android, Kotlin) ### 1.2. Телефон атлета — **Phone.WatchBody** (Android, Kotlin)
- `TrainingUi` — экраны (Jetpack Compose — кандидат, фиксируется - `TrainingUi` — экраны (Jetpack Compose — кандидат, фиксируется
шагом 5): активная тренировка, история, программы, профиль; шагом 5): активная тренировка, история, программы, профиль;
@ -42,19 +42,19 @@ vision 1.1); перечень моделей — открытый вопрос 8
🛡 Офлайн-first: сеть стоит только на пути `SyncQueue`; все остальные 🛡 Офлайн-first: сеть стоит только на пути `SyncQueue`; все остальные
компоненты работают без сети (requirements, раздел 5). компоненты работают без сети (requirements, раздел 5).
### 1.3. Личный сервер — `Феникс.Server` (C# / .NET 10, PostgreSQL) ### 1.3. Личный сервер — **Server.WatchBody** (C# / .NET 10, PostgreSQL)
Проекты в `3-app\`: Проекты в `3-app\`:
| Компонент | Проект (`3-app\2-cli\`) | Ответственность | | Компонент | Проект (`3-app\2-cli\`) | Ответственность |
|---|---|---| |---|---|---|
| `RestApi` | `VEU.WathBody.Server.Web` | `POST /api/v1/sync`, `GET workouts`, `GET programs/active`; ключ атлета → `athlete_id`; HTTPS | | `RestApi` | `Server.WatchBody.Web` | `POST /api/v1/sync`, `GET workouts`, `GET programs/active`; ключ атлета → `athlete_id`; HTTPS |
| `AdminWeb` | `VEU.WathBody.Server.Web` | Консоль владельца (логин/пароль): атлеты, тренировки + ход, программы, планы, метрики, CSV | | `AdminWeb` | `Server.WatchBody.Web` | Консоль владельца (логин/пароль): атлеты, тренировки + ход, программы, планы, метрики, CSV |
| `FitFetcher` | `VEU.WathBody.Server.Fetch` | Клиент Garmin Connect (неофициальный, опросник 4.3); `--mode fetch`; дедупликация по `fit_file_id` | | `FitFetcher` | `Server.WatchBody.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 из папки) | | `FitParser` | `Server.WatchBody.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` | | `MetricsEngine` | `Server.WatchBody.Core` | adherence, тоннаж по группам, 1ПМ, пульс-метрики → `workout_metrics` |
| `ProgressionRules` | `VEU.WathBody.Server.Core` | Правила прогрессии и делоада → draft-версии программ (`author=rules`) | | `ProgressionRules` | `Server.WatchBody.Core` | Правила прогрессии и делоада → draft-версии программ (`author=rules`) |
| `ProgramStore` | `VEU.WathBody.Server.Core` | Версионированный JSON программ; неизменяемость версий; `active` — ровно один на атлета | | `ProgramStore` | `Server.WatchBody.Core` | Версионированный JSON программ; неизменяемость версий; `active` — ровно один на атлета |
| БД | схема `src` \| `ref` | PostgreSQL: атлеты, тренировки/факты, метрики, программы, журнал LLM (v2) | | БД | схема `src` \| `ref` | PostgreSQL: атлеты, тренировки/факты, метрики, программы, журнал LLM (v2) |
Общая библиотека — `Kit.Helpers` (`3-app\1-lib`, std1). Взаимодействие Общая библиотека — `Kit.Helpers` (`3-app\1-lib`, std1). Взаимодействие

View File

@ -1,13 +1,13 @@
# Спецификация потребления: Kit.Helpers # Спецификация потребления: Kit.Helpers
> Спецификация разделяемой библиотеки в объёме потребления системы > Спецификация разделяемой библиотеки в объёме потребления системы
> VEU.WathBody (шаг 5 процесса). Библиотека развивается вне проекта > WatchBody (шаг 5 процесса). Библиотека развивается вне проекта
> (`3-app\1-lib\Kit.Helpers`, net10.0, Npgsql 10) — здесь фиксируется > (`3-app\1-lib\Kit.Helpers`, net10.0, Npgsql 10) — здесь фиксируется
> только контракт использования; исходники не изменяются. > только контракт использования; исходники не изменяются.
## Потребляемые компоненты (v1) ## Потребляемые компоненты (v1)
| Компонент | Использует | Назначение в VEU.WathBody | | Компонент | Использует | Назначение в WatchBody |
|---|---|---| |---|---|---|
| `Db.Postgres.SqlServerHelper` | `FitParser`, `MetricsEngine`, `ProgramStore`, `RestApi`, `AdminWeb` | Единственный путь к PostgreSQL: выполнение хранимых функций слоя `src`/`ref` (шаг 6) | | `Db.Postgres.SqlServerHelper` | `FitParser`, `MetricsEngine`, `ProgramStore`, `RestApi`, `AdminWeb` | Единственный путь к PostgreSQL: выполнение хранимых функций слоя `src`/`ref` (шаг 6) |
| `SqlServerHelperFluent` | те же | Fluent-обёртка вызовов функций | | `SqlServerHelperFluent` | те же | Fluent-обёртка вызовов функций |

View File

@ -1,4 +1,4 @@
# Технические требования: VEU.WathBody («Феникс 6X») v1 # Технические требования: WatchBody («Феникс 6X») v1
> Шаг 5 процесса разработки (`std1\_process\process.md`). > Шаг 5 процесса разработки (`std1\_process\process.md`).
> Источники: [vision.md](../1-reqs/vision.md) v1.2, > Источники: [vision.md](../1-reqs/vision.md) v1.2,

View File

@ -1,8 +1,10 @@
# VEU.WathBody — «Феникс 6X», контроль силовых тренировок # WatchBody — «Феникс 6X», контроль силовых тренировок
Код системы — **VEU.WathBody** (репозиторий Код системы — **WatchBody** (репозиторий
`https://git.mind01.ru/VEU/VEU.WathBody.git`); отображаемое название `https://git.mind01.ru/VEU/VEU.WathBody.git`); отображаемое название
продукта — **«Феникс 6X»**. продукта — **«Феникс 6X»**. Компоненты: **Phone.WatchBody** (Android-
приложение атлета), **Server.WatchBody** (серверная часть); поле данных
часов — WatchBody Data Field.
Персональный комплекс «часы Garmin Fenix 6 + телефон Android + личный Персональный комплекс «часы Garmin Fenix 6 + телефон Android + личный
сервер»: голосовой учёт подходов, кардиоконтроль на запястье, ведение сервер»: голосовой учёт подходов, кардиоконтроль на запястье, ведение