From 9243df024e991314d1a7873126c4b349803db055 Mon Sep 17 00:00:00 2001 From: virus-home Date: Sat, 17 Oct 2026 18:56:48 +0500 Subject: [PATCH] =?UTF-8?q?=D0=98=D0=BC=D0=B5=D0=BD=D0=BE=D0=B2=D0=B0?= =?UTF-8?q?=D0=BD=D0=B8=D0=B5:=20=D0=B1=D0=B0=D0=B7=D0=BE=D0=B2=D0=BE?= =?UTF-8?q?=D0=B5=20=D0=B8=D0=BC=D1=8F=20WatchBody;=20=D0=BA=D0=BE=D0=BC?= =?UTF-8?q?=D0=BF=D0=BE=D0=BD=D0=B5=D0=BD=D1=82=D1=8B=20Phone.WatchBody=20?= =?UTF-8?q?=D0=B8=20Server.WatchBody?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- 1-docs/0-mng/plan.md | 6 +++--- 1-docs/2-arch/architecture.md | 18 +++++++++--------- 1-docs/3-tech/kit-helpers-spec.md | 4 ++-- 1-docs/3-tech/tech-requirements.md | 2 +- readme.md | 8 +++++--- 5 files changed, 20 insertions(+), 18 deletions(-) diff --git a/1-docs/0-mng/plan.md b/1-docs/0-mng/plan.md index c61955c..303a4d9 100644 --- a/1-docs/0-mng/plan.md +++ b/1-docs/0-mng/plan.md @@ -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`. Статусы: ⬜ — не начат, 🔄 — в работе, diff --git a/1-docs/2-arch/architecture.md b/1-docs/2-arch/architecture.md index c6c9d16..0757301 100644 --- a/1-docs/2-arch/architecture.md +++ b/1-docs/2-arch/architecture.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). Взаимодействие diff --git a/1-docs/3-tech/kit-helpers-spec.md b/1-docs/3-tech/kit-helpers-spec.md index ff29660..f851ec3 100644 --- a/1-docs/3-tech/kit-helpers-spec.md +++ b/1-docs/3-tech/kit-helpers-spec.md @@ -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-обёртка вызовов функций | diff --git a/1-docs/3-tech/tech-requirements.md b/1-docs/3-tech/tech-requirements.md index df8f481..0fd7084 100644 --- a/1-docs/3-tech/tech-requirements.md +++ b/1-docs/3-tech/tech-requirements.md @@ -1,4 +1,4 @@ -# Технические требования: VEU.WathBody («Феникс 6X») v1 +# Технические требования: WatchBody («Феникс 6X») v1 > Шаг 5 процесса разработки (`std1\_process\process.md`). > Источники: [vision.md](../1-reqs/vision.md) v1.2, diff --git a/readme.md b/readme.md index 5dcfc31..7821e67 100644 --- a/readme.md +++ b/readme.md @@ -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 + личный сервер»: голосовой учёт подходов, кардиоконтроль на запястье, ведение