feat: add A2-B1 course expansion features including listening activities and conversation sessions

- Updated VocabCourseView.vue to display CEFR level for courses.
- Enhanced VocabLessonView.vue with new sections for listening activities and conversation labs, including audio controls and transcript toggling.
- Created migration to add new columns to vocab_course and new tables for conversation sessions and listening activities.
- Implemented models for vocab_conversation_session and vocab_listening_activity.
- Developed scripts to create new A2 and B1 bridge courses with structured lesson plans.
- Documented the A2-B1 expansion plan detailing course structure, learning goals, and assessment criteria.
This commit is contained in:
Torsten Schulz (local)
2026-08-27 15:18:16 +02:00
parent d9397f741f
commit f9c884b3cf
16 changed files with 680 additions and 12 deletions

View File

@@ -61,6 +61,10 @@ router.delete('/lessons/:lessonId/progress', vocabController.resetLessonProgress
// Grammar Exercises
router.get('/grammar/exercise-types', vocabController.getExerciseTypes);
router.post('/lessons/:lessonId/assistant', vocabController.sendLessonAssistantMessage);
router.get('/lessons/:lessonId/listening-activities', vocabController.getListeningActivities);
router.post('/lessons/:lessonId/conversation-sessions', vocabController.startConversationSession);
router.post('/conversation-sessions/:sessionId/turns', vocabController.sendConversationTurn);
router.post('/conversation-sessions/:sessionId/complete', vocabController.completeConversationSession);
router.post('/lessons/:lessonId/grammar-exercises', vocabController.createGrammarExercise);
router.get('/lessons/:lessonId/grammar-exercises', vocabController.getGrammarExercisesForLesson);
router.get('/lessons/:lessonId/grammar-exercises/progress', vocabController.getGrammarExerciseProgress);