offene-fragen.md aktualisiert

This commit is contained in:
Mexx committed 2026-08-25 11:04:37 +02:00
1 parent 92717ef7bd
commit 3e9877cbe9
1 file changed
+376 -162
+376 -162
View File
@@ -13,253 +13,467 @@
## 1. Level- & EXP-System (größte offene Lücke)
### Fragen
- Wie genau wird **EXP** vergeben? Pro Wiederholung, pro Satz, pro Einheit, pro Übung?
- Wie viel EXP erhält eine bestandenene Einheit — pro Tier unterschiedlich?
- Bonus-EXP für saubere Ausführung, vollständige Sätze, Max-Rep?
- EXP bei Nichtbestehen — Trost-EXP oder 0?
- Level bei Tier-Wechsel: erhalten, relativ (%) oder absolut?
- Level-Cap pro Tier?
- Skaliert EXP mit Tier?
* Wie genau wird **EXP** vergeben? Pro Wiederholung, pro Satz, pro Einheit, pro Übung?
* Wie viel EXP erhält eine bestandenene Einheit — pro Tier unterschiedlich?
* Bonus-EXP für saubere Ausführung, vollständige Sätze, Max-Rep?
* EXP bei Nichtbestehen — Trost-EXP oder 0?
* Level bei Tier-Wechsel: erhalten, relativ (%) oder absolut?
* Level-Cap pro Tier?
* Skaliert EXP mit Tier?
### Antwort-Empfehlungen
- ✅ pro ausgeführter wiederholung gibt es exp
- keine multiplikatoren für höhrere tiers - höhere tiers brauchen aber mehr exp pro aufstieg
- Max-Rep gibt mehr exp als satzwiederholungen
- ✅ bonus gibt es entsprechend dem tier wenn ein satz vollständig beendet wurde
- ✅ keine trost-exp
- ✅ jedes tier beginnt bei lv 0
- ✅ jedes tier hat lv-cap
- ✅ **Level-Cap pro Tier**: Beginner 25, Fortgeschritten 50, Pro ∞
- ⚠️ selbe menge exp pro tier nur die aufstiege brauchen mehr exp pro level
* ✅ **Normale Wiederholung = 1 EXP**
* ✅ **Max-Rep-Wiederholung = 2 EXP**
* ✅ Bonus für einen vollständig abgeschlossenen Satz:
* Beginner: `+5 EXP`
* Fortgeschritten: `+10 EXP`
* Pro: `+15 EXP`
* ✅ Auch bei einer nicht bestandenen Einheit bleiben die EXP der tatsächlich ausgeführten Wiederholungen erhalten.
* ✅ Bei einer nicht bestandenen Einheit gibt es **keine Abschluss-EXP**.
* ✅ Die Einheit zählt bei Nichtbestehen nicht als Fortschritt und muss erneut absolviert werden.
* ✅ Jedes Tier beginnt bei **Level 0**.
* ✅ **Level-Cap pro Tier**: Beginner 25, Fortgeschritten 50, Pro ∞
* ✅ EXP pro Wiederholung bleibt in allen Tiers gleich.
* ✅ Höhere Tiers benötigen mehr EXP pro Levelaufstieg.
* ⚠️ Konkrete EXP-Kurve / benötigte EXP pro Level noch offen.
## 2. Tier-System & Tier-Wechsel
### Fragen
- Wie wird das Tier bestimmt? (automatisch oder manuell)
- Wann wird Aufstieg freigeschaltet? (EXP-Schwelle, Einheiten, Max-Rep, …)
- Kann ein Tier übersprungen werden?
- Ist „Pro" Endgame oder gibt es „Pro+"?
- Wie wird Tier-Wechsel sichtbar gemacht?
* Wie wird das Tier bestimmt? (automatisch oder manuell)
* Wann wird Aufstieg freigeschaltet? (EXP-Schwelle, Einheiten, Max-Rep, …)
* Kann ein Tier übersprungen werden?
* Ist „Pro" Endgame oder gibt es „Pro+"?
* Wie wird Tier-Wechsel sichtbar gemacht?
### Antwort-Empfehlungen
- ✅ **Manuelle Wahl** mit Empfehlung: App schlägt Tier basierend auf `Aktivitätslevel` + erstem Kalibrierungs-Ergebnis vor, User bestätigt oder ändert - ok
- ✅ **Freischaltung**: Tier-Aufstieg wird freigeschaltet wenn
* ✅ **Manuelle Wahl mit Empfehlung**: App schlägt Tier basierend auf `Aktivitätslevel` + Kalibrierung / erster Bewegungserfassung vor, User bestätigt oder ändert.
* ✅ Tier-Reihenfolge: **Beginner → Fortgeschritten → Pro**
* ✅ **Freischaltung**: Tier-Aufstieg wird freigeschaltet wenn
1. alle 13 Einheiten des aktuellen Tiers bestanden UND
2. Level-Cap des aktuellen Tiers erreicht UND
3. Max-Rep bei mind. 3 der letzten 5 Einheiten über Schwellwert (Tier-spezifisch)
- ✅ **Kein Überspringen** (verhindert Überforderung, klare Progressions-Linie)
- ✅ **„Pro" = Endgame für v1.0**. Spätere Erweiterung als Tier 4 ("Pro+" / "Elite") in v2.x — nicht im MVP
- ✅ **Tier-Wechsel-Anzeige**: Popup + Animation + Farbwechsel der Übungs-Karte (sanfter Übergang von Rot → Orange → tieferes Rot für Liegestütze z. B.)
- 💬 Schwellwert für Max-Rep-Freischaltung: Vorschlag `Max-Rep ≥ 1.5 × Beginner-Last der gleichen Einheit`. Beispiel Kniebeugen Einheit 1 Pro: 20, Schwelle = 30 Wiederholungen.
3. übungsspezifischer Max-Rep-Zielwert bei mind. 3 der letzten 5 Einheiten erreicht wurde.
* ✅ **Kein Überspringen** von Tiers.
* ✅ **„Pro" = Endgame für v1.0**.
* ✅ Tier-Wechsel erfolgt **nicht automatisch**.
* ✅ App zeigt **„Tier-Up verfügbar“**, User entscheidet selbst über den Wechsel.
* ✅ Max-Rep-Zielwerte werden pro Übung und Tier separat definiert.
* ⚠️ Konkrete Max-Rep-Zielwerte pro Übung / Tier noch offen.
* ⚠️ Konkrete visuelle Darstellung des Tier-Ups noch offen.
## 3. Kalibrierung
### Fragen
- Was genau misst der Gyrosensor? (Amplitude, Beschleunigungsspitzen, Winkel, Kombi)
- Wie viele Referenzwiederholungen für saubere Kalibrierung?
- Re-Kalibrierung wann möglich?
- Verhalten bei Fehlschlag der Kalibrierung?
- Mehrere Kalibrierungen pro Profil/Übung speichern?
- Kalibrierung pro Übung oder pro Bewegungsrichtung?
* Was genau misst der Gyrosensor? (Amplitude, Beschleunigungsspitzen, Winkel, Kombi)
* Wie viele Referenzwiederholungen für saubere Kalibrierung?
* Re-Kalibrierung wann möglich?
* Verhalten bei Fehlschlag der Kalibrierung?
* Mehrere Kalibrierungen pro Profil/Übung speichern?
* Kalibrierung pro Übung oder pro Bewegungsrichtung?
### Antwort-Empfehlungen
- ✅ **Sensorik-Kombi**: Accelerometer (Beschleunigungs-Threshold pro Wiederholung) + Gyroskop (Winkel-Extrempunkte)
- ✅ **5 Referenzwiederholungen** als Standard, keine skip-optionen fürs kalibrieren
- ✅ **Re-Kalibrierung manuell** jederzeit möglich (Settings → Übung → neu kalibrieren). **Auto-Re-Kalibrierung** wenn Bewegungserkennung an 2 aufeinanderfolgenden Trainingseinheiten schlechter als 70 % Confidence.
- ✅ **Fehlschlag-Handling**: UI zeigt konkrete Anweisungen ("Smartphone zu locker", "zu langsam", "Winkel zu klein") + Re-Try-Button
- ⚠️ **Eine Kalibrierung pro Übung pro Profil** für v1.0 (vereinfacht DB-Schema). Mehrere Kalibrierungen (Tagesform) v2.x.
- ✅ **Pro Übung, eine Hauptkalibrierung**. Varianten (enge/breite Liegestütze) sind **eigene Übungen**.
* ✅ **Sensorik-Kombi**: Accelerometer + Gyroskop.
* ✅ **5 Referenzwiederholungen** als Standard, keine Skip-Option fürs Kalibrieren.
* ✅ Beim ersten Öffnen einer noch nicht kalibrierten Übung ist die Kalibrierung verpflichtend.
* ✅ Ablauf:
1. korrekte Smartphone-Position anzeigen
2. 5 saubere Wiederholungen durchführen
3. Sensorwerte / Bewegungsmuster erfassen
4. Bewegungsbereich berechnen
5. Kalibrierung bestätigen
6. lokal speichern
7. Training freigeben
* ✅ **Re-Kalibrierung manuell** jederzeit möglich.
* ✅ Bei dauerhaft schlechter Erkennung empfiehlt die App eine Re-Kalibrierung.
* ✅ Richtwert: 2 Trainingseinheiten hintereinander mit weniger als ca. 70 % Confidence.
* ✅ Keine erzwungene Auto-Re-Kalibrierung.
* ✅ Auswahl bei Empfehlung: **„Neu kalibrieren“ / „Später“**
* ✅ **Fehlschlag-Handling**: UI zeigt konkrete Anweisungen wie „Bewegung zu klein“, „Bewegung zu unregelmäßig“, „Smartphone zu locker“, „Smartphone zu stark bewegt“ oder „Sensorwerte nicht eindeutig“ + erneuter Versuch mit 5 Wiederholungen.
* ✅ **Eine Kalibrierung pro Übung pro Profil** für v1.0.
* ✅ Kalibrierung erfolgt pro Übung.
## 4. Max-Rep
### Fragen
- Zählt Max-Rep in EXP-Vergabe ein?
- Wird er für Statistiken ausgewertet?
- Wiederholungszahl per Sensor oder manuell?
- Limit / Sicherheitsabbruch bei Formeinbruch?
- Anzeige prominent oder versteckt?
* Zählt Max-Rep in EXP-Vergabe ein?
* Wird er für Statistiken ausgewertet?
* Wiederholungszahl per Sensor oder manuell?
* Limit / Sicherheitsabbruch bei Formeinbruch?
* Anzeige prominent oder versteckt?
### Antwort-Empfehlungen
- ✅ **Max-Rep zählt EXP** (siehe §1)
- ✅ **Statistik-Max-Rep**: ja, eigener Chart mit Verlauf + persönlicher Rekord
- ✅ **Sensor-Zählung primär** + manueller Override-Button ("Mehr gemacht? Hier anpassen")
- ✅ **Sicherheitsabbruch**: kein hartes Limit, aber Warnton + Vibrations-Pulse wenn Form-Degradation erkannt wird (Acceleration-Varianz steigt um Faktor 1.5+)
- ✅ **Prominente Anzeige** auf Hauptmenü: "Klimmzüge — Level 6 · Max-Rep 8" (gibt intrinsische Motivation)
* ✅ **Max-Rep zählt EXP**: jede Wiederholung = `2 EXP`.
* ✅ **Statistik-Max-Rep**: eigener Verlauf + persönlicher Rekord.
* ✅ **Sensor-Zählung primär** + manuelle Korrektur über `+1` / `−1`.
* ✅ Kein hartes Limit und kein automatischer Sicherheitsabbruch.
* ✅ Bei deutlich schlechter werdender Bewegungserkennung: Vibrationssignal + visueller Hinweis.
* ✅ **Prominente Anzeige** bei der jeweiligen Übung, z. B. `Klimmzüge — Level 6 · Max-Rep 8`.
* ⚠️ Konkrete Sensor-Schwellwerte für Warnungen werden erst nach Praxistests festgelegt.
## 5. Profile
### Fragen
- Welche Aktivitätslevel-Werte genau?
- Wie viele Profile maximal?
- Avatar / Foto — ja oder nur Text?
- Löschen / Umbenennen möglich?
- Profilwechsel mid-training erlaubt?
- Datenmigration geplant?
- Mehrere Personen auf einem Gerät — Feature oder Risiko?
* Welche Aktivitätslevel-Werte genau?
* Wie viele Profile maximal?
* Avatar / Foto — ja oder nur Text?
* Löschen / Umbenennen möglich?
* Profilwechsel mid-training erlaubt?
* Datenmigration geplant?
* Mehrere Personen auf einem Gerät — Feature oder Risiko?
### Antwort-Empfehlungen
- ✅ **Aktivitätslevel**: 4 Werte — "Anfänger" / "Hobby" (1–2x/Woche) / "Aktiv" (3–4x/Woche) / "Leistungssportler"
- ✅ **Max 8 Profile** pro Gerät (mehr ist selten realistisch; falls doch nötig: Cloud-Sync in v2.x)
- ✅ **Avatar via Emoji-Auswahl** (kein Foto in v1.0 — Privacy + Storage)
- ✅ **Löschen mit Bestätigungs-Dialog** (zwei Mal tippen) · **Umbenennen** jederzeit
- ⚠️ **Profilwechsel mid-training gesperrt** — verhindert versehentlichen Daten-Mix
- ✅ **Datenmigration v1.x**: JSON-Export/Import via Share-Sheet (kein Cloud-Zwang, DSGVO-clean)
- 💬 **Multi-User auf einem Gerät** = bewusstes Feature (Familien-Use-Case), aber **kein Login-Schutz** in v1.0. Wer das braucht: PIN-Sperre optional in v2.x.
* ✅ **Aktivitätslevel**: 4 Werte — „Anfänger“ / „Hobby“ (1–2x/Woche) / „Aktiv“ (3–4x/Woche) / „Leistungssportler“
* ✅ **Keine künstliche Begrenzung** der Profilanzahl.
* ✅ Profil enthält: Name, Größe, Gewicht, Aktivitätslevel und Emoji-Avatar.
* ✅ **Avatar via Emoji-Auswahl**, kein Foto in v1.0.
* ✅ **Löschen mit Bestätigungsdialog** · **Umbenennen** jederzeit.
* ✅ Beim Löschen werden Trainingsdaten, Level, EXP, Statistiken und Kalibrierungen des Profils dauerhaft gelöscht.
* ✅ **Profilwechsel mid-training gesperrt**.
* ✅ **Datenmigration**: JSON-Export/Import.
* ✅ **Multi-User auf einem Gerät** = bewusstes Feature.
* ✅ Kein PIN-/Passwortschutz in v1.0.
## 6. Trainingseinheit & Progression
### Fragen
- Wann genau rückt man eine Einheit vor (Konflikt idee.md ↔ progress.md)?
- Regenerationstage: nur passive Anzeige oder Stretching-Bonusaufgaben?
- Pausen-Timer: nur Countdown oder Sound/Haptik?
- Bewegungserkennung-Fehler: manuelle Korrektur möglich?
- Wann gilt Satz als bestanden? (vollständig oder Mindest-Schwelle)
- Übungs-Reihenfolge: frei oder fixer Tagesplan?
* Wann genau rückt man eine Einheit vor (Konflikt idee.md ↔ progress.md)?
* Regenerationstage: nur passive Anzeige oder Stretching-Bonusaufgaben?
* Pausen-Timer: nur Countdown oder Sound/Haptik?
* Bewegungserkennung-Fehler: manuelle Korrektur möglich?
* Wann gilt Satz als bestanden? (vollständig oder Mindest-Schwelle)
* Übungs-Reihenfolge: frei oder fixer Tagesplan?
### Antwort-Empfehlungen
- ✅ **Nicht bestanden = dieselbe Einheit erneut** (übereinstimmend mit `progress.md`-Logik). Vorrücken erst wenn bestanden.
- ✅ **Regenerationstage**: passive Anzeige + 3 optionale Stretching-Vorschläge (statisch, kein Sensor-Tracking)
- ✅ **Pausen-Timer**: Countdown + dezenter Tick-Ton letzte 5 Sek. + Vibrations-Pulse bei Satzende
- ✅ **Manuelle Korrektur**: "+1" / "−1" Button am Satzende (wenn Sensor-Erkennung danebenlag)
- ✅ **Satz bestanden** = alle Ziel-Wiederholungen erreicht. Bei Sensor-Fehler zählt manuelle Korrektur.
- ✅ **Übungs-Reihenfolge**: frei wählbar pro Trainingstag, aber App **schlägt Reihenfolge** vor (z. B. Klimmzüge zuerst wenn noch am kräftigsten)
* ✅ **Nicht bestanden = dieselbe Einheit erneut**. Vorrücken erst wenn bestanden.
* ✅ **Regenerationstage**: passive Anzeige mit Hinweis `Heute ist Regenerationstag.` + Anzeige der nächsten geplanten Einheit.
* ✅ Restdays sind empfohlen, aber nicht verpflichtend.
* ✅ Button **„Restday skippen“**, um direkt die nächste reguläre Einheit zu starten.
* ✅ **Pausen-Timer**: standardmäßig 60 Sekunden, manuell bis auf 5 Sekunden reduzierbar.
* ✅ Sichtbarer Countdown + Tick / Countdown in den letzten 5 Sekunden + Vibration bei Pausenende.
* ✅ Sounds und Haptik können in den Einstellungen deaktiviert werden.
* ✅ **Manuelle Korrektur**: `+1` / `−1` am Satzende.
* ✅ **Satz bestanden** = alle Ziel-Wiederholungen erreicht.
* ✅ **Einheit bestanden** = alle regulären Sätze vollständig abgeschlossen.
* ✅ **Übungs-Reihenfolge**: frei wählbar, keine Pflichtreihenfolge in v1.0.
## 7. Übungen
### Fragen
- Wann kommt Dips (5. Übung)?
- Neue Übungen über App oder Code-Update?
- Sonderregeln pro Übung (z. B. Plank mit Zeit)?
- Variationen als eigene Übung oder Modifikation?
* Wann kommt Dips (5. Übung)?
* Neue Übungen über App oder Code-Update?
* Sonderregeln pro Übung (z. B. Plank mit Zeit)?
* Variationen als eigene Übung oder Modifikation?
### Antwort-Empfehlungen
- ✅ **Dips: v1.0 mit dabei** (5. Übung, Farbe Cyan/Lila)
- ✅ **v1.x**: neue Übungen per Code-Update (Release-Notes) — **keine User-definierten Übungen** (validierte Progressionstabellen sind nicht trivial)
- ✅ **Sonderregeln pro Übung**: möglich (Plank mit Zeit, Burpees mit Combo-Zähler), aber jede Sonderregel ist eigene Übung mit eigener Progressionstabelle
- ✅ **Variationen = eigene Übung** (z. B. "Enge Liegestütze" separat von "Liegestütze")
- 💬 Langfristig: Community-Übungen in v2.x als opt-in Content-Pack
* ✅ **v1.0**: Liegestütze, Kniebeugen, Klimmzüge, Sit-ups.
* ✅ **Dips ab v1.x** als erste zusätzliche Übung.
* ✅ Neue Übungen per App-/Code-Update.
* ✅ **Keine User-definierten Übungen** in v1.x.
* ⚠️ Sonderregeln wie zeitbasierte Übungen werden später separat betrachtet.
* ✅ **Übungsvariationen bleiben vorerst komplett außen vor**.
* ✅ Keine engen/breiten Varianten, Griffvarianten oder sonstigen Unterformen für v1.0 / v1.x geplant.
## 8. Sensorik / Hardware
### Fragen
- Welche Sensoren genau?
- Smartphone-Mounting-Empfehlung?
- Geräteanforderungen?
- Fallback ohne Sensor?
- Gleich gute Erkennung für alle Übungen?
* Welche Sensoren genau?
* Smartphone-Mounting-Empfehlung?
* Geräteanforderungen?
* Fallback ohne Sensor?
* Gleich gute Erkennung für alle Übungen?
### Antwort-Empfehlungen
- ✅ **Accelerometer + Gyroskop** (Standard in allen modernen Smartphones)
- ✅ **Mounting-Empfehlung**: Brustgurt-Halterung für Klimmzüge/Liegestütze, Oberschenkel-Halterung für Kniebeugen, freiliegend (Boden) für Sit-ups
- ✅ **Geräteanforderungen**: iOS 14+ / Android 8+ mit Gyroskop (Pre-2017 Geräte sind Ausnahme)
- ✅ **Fallback ohne Sensor**: manuelle Wiederholungs-Eingabe per Tap-Button
- 💬 **Klimmzüge sind Sensor-anspruchsvoll** (vertikale hängende Position, viel Bewegung im Schulterbereich). Hier ggf. zusätzlicher Algorithmus mit Winkel-Threshold statt Beschleunigungs-Threshold.
* ✅ **Accelerometer + Gyroskop**.
* ✅ ausschließlich **Android**.
* ✅ **Liegestütze**: Smartphone wird so positioniert, dass die Nase bei jeder vollständigen Wiederholung das Smartphone / Display berührt.
* ✅ **Kniebeugen, Klimmzüge und Sit-ups**: Erkennung über Bewegungs-/Sensordaten.
* ✅ Vor der Kalibrierung zeigt die App ein **Piktogramm / eine Illustration**, wie das Smartphone gehalten bzw. positioniert werden muss.
* ✅ Das gleiche Piktogramm wird auch **vor jedem normalen Training** der jeweiligen Übung angezeigt.
* ✅ Kalibrierung und späteres Training müssen mit derselben Smartphone-Position durchgeführt werden.
* ✅ **Fallback ohne funktionierende Sensorerkennung**: manueller Rep-Counter.
* ⚠️ Exakte Smartphone-Position für Kniebeugen, Klimmzüge und Sit-ups wird durch Praxistests festgelegt.
* ⚠️ Konkrete Erkennungsalgorithmen / Thresholds werden durch Praxistests festgelegt.
* ⚠️ Mindest-Android-Version noch offen.
## 9. UI / UX & Tech-Stack
### Fragen
- Plattform: Native, Flutter, React Native, PWA?
- Offline-First oder Cloud-Sync?
- Notifications / Reminder?
- Sprachen?
- Dark Mode?
- Sounds / Haptik?
* Plattform: Native, Flutter, React Native, PWA?
* Offline-First oder Cloud-Sync?
* Notifications / Reminder?
* Sprachen?
* Dark Mode?
* Sounds / Haptik?
### Antwort-Empfehlungen
- ✅ **Flutter** — eine Codebase für iOS + Android, gute Sensorik-Support, schnelle UI-Iteration
- ✅ **Offline-First** — alle Daten lokal (SQLite), Cloud-Sync optional in v2.x
- ✅ **Notifications** für Trainingstage (Tag vorher + am Tag selbst) + Regenerations-Reminder (optional)
- ✅ **Sprachen v1.0**: Deutsch + Englisch (Struktur für einfache i18n-Erweiterung)
- ✅ **Dark Mode** mit System-Follow
- ✅ **Sounds + Haptik** für Satzwechsel, Tier-Up, Bestleistung (alles in Settings einzeln deaktivierbar)
* ✅ **Flutter / Dart**
* ✅ ausschließlich **Android**
* ✅ **vollständig lokal / Offline-First**
* ✅ kein Backend, keine Cloud, keine Accounts und keine Online-API-Abhängigkeiten.
* ✅ **Sprache v1.0: nur Deutsch**
* ✅ Theme folgt standardmäßig dem System.
* ✅ Nutzer kann optional **Hell** oder **Dunkel** erzwingen.
* ✅ **Täglicher lokaler Trainings-Reminder**, Uhrzeit wird vom User selbst festgelegt.
* ✅ Kurzes dezentes **„Bing“** nach jeder erfolgreich erkannten Wiederholung.
* ✅ Tick / Countdown in den letzten 5 Sekunden der Pause + Vibration bei Pausenende.
* ✅ Sounds und Haptik deaktivierbar.
* ✅ **Font Awesome Free** für allgemeine UI-Icons (`font_awesome_flutter`).
* ✅ Eigene lokale Piktogramme für Smartphone-Haltung / spezielle Trainingsanzeigen.
* ✅ Icons, Sounds, Bilder und sonstige Assets werden lokal mit der App ausgeliefert.
* ✅ Keine Assets werden online nachgeladen.
* ✅ **State Management:** Riverpod
* ✅ **Navigation:** go_router
* ✅ **Lokale Datenbank:** Drift + SQLite
* ✅ **Sensorzugriff:** sensors_plus
* ✅ **Lokale Notifications:** flutter_local_notifications
* ✅ **Sounds:** audioplayers
## 10. Daten & Persistenz
### Fragen
- Speicher: lokal (SQLite/JSON/Core Data) oder Cloud?
- Backup-Strategie?
- DSGVO / Datenschutz?
- Datenformat für späteren Umzug?
* Speicher: lokal (SQLite/JSON/Core Data) oder Cloud?
* Backup-Strategie?
* DSGVO / Datenschutz?
* Datenformat für späteren Umzug?
### Antwort-Empfehlungen
- ✅ **SQLite** lokal (Flutter-Default, performant für 8 Profile × 5 Übungen × 13 Einheiten × 4 Sätze × Reps + Verlauf)
- ✅ **Backup**: JSON-Export/Import manuell + Auto-Backup alle 7 Tage in App-internen Storage
- ✅ **DSGVO**: alle Daten lokal, keine Telemetrie, keine User-IDs, kein Cloud. Privacy-Policy in App.
- ✅ **Datenformat**: SQLite-Schema dokumentiert + JSON-Export mit Schema-Version. Migration bei Major-Updates mit Schema-Validator.
* ✅ **Drift + SQLite** für lokale Trainings- und Profildaten.
* ✅ Nutzerdaten werden strikt von App-Inhalten / Assets getrennt gespeichert.
* ✅ User-Datenbank enthält u. a. Profile, Level, EXP, Tier, Trainingsfortschritt, Einheiten, Sätze, Wiederholungen, Max-Reps, Rekorde, Kalibrierungsdaten und Trainingshistorie.
* ✅ App-Inhalte wie Übungen, Trainingspläne, Icons, Piktogramme und Sounds liegen davon getrennt.
* ✅ App-Updates oder neue Übungen dürfen bestehende Nutzerdaten **niemals löschen oder überschreiben**.
* ✅ Datenbankänderungen erfolgen ausschließlich über **Schema-Versionen + Migrationen**.
* ✅ **Backup**: manueller JSON-Export / Import.
* ✅ Export enthält eine Schema-Version für spätere Migrationen.
* ✅ Kein automatisches Cloud-Backup.
* ✅ Kleine Einstellungen wie Theme, Sound, Vibration, Reminder-Uhrzeit und Satzpause werden separat lokal gespeichert.
* ✅ **DSGVO / Datenschutz**: keine Accounts, keine Cloud, keine Telemetrie, keine Analytics, keine Trainingsdaten verlassen das Gerät.
## 11. Statistiken & Feedback
### Fragen
- Verlaufschart pro Übung?
- Persönliche Bestleistungen?
- Wochen-/Monatsstatistik?
- Streak-Tracking?
* Verlaufschart pro Übung?
* Persönliche Bestleistungen?
* Wochen-/Monatsstatistik?
* Streak-Tracking?
### Antwort-Empfehlungen
- ✅ **Verlaufschart pro Übung** — Trainingslast (Sätze × Reps) über die letzten 30 Einheiten
- ✅ **Persönliche Bestleistungen** je Übung + Max-Rep-Rekord separat
- ✅ **Wochenstatistik** prominent (diese Woche: 4/4 Trainings absolviert, 480 EXP, Tier-Up in 320 EXP)
- ✅ **Streak-Tracking** (aktuelle Serie, längste Serie) — motivierender gamification-light Touch
* ✅ **Statistiken pro Übung**:
* aktuelles Level
* aktuelles Tier
* aktuelle EXP / Fortschritt zum nächsten Level
* letzter Max-Rep
* persönlicher Max-Rep-Rekord
* Max-Rep-Verlauf
* absolvierte Einheiten
* Gesamtwiederholungen
* Trainingsvolumen
* ✅ **Verlaufscharts pro Übung**, standardmäßig über die letzten 30 Einheiten.
* ✅ Chart-Ansichten: Wiederholungen, Gesamtvolumen, Max-Rep, EXP-Verlauf.
* ✅ **Wochenstatistik**: absolvierte Trainings, gesamte Wiederholungen, verdiente EXP, neue Rekorde und ggf. geskippte Restdays.
* ✅ **Streak-Tracking** basiert auf geplanten Trainingseinheiten, nicht auf Kalendertagen.
* ✅ Restday unterbricht Streak nicht.
* ✅ Restday skippen + Training unterbricht Streak nicht.
* ✅ Geplanten Trainingstag auslassen beendet die Streak.
* ✅ Persönliche Rekorde mindestens für höchsten Max-Rep, höchste Wiederholungszahl in einer Einheit, Gesamtwiederholungen und längste Trainings-Streak.
## 12. Soziale / Gamification-Features (offen)
### Fragen
- Achievements / Badges?
- Tagesziel / Wochenziel außerhalb 30-Tage-Plan?
- Freund:innen / Leaderboard?
- Trainings-Tagebuch / Notizen?
* Achievements / Badges?
* Tagesziel / Wochenziel außerhalb 30-Tage-Plan?
* Freund:innen / Leaderboard?
* Trainings-Tagebuch / Notizen?
### Antwort-Empfehlungen
- ⚠️ **Achievements**: kleine Badges für "Erste Einheit bestanden", "7-Tage-Streak", "Tier-Up", "Alle 4 Übungen getestet" — kosmetisch, kein Pay-to-Win
- ⚠️ **Wochenziel** optional: vom User setzbar ("3x diese Woche"), App erinnert wenn Plan abweicht
- ❌ **Leaderboard/Freund:innen**: out-of-scope für v1.0 (Privacy, Server-Kosten)
- ✅ **Trainings-Tagebuch**: einfache Notiz pro Einheit (max 280 Zeichen), optional
* ✅ **Achievements / Badges in v1.0**.
* ✅ Achievements sind rein kosmetisch und geben keine zusätzlichen EXP.
* ✅ Beispiele:
* erste Einheit abgeschlossen
* 100 Wiederholungen
* 1.000 Wiederholungen
* erster Max-Rep
* neuer Max-Rep-Rekord
* Level 10 erreicht
* Beginner abgeschlossen
* erstes Tier-Up
* 5er-Streak
* 10er-Streak
* 25er-Streak
* alle vier Übungen trainiert
* 10 Restdays geskippt
* ✅ **Persönliches Wochenziel** in v1.0, z. B. `3 Trainingseinheiten diese Woche`.
* ❌ **Freunde / Leaderboards / soziale Online-Features** nicht in v1.0.
* ✅ **Trainings-Tagebuch** auf v1.x verschoben.
* ⚠️ Freunde, Leaderboards oder Challenges werden nur später neu bewertet, falls LevelRep überhaupt Online-Funktionen erhält.
## 13. Fehler- & Edge-Cases
### Fragen
- App-Crash mid-Einheit — teilweise bestanden speichern?
- Sensor-Ausfall mid-workout?
- Akku leer im Max-Rep?
- Gerät neu kalibriert nötig mid-workout?
* App-Crash mid-Einheit — teilweise bestanden speichern?
* Sensor-Ausfall mid-workout?
* Akku leer im Max-Rep?
* Gerät neu kalibriert nötig mid-workout?
### Antwort-Empfehlungen
- ✅ **Auto-Save nach jedem Satz** (in SQLite). Bei Crash: vorherige Sätze bleiben, aktueller Satz verloren (User kann manuell nachtragen oder wiederholen)
- ✅ **Sensor-Ausfall**: App bietet manuellen Tap-Counter an, Training läuft normal weiter
- ✅ **Akku-Safe-Mode**: bei <15 % Akku optional Training ohne Sensor + Vibration-only Timer
- ✅ **Re-Kalibrierung mid-workout**: App pausiert aktuelle Einheit, fordert Re-Kalibrierung, setzt Einheit fort (verlorene Sätze zählen nicht als bestanden — Einheit muss wiederholt werden wenn Re-Kalibrierung mitten in Einheit)
* ✅ **Auto-Save nach jedem abgeschlossenen Satz**.
* ✅ Bei Crash / unerwartetem Schließen bleiben alle abgeschlossenen Sätze erhalten.
* ✅ Der aktuell laufende Satz gilt als nicht abgeschlossen.
* ✅ Beim Neustart erscheint **„Training fortsetzen?“**
* ✅ **Sensor-Ausfall**: Training wird nicht abgebrochen; App informiert den User und wechselt auf manuellen Rep-Counter.
* ✅ Bereits abgeschlossene Sätze bleiben bei Sensor-Ausfall erhalten.
* ✅ **Akku-Warnung** bei niedrigem Akkustand, Richtwert `<15 %`.
* ✅ Auswahl: normal weitertrainieren oder auf manuellen Rep-Counter wechseln.
* ✅ Kein automatisches Umschalten.
* ✅ **Re-Kalibrierung mid-workout**: bereits abgeschlossene Sätze bleiben gültig.
* ✅ Nur der aktuelle Satz wird pausiert / verworfen.
* ✅ Nach Re-Kalibrierung wird nur der aktuelle Satz erneut gestartet.
* ✅ Beim absichtlichen Verlassen eines laufenden Trainings erscheint:
* „Training fortsetzen“
* „Training speichern & verlassen“
* „Training verwerfen“
## 14. Roadmap-Reihenfolge (Priorisierung offen)
### Antwort-Empfehlung (vorgeschlagene Roadmap)
**v1.0 (MVP) — ~3 Monate**
- 4 Übungen (Liegestütze, Kniebeugen, Klimmzüge, Sit-ups) + Dips
- 3 Tiers mit existierenden Progressionstabellen
- 1 Profil pro Gerät (max 8 Profile, optional wechseln)
- Kalibrierung mit Sensor + manuellem Fallback
- 30-Tage-Trainingsplan mit Regenerationstagen
- Max-Rep optional nach letzter Einheit
- SQLite-Speicher, JSON-Export
- Deutsch + Englisch, Dark Mode
- Offline-First
**Keine festen Zeitangaben — Entwicklung nach Meilensteinen.**
**v1.x (3–6 Monate nach MVP)**
- Achievements / Badges
- Wochenziel-Feature
- Trainings-Tagebuch
- iCloud/Google-Drive Backup-Integration
**M1 – App-Grundgerüst**
**v2.0 (12+ Monate)**
- Multi-User Cloud-Sync mit Account-System
- Community-Übungen
- Übungs-Varianten pro User
- Apple-Watch / Wear-OS Companion
* Flutter-Projekt
* Profile
* Navigation
* lokale Datenbank
* Theme
* lokale Einstellungen
* Grunddesign
**M2 – erste komplette Übung**
* Liegestütze vollständig umsetzen
* Smartphone-Anleitung / Piktogramm
* Kalibrierung
* Wiederholungserkennung
* Trainingsanzeige
* Satzsystem
* Pausentimer
* Max-Rep
* Trainingsabschluss
* lokale Speicherung
**M3 – Trainingssystem**
* Tiers
* 30-Tage-Progression
* Restdays
* Restday skippen
* Max-Rep
* EXP
* Level
* Tier-Up
**M4 – alle vier Übungen**
* Liegestütze
* Kniebeugen
* Klimmzüge
* Sit-ups
* Sensorlogik
* Kalibrierung
* Piktogramme zur Smartphone-Position
**M5 – Gamification & Statistik**
* Levelanzeige
* EXP-Fortschritt
* Streaks
* Achievements
* Wochenziele
* Rekorde
* Max-Rep-Verlauf
* Statistiken
* Charts
**M6 – Stabilisierung**
* Crash-Verhalten
* Sensor-Fallback
* Akku-Warnung
* Datenbank-Migrationen
* JSON-Export / Import
* Praxistests
* Sensor-Feintuning
* UI-/UX-Feinschliff
**M7 – v1.0 Release**
* 4 Kernübungen
* vollständiges lokales Trainingssystem
* Level- und Tier-System
* Sensorik / Kalibrierung
* Statistiken / Gamification
* Offline-Datenhaltung
**v1.x**
* Dips
* weitere Übungen
* Trainings-Tagebuch
* weitere Achievements
* verbesserte Statistiken
* Sensor-Feintuning
* UI-Verbesserungen
* bessere lokale Backup-Funktionen
**Vorerst nicht eingeplant**
* Cloud
* Account-System
* Freunde
* Leaderboards
* Online-Challenges
* Community-Übungen
* Übungsvariationen
* Wearables
* iOS
---
## Meta
- Diese Datei lebt im Repo und wird mit jeder neuen Entscheidung kürzer.
- Vorschlag: nach jeder Klärung die Antwort **direkt im Repo** dokumentieren (oder in `idee.md` / `progress.md` einpflegen) und den Eintrag hier löschen bzw. mit Verweis stehen lassen.
- ✅ = Vorschlag zum Übernehmen · ⚠️ = Diskussionspunkt · ❌ = bewusst raus · 💬 = freier Kommentar
* Diese Datei lebt im Repo und wird mit jeder neuen Entscheidung kürzer.
* Vorschlag: nach jeder Klärung die Antwort **direkt im Repo** dokumentieren (oder in `idee.md` / `progress.md` einpflegen) und den Eintrag hier löschen bzw. mit Verweis stehen lassen.
* ✅ = Vorschlag zum Übernehmen · ⚠️ = Diskussionspunkt · ❌ = bewusst raus · 💬 = freier Kommentar