Ein kleiner Vokabeltrainer zur Unterstützung beim schulischen Englischlernen – mit AI-generierten Audios, Fehleranalyse und originalen Vokabellisten bayerischer Schulbücher.
Freizeitprojekt für den privaten Gebrauch.
🔗 Live-Demo: https://word-trainer-test-3b93bf2b34e4.herokuapp.com/ (benötigt beim ersten Starten des Dynos ca. 30 Sekunden zum Laden)
👤 Testzugänge: (Funktionen der Rollen unterscheiden sich momentan noch nicht)
user/userteacher/teacheradmin/admin
- Backend: Java, Spring Boot, Spring Data JPA, Flyway, Lombok
- Frontend: Thymeleaf, HTML/CSS (Server-side Rendering)
- Datenbank: PostgreSQL (lokal via Docker, produktiv via Heroku)
- Build & Test: Maven, JaCoCo, TestContainers
- CI/CD: Renovate für automatische Dependency-Updates
- Hosting: Heroku (mit Dyno-Keep-Alive-Funktion)
- ✅ AI-generierte Audios für alle Vokabeln und Sätze (werden bei Änderungen aktualisiert)
- ✅ Unterstützung von Synonymen und alternativen Schreibweisen
- ✅ Detaillierter Fehlermodus mit intelligenter Ähnlichkeitsanalyse
- ✅ Original-Vokabellisten aus bayerischen Schulbüchern
- ✅ Zeitlich gesteuerte Wortfreischaltung bis zu den Sommerferien
- ✅ Wiederholungsintervalle via Umgebungsvariable steuerbar
- ✅ Erweiterte Logging-Funktionalität
- ✅ Integriertes Feedbackformular zur Fehler- und Kartenmeldung
- ✅ Dyno-Wachhalter, um Heroku-Ladezeiten zu minimieren
docker-compose up -d
./mvnw spring-boot:run- Lokal:
docker exec -it word-trainer-postgres psql -U word-trainer - Heroku Test-DB:
heroku pg:psql -a word-trainer-test
./mvnw clean testGeneriert automatisch einen JaCoCo-Coverage-Report.
- Frontend auf React oder Angular umstellen
- Caching mit Spring Boot verbessern
- Ladezeiten der TestContainer optimieren
- Algorithmus zur Karten-Wiederholungsplanung durch FSRS ersetzen
- Synonyme dynamisch über Thesaurus-API laden
- Gamification: Punkte, Streaks, Avatare
- Mehr statistische Auswertungen
- Vokabelimport aus JSON-Dateien
- Verbesserte Aufbereitung falsch gelöster Eingaben
- Trennung von mehrteiligen Vokabeln (z. B. to do, did, done)
# Dump erstellen
pg_dump -Fp --no-acl --no-owner <DB_CONNECTION_STRING> > dump.sql
# Import in Docker-Postgres
docker exec -i word-trainer-postgres psql -U word-trainer -d word-trainer < dump.sqlheroku pg:backups:capture -a word-trainer-liveVor der Einführung von Admin-Funktionen (z. B. Kartenerstellung/-löschung) sollten die Testnutzer entfernt oder geändert werden.