DeutschLernen/docs/ROADMAP.md
Lasse Rune Hansen 76e8af4987 Add complete solution: documentation, frontend, and project files
- 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>
2026-05-31 18:20:53 +02:00

19 KiB
Raw Blame History

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 (A1C1)

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

  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


Last updated: May 31, 2025 Roadmap based on Clean Architecture, TDD, and Agile principles