- Automatisiertes Tool, das Strava-Aktivitäten über die Strava API abruft.
- Analyse der Daten anhand eines Superkompensations-/Banister-Modells.
- Ausgabe einer Trainingsempfehlung („Pause“, „Locker“, „Hart“).
-
Strava API-Anbindung
- OAuth2 Login/Token Refresh
- Abruf von Aktivitäten (Datum, Dauer, Distanz, Durchschnitts-HF, Relative Effort, TSS falls verfügbar)
-
Datenspeicherung
- Lokale SQLite/PostgreSQL DB (je nach Anspruch)
- Tabellen:
activities,metrics,model_state
-
Superkompensationsmodell
- Implementierung eines einfachen Impulse-Response Modells (Banister)
- Parameter: Fitness, Fatigue, Form
- Anpassbare Konstanten (k1, k2, decay rates)
-
Auswertung & Empfehlung
- Täglicher Status:
- Fatigue hoch → Pause
- Superkompensation → Harte Einheit
- Neutral → Locker
- Ausgabe: CLI / einfache HTML Seite / JSON API
- Täglicher Status:
- Einbindung von HRV & Schlafdaten (z. B. Garmin, Oura API).
- Visualisierung (Matplotlib/Plotly Dash).
- Automatische Push-Benachrichtigung (Telegram Bot, E-Mail).
- Anpassbares Modell pro Nutzer (Machine Learning).
-
Programmiersprache: Python 3.10+
-
Libraries (Basis):
requests(API Calls)pandas(Datenhandling)sqlalchemyodersqlite3(Datenbank)matplotliboderplotly(Visualisierung, optional)fastapi(falls Web-API gewünscht)
-
Deployment
- Lokal ausführbar (Mac/Linux)
- Optional Docker-Container für Serverbetrieb
- Erweiterbar: Modellparameter und Datenquellen leicht anpassbar
- Reproduzierbar: Daten + Berechnungen nachvollziehbar speichern
- Datensicherheit: Strava OAuth Tokens sicher speichern (z. B.
.envoder Secret Store) - Performance: Abruf und Berechnung < 10 Sekunden pro Lauf
- Python Package/Projektstruktur
- Datenbank mit Aktivitäts-Historie
- Skript zum Abrufen & Aktualisieren
- Analyse-Modul (Superkompensation)
- Erste CLI-Ausgabe (Textempfehlung)