Persönlicher Kraft-/Trainings-Tracker + 12-Wochen-Trainingsplan (FastAPI/Nix flake)
- HTML 53.5%
- Python 39.6%
- Nix 3.9%
- JavaScript 3%
CACHE hiess seit jeher 'sport-v1' — der Kommentar verlangte ein Hochzaehlen bei jedem Deploy, der die Shell aendert, was nie passiert ist. Alte Caches wurden dadurch nie evicted (activate loescht nur Caches mit anderem Namen). Statt einer handgepflegten Konstante substituiert der /sw.js-Handler jetzt __SHELL_VERSION__ durch einen Hash ueber die Shell-Dateien (index.html, manifest, icon, sw.js). Der Cache-Name aendert sich damit exakt dann, wenn sich die Shell aendert — und bleibt sonst stabil, bustet also nicht bei jedem Request. Vendor-Assets bleiben aussen vor: die sind per Nix schon content-gehasht und werden vom Worker als immutable behandelt. Verifiziert gegen eine Asset-Sandkopie: Platzhalter wird ersetzt, Version ist ueber Requests stabil und aendert sich nach einer index.html-Aenderung. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com> |
||
|---|---|---|
| .gitignore | ||
| .mcp.json | ||
| AGENTS.md | ||
| app.py | ||
| CLAUDE.md | ||
| exercises_guide.json | ||
| flake.lock | ||
| flake.nix | ||
| icon.svg | ||
| index.html | ||
| manifest.webmanifest | ||
| mcp.py | ||
| opencode.json | ||
| PLAN.md | ||
| README.md | ||
| schema.sql | ||
| sw.js | ||
sport
Persönlicher Kraft-/Trainings-Tracker und 12-Wochen-Trainingsplan.
- PLAN.md — der komplette Trainingsplan (Oberkörper-Kraft, 12 Wochen) inkl. begleitendem App-Fahrplan.
App (in Arbeit)
Eigenständiger FastAPI-Service als Nix-Flake, der Krafttraining loggt (eigene
schreibbare sport.db) und später per MCP gemeinsam mit Garmin-Erholungsdaten
ausgewertet werden kann. Nachbar/Vorbild: garmy-dashboard.
Geplant: nix run lokal, Deploy als NixOS-Service (Host sgx, nginx + HTTPS),
referenziert aus nixcfg via git+https://git.hoyer.xyz/harald/sport.git.
Schnellstart (lokal)
nix run # startet den Server auf http://127.0.0.1:4199
# oder zum Entwickeln mit Auto-Reload:
nix develop -c env SPORT_ASSETS=. uvicorn app:app --reload --port 4199
Daten landen in sport.db (Env SPORT_DB, Default $PWD/sport.db).
API-Doku unter /api/docs.
Status
- Trainingsplan (
PLAN.md) - flake.nix + FastAPI-Skelett (
nix run) sport.db-Schema (exercises/workouts/sets) + A/B-Seed- Log-Endpoints + Training-Tab (Frontend) — v0.1
- Progression-Vorschlag aus letztem Satz + Verlaufsdetails (v0.2)
- NixOS-Deploy (Host
sgx, nginx + HTTPS) (v0.4) - MCP-Endpoint für Auswertung (v0.5)