- Add comprehensive documentation in docs/ (architecture, features, roadmap) - Add german-app-frontend with Vite, TypeScript, ESLint configuration - Add AGENTS.md and .gitignore Generated by Mistral Vibe. Co-Authored-By: Mistral Vibe <vibe@mistral.ai>
19 KiB
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 | .NET project, PostgreSQL, Docker, CI/CD | 10-14h | ⏳ Planned | None |
| 1.2 | User Authentication | 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 | Lessons, levels, progress tracking | 10-16h | ⏳ Planned | Phase 1 |
| 2.2 | AI Services | Mistral, Vosk, Coqui TTS integration | 10-16h | ⏳ Planned | Phase 1 |
| 2.3 | Vocabulary System | Word storage, audio, import | 8-12h | ⏳ Planned | Phase 1, 2.1 |
| 2.4 | Quiz System | 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 | AI-generated stories with audio | 8-12h | ⏳ Planned | Phase 2 |
| 3.2 | Gamification | 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 | 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
-
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
-
Project Familiarization (Day 2)
- Read AGENTS.md
- Read Application Plan
- Review Clean Architecture structure
- Review current feature plans
- Understand development workflow
-
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 - Detailed feature implementation plans
- AGENTS.md - Development rules and workflows
- Application Plan - Overall project vision
- Backend Structure - Technical architecture
- Frontend Structure - Frontend architecture
- Database Schema - Database design
Last updated: May 31, 2025 Roadmap based on Clean Architecture, TDD, and Agile principles