VEU.WathBody/1-docs/4-modules
virus-home d61499025c Этап 7, итерация 3 завершена: m08-admin-web (консоль владельца)
Backend (Server.WatchBody.Web): AdminAuthService — PBKDF2
(pbkdf2$100000$salt$hash) → in-memory Bearer-сессии TTL 8 ч
(Admin.Login пуст → консоль отключена); 6 контроллеров /api/admin/*:
login/logout; атлеты (создание — ключ wb-… возвращается один раз,
смена ключа, блокировка → 401 на /api/v1); тренировки всех атлетов
(фильтры/пагинация, карточка план/факт + таймлайн Lap/пульс +
пульсограмма ≤600 точек), CSV (;/BOM, tech-req 2.4); программы
(версии/body, активация draft, применение rules-предложения через
author=admin-копию — неизменяемость версий); метрики (+weekly
ISO-агрегат); план/факт (PlanSummaryService: недели от понедельника
создания active-версии, performed — только плановые дни).

Errata m02: ApiKeyMiddleware сужен до /api/v1/* (перехватывал статику);
Kit.Routes — роут на блок AddController (NeedHttpPost_All не чейнится).

Flutter Web UI (3-app\3-web\admin-web, SDK 3.47.7): Material 3 тёмная
тема, NavigationRail, 6 экранов, токен sessionStorage, 401 → логин,
CSV через Bearer+Blob, графики CustomPaint; без внешних pub-пакетов;
build.ps1 → wwwroot\admin (сборка в .gitignore — артефакт).

Тесты: Web 105/105 (m08 — 7), Core 56/56; flutter analyze 0
ошибок/варнингов; HTTP-смок хостинга/логина пройден. Эксплуатационные
файлы в коммит не включены.
2026-10-19 01:31:45 +05:00
..
m01-server-db Этап 7: итерации 1–2 — m01–m05 серверной части + обе волны ревью 2026-10-18 (З-35…З-42) 2026-10-18 20:11:40 +05:00
m02-rest-api Этап 7: итерации 1–2 — m01–m05 серверной части + обе волны ревью 2026-10-18 (З-35…З-42) 2026-10-18 20:11:40 +05:00
m03-program-store Этап 7: итерации 1–2 — m01–m05 серверной части + обе волны ревью 2026-10-18 (З-35…З-42) 2026-10-18 20:11:40 +05:00
m04-metrics-engine Этап 7: итерации 1–2 — m01–m05 серверной части + обе волны ревью 2026-10-18 (З-35…З-42) 2026-10-18 20:11:40 +05:00
m05-progression-rules Этап 7: итерации 1–2 — m01–m05 серверной части + обе волны ревью 2026-10-18 (З-35…З-42) 2026-10-18 20:11:40 +05:00
m06-fit-import Этап 7, итерация 2 завершена: m06-fit-import + m07-fit-fetch 2026-10-18 23:58:53 +05:00
m07-fit-fetch Этап 7, итерация 2 завершена: m06-fit-import + m07-fit-fetch 2026-10-18 23:58:53 +05:00
m08-admin-web Этап 7, итерация 3 завершена: m08-admin-web (консоль владельца) 2026-10-19 01:31:45 +05:00
.gitkeep Шаг 1: vision v1.0 утверждён; шаг 2: рабочая область (структура, .gitignore, readme системы), план проекта 2026-10-17 18:00:38 +05:00