# REKORD Selbstgehosteter Trainings-Tracker für Gym, Laufen und Radfahren. Läuft im Browser, speichert auf deinem Server, gehört dir. Eine SQLite-Datei als Zustand, ein Python-Backend aus der Standardbibliothek, ein HTML/CSS/JS-Frontend ohne Framework. Kein Cloud-Konto, keine Telemetrie. ## Was es kann ![Ansicht der App](assets/screenshot.png) **Training** - Gym mit Push/Pull/Legs (anpassbar), dazu Laufen und Radfahren - Gewicht und Wiederholungen eintragen, Sätze abhaken, auf den letzten Stand zurücksetzen - Reihenfolge der Übungen selbst festlegen, spontan eine Übung ergänzen - Zu jeder Übung eine kurze Erklärung **Verlauf & Statistik** - Sessions starten und abschließen, mehrere pro Tag - Verlauf zum Nachschauen, Ändern und Löschen - als Liste oder Woche - Fortschritt je Übung: bestes Gewicht und Entwicklung seit dem ersten Mal **Einstellungen** - Deutsch oder Englisch - Dunkel, System oder Hell, dazu ein OLED-Schwarz - Akzentfarbe, Gewichtseinheit kg/lb, Startansicht - Gilt auf allen Geräten **Mehrere Benutzer** - Eigene Konten mit Passwort, getrennte Daten - Der erste Benutzer ist Administrator **Daten** - Backup als JSON oder CSV, jederzeit wieder einspielbar - Beispiel-Verlauf zum Ausprobieren ## Starten Python (nur Standardbibliothek): ```bash python3 server.py 8080 ``` Oder Docker: ```bash docker compose up -d ``` Danach im Browser: `http://:8080/`. Beim ersten Start führt ein kurzer Wizard durch Sprache, Einzel- oder Mehrbenutzermodus und Darstellung. ## Plan anpassen Übungen, Sätze, Gewichte und Erklärungen stehen in `config.json` - ohne Code-Eingriff. Schema: [TECH.md](TECH.md). ## Daten - Alles liegt in `data/state.db` (SQLite) - backupbar, überlebt Neustart und Container-Rebuild - Datenverzeichnis per `TRAINING_STATE_DIR` frei wählbar - Keine externen Dienste, keine Telemetrie ## Mehr - [TECH.md](TECH.md) - Architektur, API, Datenmodell - [DESIGN.md](DESIGN.md) - Design-Sprache (Tokens, Komponenten, Anti-Patterns) - [ROADMAP.md](ROADMAP.md) - geplante Erweiterungen ## Lizenz AGPL-3.0. Siehe `LICENSE`.