Zentrale Versionsverwaltung mit VERSION Datei (v0.2.0)

- Neue VERSION Datei mit v0.2.0
- app.py liest Version und stellt sie allen Templates bereit
- README.md, HILFE.md, PROJECT_STRUCTURE.md aktualisiert
- Changelog in README.md um v0.2.0 Features erweitert
- Alle Dokumente verweisen auf zentrale VERSION Datei

🤖 Generated with [Claude Code](https://claude.com/claude-code)

Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
jamulix 2025-10-27 23:29:20 +01:00
commit 3cacbe7544
6 changed files with 38 additions and 4 deletions

View file

@ -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*

View file

@ -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)_

View file

@ -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

1
VERSION Normal file
View file

@ -0,0 +1 @@
v0.2.0

18
app.py
View file

@ -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

5
claude_start.txt Normal file
View file

@ -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.