From f900aff90a3cd2ade94471d19d90ad6b8dcbaa9e Mon Sep 17 00:00:00 2001 From: jamulix Date: Mon, 27 Oct 2025 15:47:04 +0100 Subject: [PATCH] =?UTF-8?q?Neue=20Claude=20=C3=84nderungen?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- CLEANUP_GUIDE.md | 269 +++++++++++++++++++++++++++++++++++++++++++ PROJECT_STRUCTURE.md | 256 ++++++++++++++++++++++++++++++++++++++++ cleanup.sh | 82 +++++++++++++ setup.sh | 102 ++++++++++++++++ templates/hilfe.html | 164 ++++++++++++++++++++++++++ 5 files changed, 873 insertions(+) create mode 100644 CLEANUP_GUIDE.md create mode 100644 PROJECT_STRUCTURE.md create mode 100755 cleanup.sh create mode 100755 setup.sh create mode 100644 templates/hilfe.html diff --git a/CLEANUP_GUIDE.md b/CLEANUP_GUIDE.md new file mode 100644 index 0000000..8e901b6 --- /dev/null +++ b/CLEANUP_GUIDE.md @@ -0,0 +1,269 @@ +# đŸ§č AufrĂ€um-Guide fĂŒr Typewriter Tutor + +## Schnell-Übersicht + +```bash +./cleanup.sh # Interaktives AufrĂ€umen (empfohlen) +``` + +--- + +## 📋 Was kann aufgerĂ€umt werden? + +### 🔮 Immer sicher zu löschen + +| Was | Wo | Warum | Wie | +|-----|-----|-------|-----| +| Python-Cache | `__pycache__/` | Wird automatisch neu erstellt | `find . -name "__pycache__" -type d -exec rm -rf {} +` | +| .pyc Dateien | `*.pyc` | Kompilierte Python-Dateien | `find . -name "*.pyc" -delete` | +| TemporĂ€re Dateien | `*.tmp`, `*.temp` | Nicht benötigt | `find . -name "*.tmp" -delete` | +| Backup-Dateien | `*.bak`, `*~` | Alte Backups | `find . -name "*.bak" -delete` | + +### 🟡 Optional löschbar + +| Was | Wo | Beachten | Wie | +|-----|-----|----------|-----| +| Aider-History | `.aider.*` | Nur wenn Sie Aider nicht mehr verwenden | `rm -rf .aider.*` | +| Claude Code Cache | `.claude/` | Cache wird neu erstellt | `rm -rf .claude/` | +| Log-Dateien | `*.log` | Falls nicht fĂŒr Debugging benötigt | `find . -name "*.log" -delete` | + +### 🟠 Vorsicht beim Löschen + +| Was | Wo | Beachten | Wiederherstellung | +|-----|-----|----------|-------------------| +| Datenbank | `instance/typewriter.db` | **Alle Fortschritte gehen verloren!** | `alembic upgrade head` | +| Virtual Environment | `venv/` | Muss neu installiert werden | `./setup.sh` oder `python -m venv venv` | +| .env Datei | `.env` | **SECRET_KEY geht verloren!** | Neu generieren lassen | + +### ⛔ NIE löschen + +| Was | Warum | +|-----|-------| +| `data/lessons.json` | EnthĂ€lt alle Tipp-Lektionen | +| `alembic/versions/` | Datenbank-Migrations-Historie | +| `requirements.txt` | Dependencies-Liste | +| Alle `.py`, `.js`, `.html`, `.css` Dateien | Kern-Anwendung | + +--- + +## 🚀 AufrĂ€um-Szenarien + +### Szenario 1: Leichtes AufrĂ€umen +**Ziel**: Cache und temporĂ€re Dateien entfernen + +```bash +# Automatisch (empfohlen) +./cleanup.sh +# Bei allen Fragen "n" eingeben außer bei Cache + +# Oder manuell +find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null +find . -type f -name "*.pyc" -delete +find . -type f -name "*.tmp" -delete +git gc +``` + +**Ergebnis**: ~5-50 MB gespart, keine Neuinstallation nötig + +--- + +### Szenario 2: Tiefes AufrĂ€umen +**Ziel**: Alles außer Code und Daten zurĂŒcksetzen + +```bash +./cleanup.sh +# Bei allen Fragen "j" eingeben + +# Oder manuell +rm -rf __pycache__/ venv/ instance/ .aider.* .claude/ +find . -name "*.pyc" -delete +``` + +**Dann neu aufsetzen**: +```bash +./setup.sh +``` + +**Ergebnis**: ~100-500 MB gespart, ~2 Minuten Neuinstallation + +--- + +### Szenario 3: Kompletter Reset +**Ziel**: Projekt auf Auslieferungszustand zurĂŒcksetzen + +```bash +# VORSICHT: Alle Daten gehen verloren! + +# 1. AufrĂ€umen +./cleanup.sh # Alle Fragen mit "j" beantworten + +# 2. Git-Status prĂŒfen +git status + +# 3. Falls gewĂŒnscht: Uncommitted Changes löschen +git checkout . +git clean -fd + +# 4. Neustart +./setup.sh +``` + +**Ergebnis**: Wie frisch geklont, alle Benutzer-Daten verloren + +--- + +## 🎯 Empfohlene Routine + +### TĂ€glich +```bash +# Nicht nötig! Git-Ignore kĂŒmmert sich darum +``` + +### Wöchentlich +```bash +# Cache aufrĂ€umen +find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null +``` + +### Monatlich +```bash +# Komplettes AufrĂ€umen +./cleanup.sh +``` + +### Bei Problemen +```bash +# Reset und Neuinstallation +rm -rf venv/ instance/ +./setup.sh +``` + +--- + +## 📊 Speicherplatz-Analyse + +### Typische GrĂ¶ĂŸen + +```bash +# Gesamtprojekt (frisch): ~10 MB +# Mit venv: ~60 MB +# Mit Cache: ~70 MB +# Mit Datenbank: ~71 MB +# Mit Aider-History: ~75+ MB +``` + +### GrĂ¶ĂŸte Verzeichnisse prĂŒfen +```bash +du -h --max-depth=1 | sort -hr +``` + +**Typisches Ergebnis**: +``` +75M . +50M ./venv +10M ./.aider.tags.cache.v4 +3M ./.aider.chat.history.md +5M ./static +1M ./alembic +500K ./templates +``` + +--- + +## 🔧 NĂŒtzliche Befehle + +### Alle Cache-Dateien finden +```bash +find . -type d -name "__pycache__" +find . -type f -name "*.pyc" +``` + +### Große Dateien finden +```bash +find . -type f -size +1M -exec ls -lh {} \; +``` + +### Alte Dateien finden (>30 Tage) +```bash +find . -type f -mtime +30 +``` + +### Git-GrĂ¶ĂŸe optimieren +```bash +git gc --aggressive --prune=now +``` + +### Verzeichnis-GrĂ¶ĂŸen +```bash +du -sh */ | sort -hr +``` + +--- + +## ✅ Checkliste vor AufrĂ€umen + +- [ ] **Wichtige Daten gesichert?** + - [ ] Datenbank-Backup erstellt (`cp instance/typewriter.db backup.db`) + - [ ] Aktuelle Änderungen committed (`git status`) + +- [ ] **Was wird gelöscht verstanden?** + - [ ] Liste oben durchgelesen + - [ ] Bei Unsicherheit: Nur Cache löschen + +- [ ] **Neuinstallation vorbereitet?** + - [ ] `./setup.sh` verfĂŒgbar + - [ ] Internet-Verbindung vorhanden (fĂŒr pip) + +- [ ] **Zeit eingeplant?** + - [ ] Leichtes AufrĂ€umen: 10 Sekunden + - [ ] Tiefes AufrĂ€umen: 2-5 Minuten + - [ ] Kompletter Reset: 5-10 Minuten + +--- + +## 🆘 Probleme und Lösungen + +### "Permission denied" beim Löschen +```bash +sudo rm -rf # Nicht empfohlen! +# Besser: Ownership prĂŒfen +ls -la +``` + +### Virtual Environment lĂ€sst sich nicht löschen +```bash +# Erst deaktivieren +deactivate +# Dann löschen +rm -rf venv/ +``` + +### Datenbank lĂ€sst sich nicht löschen +```bash +# App lĂ€uft möglicherweise noch +pkill -f "python app.py" +# Oder +lsof instance/typewriter.db # Zeigt, wer die Datei verwendet +``` + +### "Command not found: ./cleanup.sh" +```bash +# AusfĂŒhrbar machen +chmod +x cleanup.sh setup.sh start.sh +``` + +--- + +## 📚 WeiterfĂŒhrende Links + +- [PROJECT_STRUCTURE.md](PROJECT_STRUCTURE.md) - Projekt-Übersicht +- [MIGRATIONS.md](MIGRATIONS.md) - Datenbank-Migrationen +- [CLAUDE.md](CLAUDE.md) - Entwickler-Guide + +--- + +**Tipp**: Starten Sie mit dem leichten AufrĂ€umen und arbeiten Sie sich bei Bedarf hoch! + +```bash +./cleanup.sh # Interaktiv und sicher +``` diff --git a/PROJECT_STRUCTURE.md b/PROJECT_STRUCTURE.md new file mode 100644 index 0000000..c6e8d02 --- /dev/null +++ b/PROJECT_STRUCTURE.md @@ -0,0 +1,256 @@ +# Projekt-Struktur und Organisation + +## 📁 Verzeichnis-Übersicht + +``` +typewriter/ +├── 📂 alembic/ # Datenbank-Migrationen (Alembic) +│ ├── versions/ # Migrations-Dateien +│ ├── env.py # Alembic-Konfiguration +│ └── script.py.mako # Template fĂŒr neue Migrationen +│ +├── 📂 data/ # Daten-Dateien +│ └── lessons.json # Tipp-Lektionen (43 Lektionen) +│ +├── 📂 instance/ # Laufzeit-Daten (nicht versioniert) +│ └── typewriter.db # SQLite-Datenbank +│ +├── 📂 static/ # Statische Frontend-Dateien +│ ├── css/ +│ │ └── style.css # Haupt-Stylesheet +│ ├── js/ # JavaScript-Module (ES6) +│ │ ├── main.js # Orchestrierung +│ │ ├── theme.js # Theme Management +│ │ ├── metronome.js # Adaptives Metronom +│ │ ├── statistics.js # Statistik-Berechnungen +│ │ ├── textDisplay.js # Text-Rendering +│ │ ├── keyboard.js # Keyboard-Handling +│ │ ├── session.js # Session Management +│ │ ├── ui.js # UI-Interaktionen +│ │ └── script.js.old # Backup der alten Datei +│ └── favicon.svg # App-Icon +│ +├── 📂 templates/ # Jinja2-Templates +│ ├── index.html # Hauptseite +│ ├── statistics.html # Statistik-Seite +│ └── settings.html # Einstellungen +│ +├── 📂 venv/ # Virtual Environment (nicht versioniert) +│ +├── 📄 app.py # Flask-Hauptanwendung (879 Zeilen) +├── 📄 models.py # SQLAlchemy-Modelle +├── 📄 requirements.txt # Python-Dependencies +├── 📄 alembic.ini # Alembic-Konfiguration +│ +├── đŸ§Ș test_app.py # Backend-Tests (236 Zeilen, 18 Tests) +├── đŸ§Ș test_metronome_velocity.py # Metronom-Tests (537 Zeilen) +│ +├── 📚 CLAUDE.md # Projekt-Dokumentation fĂŒr Claude Code +├── 📚 JAVASCRIPT_MODULES.md # JavaScript-Modul-Dokumentation +├── 📚 MIGRATIONS.md # Alembic-Migrations-Guide +├── 📚 README.md # Haupt-README +├── 📚 README_METRONOME_TESTS.md # Metronom-Test-Dokumentation +├── 📚 SCROLL_IMPROVEMENTS.md # Scroll-Verbesserungen +├── 📚 PROJECT_STRUCTURE.md # Diese Datei +│ +├── 🔧 setup.sh # Komplettes Setup-Script +├── 🔧 start.sh # Start-Script +├── 🔧 cleanup.sh # AufrĂ€um-Script +├── 🔧 setup_database.py # Datenbank-Setup (Python) +│ +├── 🔒 .env # Umgebungsvariablen (nicht versioniert) +├── 📋 .gitignore # Git-Ignore-Regeln +│ +└── đŸ—‘ïž TemporĂ€re Dateien (ignoriert): + ├── __pycache__/ # Python-Cache + ├── .aider.* # Aider-Dateien + ├── .claude/ # Claude Code-Dateien + └── to_do_list.txt # Alte Todo-Liste +``` + +--- + +## 📝 Datei-Kategorien + +### đŸ”” Kern-Anwendung (versioniert) +- `app.py` - Flask-Backend +- `models.py` - Datenbank-Modelle +- `templates/*.html` - Frontend-Templates +- `static/` - CSS, JavaScript, Bilder +- `data/lessons.json` - Lektions-Daten + +### 🟱 Konfiguration (versioniert) +- `requirements.txt` - Python-Dependencies +- `alembic.ini` - Alembic-Konfiguration +- `alembic/` - Migrations-Dateien +- `.gitignore` - Git-Ignore-Regeln + +### 🟡 Dokumentation (versioniert) +- `CLAUDE.md` - Projekt-Guide +- `README.md` - Haupt-Dokumentation +- `JAVASCRIPT_MODULES.md` - JS-Architektur +- `MIGRATIONS.md` - Datenbank-Migrations-Guide +- `SCROLL_IMPROVEMENTS.md` - Changelog +- `PROJECT_STRUCTURE.md` - Struktur-Übersicht + +### 🟠 Scripts (versioniert) +- `setup.sh` - Komplettes Setup +- `start.sh` - Anwendung starten +- `cleanup.sh` - Projekt aufrĂ€umen +- `setup_database.py` - Datenbank-Setup + +### 🔮 Tests (versioniert) +- `test_app.py` - Backend-Tests +- `test_metronome_velocity.py` - Metronom-Tests + +### ⚫ TemporĂ€r/Generiert (NICHT versioniert) +- `venv/` - Virtual Environment +- `instance/` - Datenbank und Laufzeit-Daten +- `__pycache__/` - Python-Cache +- `.env` - Secrets und Konfiguration +- `.aider.*` - Aider-History +- `.claude/` - Claude Code-Cache + +--- + +## 🔧 Wichtige Befehle + +### Setup & Start +```bash +./setup.sh # Komplettes Setup +./start.sh # Anwendung starten +./cleanup.sh # Projekt aufrĂ€umen +``` + +### Entwicklung +```bash +source venv/bin/activate # Environment aktivieren +python app.py # Server starten +python -m unittest test_app # Tests ausfĂŒhren +``` + +### Datenbank +```bash +alembic upgrade head # Migrationen anwenden +alembic revision --autogenerate -m "message" # Neue Migration +alembic downgrade -1 # Letzte Migration rĂŒckgĂ€ngig +``` + +### Git +```bash +git status # Status prĂŒfen +git add . # Alle Änderungen stagen +git commit -m "..." # Commit erstellen +git push origin main # Pushen +``` + +--- + +## 📊 Statistiken + +### Codebase-Metriken +- **Python**: ~1.700 Zeilen (app.py, models.py, tests) +- **JavaScript**: ~1.600 Zeilen (8 Module) +- **HTML/CSS**: ~800 Zeilen +- **Dokumentation**: ~300 Zeilen (6 Markdown-Dateien) +- **Tests**: ~775 Zeilen (23 Tests total) + +### Dateien nach Typ +- Python: 5 Dateien +- JavaScript: 9 Dateien (8 Module + 1 Backup) +- HTML: 3 Templates +- CSS: 1 Stylesheet +- Markdown: 7 Dokumentationen +- Shell: 3 Scripts +- JSON: 1 Datei (lessons.json) +- Config: 3 Dateien (.gitignore, alembic.ini, requirements.txt) + +--- + +## đŸ§č AufrĂ€um-Strategie + +### Was NICHT committen? +- `venv/` - Virtual Environments +- `instance/` - Datenbank-Dateien +- `__pycache__/` - Python-Cache +- `.env` - Secrets +- `.aider.*` - Aider-History +- `.claude/` - Claude Code-Cache +- `*.log` - Log-Dateien +- `*.tmp`, `*.bak` - TemporĂ€re Dateien + +### Wann aufrĂ€umen? +```bash +./cleanup.sh # Interaktives AufrĂ€umen +``` + +Oder manuell: +```bash +# Python-Cache löschen +find . -type d -name "__pycache__" -exec rm -rf {} + + +# TemporĂ€re Dateien +find . -type f -name "*.tmp" -delete +find . -type f -name "*.pyc" -delete + +# Datenbank zurĂŒcksetzen +rm -rf instance/ +alembic upgrade head +``` + +--- + +## 🔒 Sicherheit + +### Sensible Dateien (NICHT committen!) +- `.env` - EnthĂ€lt SECRET_KEY +- `instance/typewriter.db` - EnthĂ€lt Benutzerdaten +- `venv/` - Kann sensible Pakete enthalten + +### Bereits geschĂŒtzt durch .gitignore ✅ +Alle sensiblen Dateien sind bereits in `.gitignore` aufgelistet. + +--- + +## 📩 Deployment-Checkliste + +1. ✅ Virtual Environment erstellen +2. ✅ Dependencies installieren +3. ✅ .env-Datei mit SECRET_KEY erstellen +4. ✅ Datenbank initialisieren (Alembic) +5. ✅ Tests ausfĂŒhren +6. ✅ Anwendung starten + +**Schnell-Setup**: +```bash +./setup.sh && ./start.sh +``` + +--- + +## 🎯 Best Practices + +### Entwicklung +1. **Immer** Virtual Environment verwenden +2. **Vor** Schema-Änderungen: Alembic-Migration erstellen +3. **Nach** Code-Änderungen: Tests ausfĂŒhren +4. **Vor** Commit: Code aufrĂ€umen (`./cleanup.sh`) + +### Git-Workflow +1. Änderungen machen +2. Tests ausfĂŒhren +3. `git add .` +4. `git commit -m "Beschreibung"` +5. `git push origin main` + +### Datenbank-Änderungen +1. Models in `models.py` Ă€ndern +2. `alembic revision --autogenerate -m "Beschreibung"` +3. Migration prĂŒfen: `alembic/versions/*.py` +4. `alembic upgrade head` +5. Testen! + +--- + +**Letzte Aktualisierung**: 2025-10-27 +**Version**: 1.2.0 diff --git a/cleanup.sh b/cleanup.sh new file mode 100755 index 0000000..a593393 --- /dev/null +++ b/cleanup.sh @@ -0,0 +1,82 @@ +#!/bin/bash +# Projekt-AufrĂ€um-Script fĂŒr Typewriter Tutor + +echo "đŸ§č Typewriter Tutor - Projekt aufrĂ€umen" +echo "========================================" +echo "" + +# Sichere BestĂ€tigung +read -p "Möchten Sie das Projekt aufrĂ€umen? (j/n): " -n 1 -r +echo +if [[ ! $REPLY =~ ^[Jj]$ ]]; then + echo "Abgebrochen." + exit 1 +fi + +echo "" +echo "1ïžâƒŁ Lösche Python-Cache..." +find . -type d -name "__pycache__" -exec rm -rf {} + 2>/dev/null +find . -type f -name "*.pyc" -delete 2>/dev/null +find . -type f -name "*.pyo" -delete 2>/dev/null +find . -type f -name "*.pyd" -delete 2>/dev/null +echo " ✓ Python-Cache gelöscht" + +echo "" +echo "2ïžâƒŁ Lösche Aider-Dateien (optional)..." +read -p " Aider-History löschen? (j/n): " -n 1 -r +echo +if [[ $REPLY =~ ^[Jj]$ ]]; then + rm -rf .aider.chat.history.md .aider.input.history .aider.tags.cache.v4/ 2>/dev/null + echo " ✓ Aider-Dateien gelöscht" +else + echo " ⊘ Aider-Dateien behalten" +fi + +echo "" +echo "3ïžâƒŁ Lösche temporĂ€re Dateien..." +find . -type f -name "*.tmp" -delete 2>/dev/null +find . -type f -name "*.temp" -delete 2>/dev/null +find . -type f -name "*.bak" -delete 2>/dev/null +find . -type f -name "*~" -delete 2>/dev/null +echo " ✓ TemporĂ€re Dateien gelöscht" + +echo "" +echo "4ïžâƒŁ Datenbank zurĂŒcksetzen (optional)..." +read -p " Datenbank löschen und neu erstellen? (j/n): " -n 1 -r +echo +if [[ $REPLY =~ ^[Jj]$ ]]; then + rm -rf instance/typewriter.db 2>/dev/null + echo " ✓ Datenbank gelöscht" + echo " â„č FĂŒhre 'alembic upgrade head' aus, um neu zu erstellen" +else + echo " ⊘ Datenbank behalten" +fi + +echo "" +echo "5ïžâƒŁ Virtual Environment (optional)..." +read -p " Virtual Environment löschen und neu erstellen? (j/n): " -n 1 -r +echo +if [[ $REPLY =~ ^[Jj]$ ]]; then + rm -rf venv/ 2>/dev/null + echo " ✓ Virtual Environment gelöscht" + echo " â„č FĂŒhre './setup.sh' aus, um neu zu erstellen" +else + echo " ⊘ Virtual Environment behalten" +fi + +echo "" +echo "6ïžâƒŁ Git aufrĂ€umen..." +git gc --quiet 2>/dev/null +echo " ✓ Git-Datenbank optimiert" + +echo "" +echo "======================================" +echo "✅ AufrĂ€umen abgeschlossen!" +echo "" +echo "NĂ€chste Schritte (falls nötig):" +echo " 1. python -m venv venv" +echo " 2. source venv/bin/activate" +echo " 3. pip install -r requirements.txt" +echo " 4. alembic upgrade head" +echo " 5. python app.py" +echo "" diff --git a/setup.sh b/setup.sh new file mode 100755 index 0000000..ec09faf --- /dev/null +++ b/setup.sh @@ -0,0 +1,102 @@ +#!/bin/bash +# Komplettes Setup-Script fĂŒr Typewriter Tutor + +echo "🚀 Typewriter Tutor - Komplettes Setup" +echo "========================================" +echo "" + +# PrĂŒfe ob Python3 installiert ist +if ! command -v python3 &> /dev/null; then + echo "❌ Python3 nicht gefunden!" + echo " Bitte installiere Python 3.11 oder höher." + exit 1 +fi + +PYTHON_VERSION=$(python3 --version | awk '{print $2}') +echo "✓ Python gefunden: $PYTHON_VERSION" +echo "" + +# Schritt 1: Virtual Environment +echo "1ïžâƒŁ Virtual Environment erstellen..." +if [ -d "venv" ]; then + echo " ⚠ Virtual Environment existiert bereits" + read -p " Neu erstellen? (j/n): " -n 1 -r + echo + if [[ $REPLY =~ ^[Jj]$ ]]; then + rm -rf venv/ + python3 -m venv venv + echo " ✓ Virtual Environment neu erstellt" + else + echo " ⊘ Bestehendes Environment verwenden" + fi +else + python3 -m venv venv + echo " ✓ Virtual Environment erstellt" +fi + +# Schritt 2: Dependencies +echo "" +echo "2ïžâƒŁ AbhĂ€ngigkeiten installieren..." +source venv/bin/activate +pip install --upgrade pip --quiet +pip install -r requirements.txt +echo " ✓ AbhĂ€ngigkeiten installiert" + +# Schritt 3: Datenbank +echo "" +echo "3ïžâƒŁ Datenbank initialisieren..." +if [ -f "instance/typewriter.db" ]; then + echo " ⚠ Datenbank existiert bereits" + read -p " Neu erstellen? (j/n): " -n 1 -r + echo + if [[ $REPLY =~ ^[Jj]$ ]]; then + rm -rf instance/ + mkdir -p instance + alembic upgrade head + echo " ✓ Datenbank neu erstellt" + else + echo " ⊘ Bestehende Datenbank verwenden" + alembic upgrade head 2>/dev/null + fi +else + mkdir -p instance + alembic upgrade head + echo " ✓ Datenbank erstellt" +fi + +# Schritt 4: .env Datei +echo "" +echo "4ïžâƒŁ Umgebungsvariablen..." +if [ ! -f ".env" ]; then + echo " Erstelle .env Datei..." + SECRET_KEY=$(python3 -c "import secrets; print(secrets.token_hex(32))") + echo "SECRET_KEY=$SECRET_KEY" > .env + chmod 600 .env + echo " ✓ .env Datei erstellt" +else + echo " ✓ .env Datei existiert bereits" +fi + +# Schritt 5: Scripts ausfĂŒhrbar machen +echo "" +echo "5ïžâƒŁ Scripts konfigurieren..." +chmod +x start.sh cleanup.sh setup.sh 2>/dev/null +echo " ✓ Scripts sind ausfĂŒhrbar" + +# Abschluss +echo "" +echo "======================================" +echo "✅ Setup abgeschlossen!" +echo "" +echo "NĂ€chste Schritte:" +echo " 1. Starte die Anwendung:" +echo " ./start.sh" +echo "" +echo " 2. Öffne im Browser:" +echo " http://localhost:5000" +echo "" +echo "Weitere Befehle:" +echo " ‱ ./cleanup.sh - Projekt aufrĂ€umen" +echo " ‱ ./start.sh - Anwendung starten" +echo " ‱ python test_app.py - Tests ausfĂŒhren" +echo "" diff --git a/templates/hilfe.html b/templates/hilfe.html new file mode 100644 index 0000000..c19d114 --- /dev/null +++ b/templates/hilfe.html @@ -0,0 +1,164 @@ + + + + + + Hilfe - Typewriter Trainer + + + + + + +
+ +
+
+

📖 Typewriter Trainer - Hilfe

+ +
+
+ + +
+
+ {{ hilfe_html|safe }} +
+
+
+ + + + ← ZurĂŒck zum Trainer + + + + + + +