Implement vocab course and grammar exercise features in backend and frontend

- Added new course management functionalities in VocabController, including creating, updating, and deleting courses and lessons.
- Implemented enrollment and progress tracking for courses, along with grammar exercise creation and management.
- Updated database schema to include tables for courses, lessons, enrollments, and grammar exercises.
- Enhanced frontend with new routes and views for course listing and details, including internationalization support for course-related texts.
- Improved user experience by adding navigation to courses from the main vocab trainer view.
This commit is contained in:
Torsten Schulz (local)
2026-01-19 10:58:53 +01:00
parent 9553cc811a
commit b6a4607e60
28 changed files with 3629 additions and 0 deletions

View File

@@ -0,0 +1,186 @@
# Bisaya (Cebuano) Sprachkurs - Beispiel-Struktur
Dieses Dokument zeigt, wie du einen strukturierten Sprachkurs wie den beschriebenen Bisaya-Kurs im System erstellst.
## Kurs-Übersicht
**Titel:** Bisaya für Familien - Schnellstart in 30 Tagen
**Sprache:** Cebuano (Bisaya)
**Schwierigkeit:** 1-2
**Zielgruppe:** Familienmitglieder, die schnell alltagstauglich sprechen wollen
## Kursstruktur
### Woche 1: Grundlagen & Aussprache
#### Tag 1: Begrüßungen & Höflichkeit
- **Lektionstyp:** conversation
- **Inhalt:**
- Kumusta? Wie geht's?
- Maayo Gut
- Salamat Danke
- Palihug Bitte
- **Kulturelle Notizen:** Philippiner schätzen Höflichkeit sehr. Lächeln ist wichtig!
#### Tag 2: Familienwörter
- **Lektionstyp:** vocab
- **Inhalt:**
- Mama / Nanay Mutter
- Papa / Tatay Vater
- Kuya älterer Bruder
- Ate ältere Schwester
- Lola / Lolo Oma / Opa
- **Kulturelle Notizen:** Kuya und Ate werden auch für Nicht-Verwandte verwendet sehr respektvoll!
#### Tag 3: Überlebenssätze
- **Lektionstyp:** conversation
- **Inhalt:**
- Wala ko kasabot Ich verstehe nicht
- Hinay-hinay lang Bitte langsam
- Asa ang …? Wo ist …?
- Unsa ni? Was ist das?
#### Tag 4: Gefühle & Zuneigung
- **Lektionstyp:** conversation
- **Inhalt:**
- Mingaw ko nimo Ich vermisse dich
- Nalipay ko nga makita ka Ich freue mich, dich zu sehen
- Ganahan ko nimo Ich mag dich
- Palangga taka Ich hab dich lieb ❤️
- **Kulturelle Notizen:** Palangga taka ist wärmer als "I love you" im Familienkontext.
#### Tag 5: Essen & Fürsorge
- **Lektionstyp:** conversation
- **Inhalt:**
- Nikaon ka? Hast du schon gegessen?
- Kaon ta Lass uns essen
- Lami Lecker
- **Kulturelle Notizen:** Essen = Liebe! "Nikaon na ka?" ist sehr fürsorglich.
### Woche 2: Alltag & Familie
#### Tag 6: Alltagsgespräche
- **Lektionstyp:** conversation
- **Inhalt:**
- Kumusta ang imong adlaw? Wie war dein Tag?
- Unsa imong ginabuhat? Was machst du?
- Asa ka padulong? Wohin gehst du?
#### Tag 7: Haus & Familie
- **Lektionstyp:** vocab
- **Inhalt:**
- Balay Haus
- Kwarto Zimmer
- Kusina Küche
- Pamilya Familie
### Woche 3: Vertiefung
#### Tag 8-14: Praktische Gespräche
- Verschiedene Alltagssituationen
- Grammatik-Minimal (nur das Nötigste)
- Mehr Familienkonversationen
### Woche 4: Freies Sprechen
#### Tag 15-21: Übung & Anwendung
- Freie Gespräche
- Fehler zulassen
- Viel lachen 😄
## Grammatik-Übungen
### Übung 1: Zeitformen (Woche 2)
- **Typ:** transformation
- **Frage:** "Ni-kaon ko" bedeutet?
- **Antwort:** "Ich habe gegessen"
- **Erklärung:** Cebuano hat keine komplexen Zeiten wie Deutsch. Zeit wird mit Präfixen ausgedrückt.
### Übung 2: Höflichkeit (Woche 1)
- **Typ:** multiple_choice
- **Frage:** Wie sagt man "Bitte langsam"?
- **Antworten:**
- Hinay-hinay lang ✓
- Palihug
- Salamat
## Praktische Tipps für Kurs-Erstellung
1. **Strukturierung:**
- Verwende `weekNumber` und `dayNumber` für klare Struktur
- Setze `lessonType` auf: `vocab`, `grammar`, `conversation`, `culture`, `review`
2. **Kulturelle Notizen:**
- Nutze `culturalNotes` für wichtige kulturelle Hinweise
- Diese helfen Lernenden, die Sprache im Kontext zu verstehen
3. **Audio:**
- Füge `audioUrl` hinzu für Aussprache-Übungen
- Verlinke zu YouTube-Videos oder eigenen Audio-Dateien
4. **Grammatik-Übungen:**
- Erstelle Grammatik-Übungen für wichtige Konzepte
- Nutze verschiedene Übungstypen (gap_fill, multiple_choice, transformation)
5. **Fortschritt:**
- Das System verfolgt automatisch den Fortschritt
- Lernende sehen, welche Lektionen sie abgeschlossen haben
## Beispiel-API-Aufrufe
### Kurs erstellen:
```javascript
POST /api/vocab/courses
{
"title": "Bisaya für Familien - Schnellstart",
"description": "Lerne Bisaya schnell und praktisch für den Familienalltag",
"languageId": 1,
"difficultyLevel": 1,
"isPublic": true
}
```
### Lektion hinzufügen:
```javascript
POST /api/vocab/courses/{courseId}/lessons
{
"lessonNumber": 1,
"title": "Begrüßungen & Höflichkeit",
"description": "Lerne die wichtigsten Begrüßungen",
"weekNumber": 1,
"dayNumber": 1,
"lessonType": "conversation",
"culturalNotes": "Philippiner schätzen Höflichkeit sehr. Lächeln ist wichtig!",
"chapterId": null // Optional, wenn du Vokabeln aus einem Kapitel verwenden willst
}
```
### Grammatik-Übung hinzufügen:
```javascript
POST /api/vocab/lessons/{lessonId}/grammar-exercises
{
"exerciseTypeId": 4, // transformation
"exerciseNumber": 1,
"title": "Zeitformen verstehen",
"instruction": "Was bedeutet 'Ni-kaon ko'?",
"questionData": {
"text": "Ni-kaon ko",
"type": "transformation"
},
"answerData": {
"correct": "Ich habe gegessen",
"alternatives": ["I ate", "I have eaten"]
},
"explanation": "Cebuano hat keine komplexen Zeiten wie Deutsch. Zeit wird mit Präfixen ausgedrückt."
}
```
## Nächste Schritte
1. Erstelle die Sprache "Cebuano" im Vokabeltrainer
2. Erstelle den Kurs mit der obigen Struktur
3. Füge Lektionen mit Wochen/Tagen hinzu
4. Erstelle Grammatik-Übungen für wichtige Konzepte
5. Teile den Kurs mit anderen (share_code)
Viel Erfolg beim Lernen! 🇵🇭