# DeutschLernen Development Roadmap This document provides a comprehensive **development roadmap** for the DeutschLernen project, based on the feature plans in `docs/features/`. It outlines the implementation phases, timelines, resource allocation, and milestones for delivering the complete German learning application. --- ## 🎯 Project Overview **DeutschLernen** is a comprehensive German language learning web application with: - Structured lessons following CEFR levels (A1-C1) - AI-powered features (story generation, speech recognition, text-to-speech) - Interactive exercises and quizzes - Gamification (points, badges, streaks) - Progress tracking and analytics **Target Users:** Self-learners of German at all levels (A1–C1) **Technology Stack:** .NET 9.0 (Backend) + React 19 + TypeScript (Frontend) + PostgreSQL + AI Services --- ## πŸ—ΊοΈ Implementation Phases The project is divided into **4 phases** based on dependencies and priority: --- ## Phase 1: Foundation πŸ—οΈ **Duration:** 2 weeks | **Total Hours:** 30-42h | **Priority:** Critical ### Objective Establish the technical foundation for the entire application, including backend project, database, and authentication system. ### Features | # | Feature | Description | Hours | Status | Dependencies | |---|---------|-------------|-------|--------|--------------| | 1.1 | [Infrastructure Setup](features/infrastructure-setup.md) | .NET project, PostgreSQL, Docker, CI/CD | 10-14h | ⏳ Planned | None | | 1.2 | [User Authentication](features/user-authentication.md) | JWT-based auth with ASP.NET Core Identity | 4-6h | ⏳ Planned | 1.1 | ### Deliverables - βœ… Working .NET 9.0 backend project - βœ… PostgreSQL database with schema - βœ… Docker containers for all services - βœ… GitHub Actions CI/CD pipeline - βœ… Authentication endpoints (register, login, logout) - βœ… JWT token generation and validation - βœ… Development environment setup guide ### Success Criteria - Backend project builds and runs successfully - Database is accessible and migrations work - Docker Compose spins up all services - CI/CD pipeline passes on push - Authentication flow works end-to-end ### Week 1 | Day | Developer | Tasks | Hours | |-----|-----------|-------|-------| | 1 | Backend | Initialize .NET project, configure appsettings | 4 | | 1 | Backend | Set up Swagger/OpenAPI, CORS, logging | 2 | | 2 | Backend | Configure PostgreSQL, create initial schema | 3 | | 2 | Backend | Set up EF Core, create first migration | 2 | | 3 | Backend | Create Dockerfile for backend | 2 | | 3 | DevOps | Create docker-compose.yml | 2 | | 4 | Backend | Create GitHub Actions workflow | 3 | | 4 | Backend | Test complete infrastructure | 2 | | 5 | Backend | Start User Authentication feature | 4 | ### Week 2 | Day | Developer | Tasks | Hours | |-----|-----------|-------|-------| | 6 | Backend | Create User entity and DTOs | 3 | | 6 | Backend | Configure ASP.NET Core Identity | 2 | | 7 | Backend | Create AuthService with JWT | 3 | | 7 | Backend | Create AuthController endpoints | 2 | | 8 | Backend | Implement token validation middleware | 2 | | 8 | Backend | Add authorization to endpoints | 2 | | 9 | Backend | Write unit tests for AuthService | 2 | | 9 | Backend | Write integration tests for AuthController | 2 | | 10 | Backend | Test authentication flow end-to-end | 2 | | 10 | Backend | Finalize and merge Phase 1 | 2 | --- ## Phase 2: Core Backend 🎯 **Duration:** 2 weeks | **Total Hours:** 42-58h | **Priority:** Critical ### Objective Implement the core backend functionality, including lesson management, AI services integration, vocabulary system, and quiz system. ### Features | # | Feature | Description | Hours | Status | Dependencies | |---|---------|-------------|-------|--------|--------------| | 2.1 | [Lesson Management](features/lesson-management.md) | Lessons, levels, progress tracking | 10-16h | ⏳ Planned | Phase 1 | | 2.2 | [AI Services](features/ai-services.md) | Mistral, Vosk, Coqui TTS integration | 10-16h | ⏳ Planned | Phase 1 | | 2.3 | [Vocabulary System](features/vocabulary-system.md) | Word storage, audio, import | 8-12h | ⏳ Planned | Phase 1, 2.1 | | 2.4 | [Quiz System](features/quiz-system.md) | Multiple question types, scoring | 6-10h | ⏳ Planned | Phase 1, 2.1 | ### Deliverables - βœ… Complete CEFR level and lesson management - βœ… User progress tracking with sequential unlocking - βœ… Mistral-Medium API integration for story generation - βœ… Vosk speech recognition integration - βœ… Coqui TTS integration for audio generation - βœ… Vocabulary CRUD with article tracking - βœ… Bulk vocabulary import from Goethe/DW - βœ… Quiz CRUD with 4 question types - βœ… Quiz scoring and pass/fail determination - βœ… Progress tracking on quiz completion ### Success Criteria - All lesson content can be managed - AI services generate stories, recognize speech, and generate audio - Vocabulary system with audio works end-to-end - Quiz system with all question types works - Progress tracking updates correctly ### Week 3 | Day | Developer | Tasks | Hours | Feature | |-----|-----------|-------|-------|---------| | 11 | Backend | Create Level/Lesson entities | 3 | 2.1 | | 11 | Backend | Create UserProgress entity | 2 | 2.1 | | 12 | Backend | Create repositories | 3 | 2.1 | | 12 | Backend | Create services | 3 | 2.1 | | 13 | Backend | Create controllers | 2 | 2.1 | | 13 | Backend | Implement unlocking logic | 2 | 2.1 | | 14 | Backend | Write tests for Lesson Mgmt | 3 | 2.1 | | 14 | Backend | Start AI Services | 2 | 2.2 | ### Week 4 | Day | Developer | Tasks | Hours | Feature | |-----|-----------|-------|-------|---------| | 15 | Backend | Configure Mistral API client | 3 | 2.2 | | 15 | Backend | Implement retry/rate limiting | 2 | 2.2 | | 16 | Backend | Set up Vosk Python environment | 3 | 2.2 | | 16 | Backend | Create VoskService | 3 | 2.2 | | 17 | Backend | Set up Coqui TTS environment | 2 | 2.2 | | 17 | Backend | Create TtsService | 3 | 2.2 | | 18 | Backend | Create health checks | 2 | 2.2 | | 18 | Backend | Test AI Services | 2 | 2.2 | | 19 | Backend | Start Vocabulary System | 4 | 2.3 | | 20 | Backend | Start Quiz System | 4 | 2.4 | --- ## Phase 3: Content & Features πŸ“š **Duration:** 2 weeks | **Total Hours:** 30-42h | **Priority:** High ### Objective Implement the content management features (story integration, gamification) that build on the core backend. ### Features | # | Feature | Description | Hours | Status | Dependencies | |---|---------|-------------|-------|--------|--------------| | 3.1 | [Story Integration](features/story-integration.md) | AI-generated stories with audio | 8-12h | ⏳ Planned | Phase 2 | | 3.2 | [Gamification](features/gamification.md) | Points, badges, streaks | 6-8h | ⏳ Planned | Phase 2 | ### Deliverables - βœ… Story generation per level using Mistral - βœ… Story segmentation per lesson - βœ… Story audio generation using Coqui TTS - βœ… Sequential story unlocking with lesson completion - βœ… Word click-to-translate functionality - βœ… Points system for lessons and quizzes - βœ… Badge system with automatic awarding - βœ… Daily streak tracking - βœ… User dashboard with gamification display ### Success Criteria - Stories generate correctly with level-appropriate vocabulary - Story audio is clear and accessible - Stories unlock sequentially as users complete lessons - Points and badges are awarded correctly - Streaks track daily activity accurately ### Week 5 | Day | Developer | Tasks | Hours | Feature | |-----|-----------|-------|-------|---------| | 21 | Backend | Create StorySegment entity | 2 | 3.1 | | 21 | Backend | Create StoryService | 3 | 3.1 | | 22 | Backend | Create StoryGenerationService | 3 | 3.1 | | 22 | Backend | Implement Mistral integration | 2 | 3.1 | | 23 | Backend | Create StoryController | 2 | 3.1 | | 23 | Backend | Generate audio for stories | 3 | 3.1 | | 24 | Backend | Test Story Integration | 2 | 3.1 | | 24 | Backend | Start Gamification | 2 | 3.2 | ### Week 6 | Day | Developer | Tasks | Hours | Feature | |-----|-----------|-------|-------|---------| | 25 | Backend | Update User entity with gamification fields | 2 | 3.2 | | 25 | Backend | Create Badge/UserBadge entities | 2 | 3.2 | | 26 | Backend | Create PointsService | 2 | 3.2 | | 26 | Backend | Create BadgeService | 3 | 3.2 | | 27 | Backend | Create StreakService | 2 | 3.2 | | 27 | Backend | Create GamificationController | 2 | 3.2 | | 28 | Backend | Write tests for Gamification | 2 | 3.2 | | 28 | Backend | Finalize Phase 3 | 2 | Both | --- ## Phase 4: Frontend 🎨 **Duration:** 2 weeks | **Total Hours:** 10-16h | **Priority:** High ### Objective Implement the complete React + TypeScript frontend application with all UI components, pages, and services. ### Features | # | Feature | Description | Hours | Status | Dependencies | |---|---------|-------------|-------|--------|--------------| | 4.1 | [Frontend UI](features/frontend-ui.md) | Complete React frontend | 10-16h | ⏳ Planned | Phase 2-3 | ### Deliverables - βœ… React 19 + TypeScript + Vite project setup - βœ… Tailwind CSS styling - βœ… All shared components (Button, Input, Card, AudioPlayer, Recorder, Modal, Notification) - βœ… Authentication pages (Login, Register, Profile) - βœ… Dashboard page with progress tracking - βœ… Lesson pages with all tabs (Vocabulary, Grammar, Story, Reading, Listening, Speaking, Writing, Quiz) - βœ… Quiz pages with all question types - βœ… Story pages with audio playback - βœ… Practice pages for speaking/writing - βœ… API client with Axios - βœ… Authentication context and protected routes - βœ… State management with Zustand - βœ… Responsive design for mobile, tablet, desktop - βœ… Accessibility compliance (WCAG 2.1 AA) ### Success Criteria - All pages load without errors - All components render correctly - Authentication flow works end-to-end - Audio playback and recording work on all supported browsers - Responsive design works on all screen sizes - Application is accessible to screen readers and keyboard users ### Week 7 | Day | Developer | Tasks | Hours | Feature | |-----|-----------|-------|-------|---------| | 29 | Frontend | Initialize Vite + React + TypeScript project | 3 | 4.1 | | 29 | Frontend | Install dependencies (Router, Tailwind, Axios, Zustand) | 2 | 4.1 | | 30 | Frontend | Create API client with interceptors | 2 | 4.1 | | 30 | Frontend | Create AuthContext and protected routes | 3 | 4.1 | | 31 | Frontend | Create Layout components (Header, Footer) | 3 | 4.1 | | 31 | Frontend | Create shared UI components | 3 | 4.1 | | 32 | Frontend | Create Auth pages (Login, Register, Profile) | 4 | 4.1 | ### Week 8 | Day | Developer | Tasks | Hours | Feature | |-----|-----------|-------|-------|---------| | 33 | Frontend | Create Dashboard page | 3 | 4.1 | | 33 | Frontend | Create Lesson page with tabs | 4 | 4.1 | | 34 | Frontend | Create Quiz pages and components | 4 | 4.1 | | 34 | Frontend | Create Story pages and components | 3 | 4.1 | | 35 | Frontend | Create Practice pages | 3 | 4.1 | | 35 | Frontend | Add loading states and error handling | 2 | 4.1 | | 36 | Frontend | Responsive design tweaks | 3 | 4.1 | | 37 | Frontend | Accessibility audit | 2 | 4.1 | | 38 | Frontend | Performance optimization | 2 | 4.1 | | 38 | Frontend | Final testing and polish | 2 | 4.1 | --- ## πŸ“… Project Timeline Summary | Phase | Duration | Hours | Features | Status | |-------|----------|-------|----------|--------| | Phase 1: Foundation | 2 weeks | 30-42h | 2 | ⏳ Planned | | Phase 2: Core Backend | 2 weeks | 42-58h | 4 | ⏳ Planned | | Phase 3: Content & Features | 2 weeks | 30-42h | 2 | ⏳ Planned | | Phase 4: Frontend | 2 weeks | 10-16h | 1 | ⏳ Planned | | **Total** | **8 weeks** | **112-158h** | **9** | ⏳ Planned | **For a small team (2-3 developers):** ~4-5 weeks **For a solo developer:** ~8-10 weeks **For a larger team (4+ developers):** ~3-4 weeks --- ## πŸ“Š Resource Allocation Scenarios ### Scenario 1: Solo Developer (8-10 weeks) ``` Week 1-2: Phase 1 - Foundation (30-42h) Week 3-4: Phase 2 - Core Backend (42-58h) Week 5-6: Phase 3 - Content & Features (30-42h) Week 7-8: Phase 4 - Frontend (10-16h) Week 9-10: Testing, Polish, Bug Fixes (20h) ``` **Total:** ~152-178 hours across 10 weeks ### Scenario 2: Team of 2 (4-5 weeks) **Developer A (Backend Focus):** - Week 1: Infrastructure (14h) + Auth (4h) = 18h - Week 2: Lesson Mgmt (14h) + AI Services (8h) = 22h - Week 3: Vocabulary (10h) + Quiz (8h) = 18h - Week 4: Story (10h) + Gamification (6h) = 16h - Week 5: Frontend support + Testing = 16h **Developer B (Full-Stack):** - Week 1: Auth (2h) + Lesson Mgmt (2h) = 4h - Week 2: AI Services (8h) + Vocabulary (2h) = 10h - Week 3: Quiz (2h) + Story (2h) + Gamification (2h) = 6h - Week 4: Frontend (16h) = 16h - Week 5: Frontend (16h) + Testing = 16h **Total:** ~142-158 hours across 5 weeks ### Scenario 3: Team of 3 (3-4 weeks) **Developer A (Backend Lead):** - Infrastructure, Auth, Lesson Mgmt, AI Services **Developer B (Backend):** - Vocabulary, Quiz, Story, Gamification **Developer C (Frontend):** - Wait for Phase 2, then build entire frontend **Total:** ~112-158 hours across 3-4 weeks --- ## 🎯 Milestones & Checkpoints ### Milestone 1: Foundation Complete (End of Week 2) **Success Metrics:** - [ ] Backend project builds and runs - [ ] Database is configured and accessible - [ ] Docker containers work - [ ] CI/CD pipeline passes - [ ] Authentication works end-to-end - [ ] Can start any Phase 2 feature **Exit Criteria:** - All Phase 1 acceptance criteria met - All Phase 1 tests passing - All Phase 1 documentation complete ### Milestone 2: Core Backend Complete (End of Week 4) **Success Metrics:** - [ ] Lesson management works - [ ] AI services integrate successfully - [ ] Vocabulary system works with audio - [ ] Quiz system works with all question types - [ ] Progress tracking updates correctly - [ ] Can start any Phase 3 feature **Exit Criteria:** - All Phase 2 acceptance criteria met - All Phase 2 tests passing - All Phase 2 documentation complete ### Milestone 3: Content & Features Complete (End of Week 6) **Success Metrics:** - [ ] Story generation and audio works - [ ] Stories unlock sequentially - [ ] Gamification (points, badges, streaks) works - [ ] Can start Frontend implementation **Exit Criteria:** - All Phase 3 acceptance criteria met - All Phase 3 tests passing - All Phase 3 documentation complete ### Milestone 4: Frontend Complete (End of Week 8) **Success Metrics:** - [ ] All pages render without errors - [ ] All components work correctly - [ ] Authentication flow works - [ ] Audio playback and recording works - [ ] Responsive design works - [ ] Application is production-ready **Exit Criteria:** - All Phase 4 acceptance criteria met - All Phase 4 tests passing - All Phase 4 documentation complete ### Milestone 5: Production Deployment (End of Week 9-10) **Success Metrics:** - [ ] All features deployed to production - [ ] Performance meets targets - [ ] Security review complete - [ ] User testing successful - [ ] Bug count is acceptable **Exit Criteria:** - Application is live and accessible - Users can register, login, and use all features - No critical bugs - Performance is acceptable --- ## 🚨 Critical Path Analysis The **critical path** (longest sequence of dependent tasks) is: ``` Infrastructure Setup (10-14h) ↓ User Authentication (4-6h) ↓ Lesson Management (10-16h) ↓ Vocabulary System (8-12h) + Quiz System (6-10h) [Parallel] ↓ Story Integration (8-12h) + Gamification (6-8h) [Parallel] ↓ Frontend UI (10-16h) ``` **Total Critical Path: 56-82 hours** (~7-10 days) This means the **minimum project duration** is determined by this path, even with parallel development on other features. --- ## πŸ“ˆ Risk Management ### Top 5 Project Risks | # | Risk | Likelihood | Impact | Mitigation | Owner | Phase | |---|------|------------|--------|------------|-------|-------| | 1 | Python-.NET integration failures | High | High | Use Process.Start initially, implement proper error handling | Backend | 2 | | 2 | AI service performance issues | High | Medium | Implement async processing, rate limiting, caching | Backend | 2 | | 3 | Vosk/Coqui model compatibility | Medium | High | Test with models before implementation, have fallbacks | Backend | 2 | | 4 | Mistral API costs exceed budget | Medium | High | Monitor usage, cache aggressively, set budget alerts | Product | 2 | | 5 | Scope creep (adding more features) | Medium | Medium | Stick to MVP scope, defer nice-to-haves | PM | All | ### Risk Monitoring **Daily:** Check AI service health and costs **Weekly:** Review progress against roadmap **Phase End:** Conduct risk review before starting next phase --- ## πŸ› οΈ Tooling & Environment ### Development Environment - **OS:** Linux (recommended), Windows 10/11, or macOS - **Backend:** .NET 9.0 SDK - **Frontend:** Node.js 18+, npm/yarn - **Database:** PostgreSQL 15+ - **AI Services:** - Python 3.8+ - Vosk + vosk-model-de-0.22 (~500MB) - Coqui TTS + German model (~1.5GB) - **Docker:** Docker Desktop or Docker Engine - **IDE:** Visual Studio Code, Rider, or Visual Studio ### DevOps - **Version Control:** Git + GitHub - **CI/CD:** GitHub Actions - **Containerization:** Docker + Docker Compose - **Monitoring:** Health checks, logging --- ## πŸŽ“ Team Onboarding ### New Team Member Checklist 1. **Environment Setup** (Day 1) - [ ] Clone repository - [ ] Install .NET 9.0 SDK - [ ] Install Node.js 18+ - [ ] Install PostgreSQL - [ ] Install Docker - [ ] Install Python 3.8+ - [ ] Download Vosk model - [ ] Download Coqui TTS model - [ ] Run `docker-compose up` - [ ] Verify all services are running 2. **Project Familiarization** (Day 2) - [ ] Read AGENTS.md - [ ] Read Application Plan - [ ] Review Clean Architecture structure - [ ] Review current feature plans - [ ] Understand development workflow 3. **First Task** (Day 3) - [ ] Pick a "good first issue" from backlog - [ ] Create feature branch - [ ] Implement with tests - [ ] Submit PR for review --- ## πŸ“Š Success Metrics ### Quality Metrics | Metric | Target | Measurement | |--------|--------|-------------| | Code Coverage | 80%+ | SonarQube / Coverlet | | Test Pass Rate | 100% | CI/CD Pipeline | | Build Success Rate | 99% | CI/CD Pipeline | | Deployment Frequency | Daily | GitHub Actions | | Mean Time to Repair | <4h | Incident Tracking | ### Performance Metrics | Metric | Target | Measurement | |--------|--------|-------------| | Backend Response Time | <500ms | Health Checks | | Frontend Load Time | <2s | Lighthouse | | API Latency (p95) | <300ms | Application Insights | | AI Service Response | <5s | Custom Monitoring | ### Business Metrics | Metric | Target | Measurement | |--------|--------|-------------| | User Registration | 100+/month | Analytics | | Active Users | 50+/day | Analytics | | Lesson Completion Rate | 80%+ | Database | | Quiz Pass Rate | 80%+ | Database | | User Retention (7-day) | 50%+ | Analytics | --- ## πŸ“ Version History | Version | Date | Author | Changes | |---------|------|--------|---------| | 1.0 | May 31, 2025 | Vibe AI | Initial roadmap based on feature plans | --- ## πŸ“š Related Documentation - [Feature Plans](features/README.md) - Detailed feature implementation plans - [AGENTS.md](../AGENTS.md) - Development rules and workflows - [Application Plan](architecture/application-plan.md) - Overall project vision - [Backend Structure](architecture/backend-structure.md) - Technical architecture - [Frontend Structure](architecture/frontend-structure.md) - Frontend architecture - [Database Schema](database/initial-database-schema.sql) - Database design --- *Last updated: May 31, 2025* *Roadmap based on Clean Architecture, TDD, and Agile principles*