No description
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>
|
||
|---|---|---|
| docs | ||
| german-app-frontend | ||
| GermanApp | ||
| scripts/ai-setup | ||
| Tests | ||
| .dockerignore | ||
| .gitignore | ||
| .woodpecker.yml | ||
| AGENTS.md | ||
| docker-compose.yml | ||
| nuget.config | ||
DeutschLernen Documentation
Welcome to the documentation for the DeutschLernen solution. This directory contains all project documentation organized by category.
📚 Documentation Structure
docs/
├── README.md # This file - Table of Contents
│
├── architecture/ # System architecture & design
│ ├── application-plan.md # High-level application plan and vision
│ ├── backend-structure.md # Backend architecture and component structure
│ └── frontend-structure.md # Frontend architecture and component structure
│
├── database/ # Database-related documentation
│ └── initial-database-schema.sql # Initial SQL schema for the database
│
└── development/ # Development guides & setup
└── how-to-run-vibe.md # Guide for running Vibe CLI in this project
📖 Documentation Categories
Architecture 🏗️
| File | Description | Last Updated |
|---|---|---|
| application-plan.md | Overall application vision, features, and roadmap | - |
| backend-structure.md | Backend architecture, Clean Architecture layers, component diagrams | - |
| frontend-structure.md | Frontend architecture, React component structure, state management | - |
Database 🗃️
| File | Description | Last Updated |
|---|---|---|
| initial-database-schema.sql | SQL schema for database initialization, tables, relationships | - |
Development 🛠️
| File | Description | Last Updated |
|---|---|---|
| how-to-run-vibe.md | Instructions for setting up and using Vibe CLI with this project | - |
Feature Tracking
| File | Description | Last Updated |
|---|---|---|
| features/README.md | Feature implementation plans and progress tracking | - |
| features/template.md | Template for creating new feature plans | - |
📝 Adding New Documentation
When adding new documentation files, please follow these guidelines:
- Choose the right category: Place files in the appropriate subdirectory
- Use kebab-case naming:
new-document.mdnotNewDocument.md - Update this README: Add your file to the appropriate table above
- Keep it organized: Create new subdirectories if a category grows too large
Suggested Categories
architecture/- System design, component diagrams, technical decisionsdatabase/- Schema, migrations, data modelsdevelopment/- Setup guides, development workflows, toolingapi/- API documentation, endpoints, contracts (if not using Swagger)testing/- Test strategies, test data, test casesdeployment/- Deployment guides, CI/CD, infrastructurefeatures/- Feature specifications, user stories
🔍 Quick Links
- Application Plan - Start here for project vision
- Backend Structure - Clean Architecture implementation
- Database Schema - Database design
- Vibe Setup - Development environment setup
- Feature Tracking - Feature implementation plans & progress
💡 Tips
- Use the search functionality in your code editor to find specific topics across all docs
- Documentation should be just enough - focus on the "why" not just the "what"
- Keep documentation up to date with code changes
- For API documentation, rely on Swagger/OpenAPI where possible
Last updated: May 31, 2025 Need help? Check the AGENTS.md file for development rules and workflows