Files
LevelRep/offene-fragen.md
T
2026-08-25 11:04:37 +02:00

480 lines
17 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# LevelRep – offene Fragen & Antworten
> Stand: 24.08.2026 · aus `idee.md` & `progress.md` abgeleitet
> Jeder Themenblock hat: **Frage(n)** + **Antwort-Empfehlung(en)**. Antworten mit
> ✅ = Vorschlag / Defaults zum Übernehmen; ⚠️ = bewusste offene Entscheidung;
> 💬 = Diskussionspunkt.
>
> Diese Datei dient als lebendiges Decision-Memo: Antworten können später in
> `idee.md` / `progress.md` zurückfließen und hier gelöscht werden.
---
## 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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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. ü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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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?
### Antwort-Empfehlungen
* ✅ **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)
**Keine festen Zeitangaben — Entwicklung nach Meilensteinen.**
**M1 – App-Grundgerüst**
* 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