docs: update README and add backup files to gitignore

- Add comprehensive README with project description, features, installation
  instructions, project structure, and usage guide
- Include backup file pattern (*.bak) in gitignore to prevent accidental
  commits of editor backup files
This commit is contained in:
jamulix 2025-10-23 15:08:04 +02:00 committed by jamulix (aider)
commit 21b36cb603
2 changed files with 116 additions and 1 deletions

3
.gitignore vendored
View file

@ -175,6 +175,9 @@ Thumbs.db
*.tmp
*.temp
# Backup files
*.bak
# Editor directories and files
.vscode/
.idea/

114
README.md
View file

@ -1 +1,113 @@
# typewriter
# Typewriter Tutor - Tipptrainer
Ein webbasierter Tipptrainer, der Ihnen hilft, das Zehnfingersystem zu erlernen und Ihre Tippgeschwindigkeit zu verbessern.
## Funktionen
- **Lektionen-basiertes Training**: 20 strukturierte Lektionen von Grundlagen bis zu Programmiertexten
- **Echtzeit-Statistiken**: Anzeige von Tippgeschwindigkeit (WPM) und Genauigkeit
- **Fortschrittsverfolgung**: Persistente Speicherung Ihrer Lernfortschritte
- **Responsive Design**: Funktioniert auf Desktop und mobilen Geräten
- **Dark/Light Mode**: Anpassbare Oberfläche
- **Flexible Lektionen-Auswahl**: Direkter Zugriff auf beliebige Lektionen
## Technologien
- **Backend**: Python mit Flask Framework
- **Frontend**: HTML, CSS, JavaScript mit Bootstrap
- **Datenbank**: SQLite mit SQLAlchemy ORM
- **Datenpersistenz**: JSON-basierte Lektionen
## Installation
1. Repository klonen:
```bash
git clone https://github.com/jamulix/typewriter.git
cd typewriter
```
2. Python-Umgebung einrichten (empfohlen):
```bash
python -m venv venv
source venv/bin/activate # Linux/Mac
# oder
venv\Scripts\activate # Windows
```
3. Abhängigkeiten installieren:
```bash
pip install flask flask-sqlalchemy
```
4. Anwendung starten:
```bash
python app.py
```
5. Im Browser öffnen: http://localhost:5000
## Projektstruktur
```
typewriter/
├── app.py # Haupt-Flask-Anwendung
├── models.py # Datenbankmodelle
├── data/
│ └── lessons.json # Lektionen-Daten
├── static/
│ ├── css/
│ │ └── style.css # Styling
│ └── js/
│ └── script.js # Client-seitige Logik
├── templates/
│ └── index.html # Haupttemplate
└── instance/
└── database.db # SQLite-Datenbank (wird automatisch erstellt)
```
## Lektionen-Übersicht
Das Training umfasst 20 Lektionen:
1. **Grundreihe** (asdf jklö)
2. **Kombinationen der Grundreihe**
3. **Leichte Wörter**
4. **Neue Buchstaben** (q w e r t z)
5. **Kurze Wörter**
6. **Einfache Sätze**
7. **Umlaute und ß**
8. **Komplexe Wörter**
9. **Kurze Textpassagen**
10. **Fließtextrealismus**
11. **Sonderzeichen und Zahlen**
12. **Dialoge**
13. **Redewendungen**
14. **Thematische Texte**
15. **Abschlusstext**
16. **Programmierzeichen**
17. **Python Basics**
18. **C-Style Syntax**
19. **HTML / JavaScript**
20. **JSON Parsing**
## Verwendung
1. Starten Sie die Anwendung und öffnen Sie sie im Browser
2. Wählen Sie eine Lektion aus der Seitenleiste
3. Tippen Sie den angezeigten Text in das Eingabefeld
4. Ihre Statistiken (WPM und Genauigkeit) werden in Echtzeit aktualisiert
5. Wechseln Sie zur nächsten Lektion oder beenden Sie die Sitzung
## Entwickler-Funktionen
- `/debug` - Debug-Informationen
- `/repair_json` - JSON-Reparatur-Endpoint
- `/recreate_lessons` - Lektionen neu erstellen
- `/update_progress` - Fortschritt aktualisieren
- `/next_text` - Nächsten Text anfordern
- `/set_lesson` - Lektion setzen
- `/end_session` - Sitzung beenden
## Lizenz
MIT License