diff --git a/HILFE.md b/HILFE.md index cd3c118..32b955a 100644 --- a/HILFE.md +++ b/HILFE.md @@ -422,4 +422,4 @@ Der Text scrollt **automatisch**, sodass: --- -*Typewriter Trainer v1.2 - Mit ❤️ entwickelt für effektives Tipptraining* +*Typewriter Trainer v0.2.0 - Mit ❤️ entwickelt für effektives Tipptraining* diff --git a/PROJECT_STRUCTURE.md b/PROJECT_STRUCTURE.md index c6e8d02..caa8440 100644 --- a/PROJECT_STRUCTURE.md +++ b/PROJECT_STRUCTURE.md @@ -253,4 +253,4 @@ Alle sensiblen Dateien sind bereits in `.gitignore` aufgelistet. --- **Letzte Aktualisierung**: 2025-10-27 -**Version**: 1.2.0 +**Version**: v0.2.0 _(siehe [VERSION](VERSION) Datei)_ diff --git a/README.md b/README.md index fcbd7bf..674d8c5 100644 --- a/README.md +++ b/README.md @@ -1,5 +1,7 @@ # 🎹 Typewriter Tutor - Adaptiver Tipptrainer +**Version:** v0.2.0 _(siehe [VERSION](VERSION) Datei)_ + Ein moderner, webbasierter Tipptrainer mit **adaptivem Metronom** und umfangreichen Statistiken. Das Programm passt sich automatisch Ihrer Tippgeschwindigkeit an und hilft Ihnen, das Zehnfingerschreiben systematisch zu erlernen. > 💡 **Hinweis:** Dieses Projekt dient auch als Übungsprojekt für das KI-Programmiertool [Aider](https://aider.chat/). @@ -359,7 +361,15 @@ Contributions sind willkommen! Bitte: ## 📝 Changelog -### Version 2.0 (Aktuell) +> **Hinweis:** Die aktuelle Versionsnummer wird zentral in der [VERSION](VERSION) Datei verwaltet. + +### Version 0.2.0 (Aktuell) +- ✅ **Streak-Statistik**: 30-Tage Balkendiagramm mit täglicher Übungszeit +- ✅ **Persistente Einstellungen**: Alle Einstellungen und Lektion werden gespeichert +- ✅ **Session-Ende**: Übersichtsseite mit Statistiken beim Beenden +- ✅ **Auto-Restore**: Beim Neustart werden gespeicherte Einstellungen wiederhergestellt +- ✅ **Shutdown-Funktion**: Programm kann sich selbst beenden +- ✅ **Metronom-Fix**: Läuft jetzt rhythmisch präzise ohne Unterbrechungen - ✅ Adaptives Metronom mit 5 Anpassungsregeln - ✅ Einstellungsseite für Metronom und Anzeige - ✅ CSV/JSON-Export der Statistiken @@ -374,7 +384,7 @@ Contributions sind willkommen! Bitte: - ✅ Strukturiertes Logging - ✅ Type Hints in Python-Code -### Version 1.0 +### Version 0.1.x - ✅ Grundlegende Tipptrainer-Funktionalität - ✅ 43 Lektionen von Grundlagen bis Programmierung - ✅ Echtzeit-Statistiken diff --git a/VERSION b/VERSION new file mode 100644 index 0000000..81fd7ba --- /dev/null +++ b/VERSION @@ -0,0 +1 @@ +v0.2.0 \ No newline at end of file diff --git a/app.py b/app.py index 54aa5fb..1071f31 100644 --- a/app.py +++ b/app.py @@ -18,6 +18,18 @@ logging.basicConfig( ) logger = logging.getLogger(__name__) +# Versionsnummer aus VERSION-Datei laden +def get_version() -> str: + """Liest die Versionsnummer aus der VERSION-Datei""" + version_file = os.path.join(os.path.dirname(__file__), 'VERSION') + try: + with open(version_file, 'r') as f: + return f.read().strip() + except Exception: + return 'unknown' + +VERSION = get_version() + def get_or_create_secret_key() -> str: """ Holt den Secret Key aus der .env Datei oder generiert einen neuen. @@ -64,6 +76,12 @@ app.secret_key = get_or_create_secret_key() # CSRF-Schutz aktivieren csrf = CSRFProtect(app) +# Globale Template-Variablen +@app.context_processor +def inject_globals(): + """Stellt globale Variablen für alle Templates bereit""" + return {'APP_VERSION': VERSION} + db.init_app(app) # Fallback-Lektionen für den Fall, dass die JSON-Datei nicht geladen werden kann diff --git a/claude_start.txt b/claude_start.txt new file mode 100644 index 0000000..fa21bd4 --- /dev/null +++ b/claude_start.txt @@ -0,0 +1,5 @@ +Bitte arbeite nur mit den Dateien app.py und README.md. Verzichte auf das Laden des gesamten Repos. +Zeige alle Änderungen nur als diff im unified diff-Format, keine ganzen Dateien! +Batch-Edits zusammenfassen, unnötige Kontextdaten vermeiden. +Verwende vorhandene Informationen aus README.md und CLAUDE.md, lade keine Fremddateien. +Nutze /clear nach jedem Task und /compact für die History.