a1354013-alt/fitness-plateau-detector

GitHub: a1354013-alt/fitness-plateau-detector

全栈体重停滞检测系统,利用规则逻辑识别平台期并提供可视化洞察与建议。

Stars: 0 | Forks: 0

# PlateauBreaker PlateauBreaker 是一個「體重停滯(plateau)偵測 + 建議」的小型全端作品: - Backend: FastAPI + SQLModel + Alembic + SQLite(DB-level CHECK constraints) - Frontend: Vue 3 + Vite + Pinia + PrimeVue - Contract: OpenAPI 匯出後由 `openapi-typescript` 生成 `frontend/src/generated/api.ts`,CI 會檢查 drift ## 截图 ![Dashboard](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/592aa06571125230.png) ![Records](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/b77a4f8c5c125236.png) ![Analysis](https://static.pigsec.cn/wp-content/uploads/repos/2026/04/77f092954d125243.png) ## 要求 - Python: 3.11(CI 使用 3.11) - Node: 20.19.0(由 repo root `.nvmrc` 固定;`frontend/.npmrc` 啟用 `engine-strict`) ## 快速开始 ### 后端 ``` cd backend python -m venv .venv .\.venv\Scripts\Activate.ps1 python -m pip install -r requirements.txt -c constraints.txt python -m pip install -r requirements-dev.txt -c constraints.txt # 应用迁移 alembic -c alembic.ini upgrade head # 开发服务器 uvicorn app.main:app --reload --host 127.0.0.1 --port 8000 --env-file ../.env ``` ### 前端 ``` cd frontend npm ci npm run dev ``` - Dev server 會 proxy `/api` 到 `http://localhost:8000`(見 `frontend/vite.config.ts`) - 若不使用 proxy(或 production),請設定 `VITE_API_BASE_URL`(見 `frontend/.env.example`) ## Docker(演示) ``` docker compose up --build ``` 打開 `http://localhost:8000`:Backend 會在有 build artifact 時提供 SPA(並處理 history fallback)。 ## CI Parity: Local Verification (與 CI 一致的驗收命令) 以下命令對齊 `.github/workflows/ci.yml`;建議從 repo root 依序執行: ``` # 合约 python scripts/check_version_sync.py python scripts/check_api_contract.py # 后端 cd backend ruff check . mypy app/ pytest -q alembic -c alembic.ini upgrade head # 前端 cd ../frontend npm ci npm run lint npm run test:ci npm run build # 发布打包(冒烟测试) cd .. python scripts/make_release_zip.py --out-dir release python scripts/validate_release_zip.py --out-dir release # 集成冒烟测试(后端提供构建的前端服务) python scripts/smoke_test_ci.py # 端到端(Playwright) cd frontend npx playwright install --with-deps npx playwright test ```
标签:Alembic, AV绕过, Docker, FastAPI, OpenAPI, Pinia, PrimeVue, SEO, SQLite, SQLModel, TypeScript, Vite, Vue 3, 交互仪表板, 代码示例, 体检监测, 体重停滞, 体重管理, 健康追踪, 健身数据, 前后端分离, 安全插件, 安全防御评估, 数据分析, 行动建议, 规则检测