DeutschLernen/GermanApp/Infrastructure/Data/Repositories
Lasse Rune Hansen 6693165f83 feat(backend/story-integration): Phase 2 - Backend Services
Implement story integration backend services:
- Create StoryService (Application/Services/StoryService.cs) with full CRUD operations
- Create StoryGenerationService (Application/Services/StoryGenerationService.cs) for AI-powered story generation
  - Uses IMistralService for text generation
  - Uses ITtsService for audio generation
  - Splits stories into segments per lesson
- Create StoryUnlockService (Application/Services/StoryUnlockService.cs) for progress management
  - Handles lesson completion → story segment unlocking
- Create StoryController (Presentation/Controllers/StoryController.cs) with 12 endpoints:
  - GET /api/story/levels - list levels with stories
  - GET /api/story/levels/{levelId}/segments - get segments for level
  - GET /api/story/segments/{id} - get specific segment
  - POST /api/story/segments - create segment (Admin)
  - PUT /api/story/segments/{id} - update segment (Admin)
  - DELETE /api/story/segments/{id} - delete segment (Admin)
  - POST /api/story/levels/{levelId}/generate - generate story with AI (Admin)
  - POST /api/story/segments/{segmentId}/audio - generate audio (Admin)
  - GET /api/story/levels/{levelId}/progress - get user progress
  - POST /api/story/segments/{segmentId}/complete - mark as completed
  - GET /api/story/levels/{levelId}/next - get next segment
  - GET /api/story/segments/{segmentId}/unlocked - check if unlocked
  - GET /api/story/segments/{segmentId}/audio - get audio URL
  - GET /api/story/levels/{levelId}/lessons-with-stories - get lessons with story status
- Register all services in Program.cs DI container
- Update feature document to reflect Phase 2 completion

Next: Phase 3 - AI Integration (unit tests for services)

Generated by Mistral Vibe.
Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
2026-06-13 13:37:16 +02:00
..
LessonRepository.cs fix(backend): update Lesson entity and related code to use LevelId foreign key 2026-06-07 21:25:46 +02:00
LevelRepository.cs fix(backend): update Lesson entity and related code to use LevelId foreign key 2026-06-07 21:25:46 +02:00
QuizOptionRepository.cs feat(backend/domain): add quiz question feature with Docker migration support 2026-06-12 16:49:27 +02:00
QuizQuestionRepository.cs feat(backend): Complete Quiz System implementation 2026-06-13 07:41:46 +02:00
QuizRepository.cs feat(backend): Complete Quiz System implementation 2026-06-13 07:41:46 +02:00
StoryProgressRepository.cs feat(backend/story-integration): Phase 2 - Backend Services 2026-06-13 13:37:16 +02:00
StoryRepository.cs feat(backend/story-integration): Phase 2 - Backend Services 2026-06-13 13:37:16 +02:00
UserProgressRepository.cs fix(backend): update Lesson entity and related code to use LevelId foreign key 2026-06-07 21:25:46 +02:00