How keziakdos/didutchdos works
DiDutch is a Flutter app for learning Dutch through a daily habit, Anki-derived cards, and progress from A1 to B1. Its documented user journey is to open the dashboard, study cards in a review session, and track progression or adjust goals and notifications in settings. The README identifies the app/navigation, data, and service responsibilities; source excerpts for the Dart runtime were not provided, so internal call wiring beyond those documented responsibilities is left out.
Main entry points: app.dart App navigation · main.dart Entry point · dashboard_page.dart Dashboard · review_page.dart Review session
Components 16
Application
- Entry point
lib/main.dart - App navigation
lib/app.dart
Learning experience
- Dashboard
lib/features/dashboard/dashboard_page.dart - Review session
lib/features/review/review_page.dart - Review controller
lib/features/review/review_controller.dart - Settings
lib/features/settings/settings_page.dart
Learning services
- Anki import
lib/services/anki_import/anki_import_service.dart - Spaced repetition
lib/services/spaced_repetition/sm2_engine.dart - Progression
lib/services/progression/progression_service.dart - Notifications
lib/services/notifications/notification_service.dart
Data layer
- Data repositories
lib/data/repositories - SQLite database
lib/data/database/app_database.dart - Study card
lib/data/models/study_card.dart - Card type
lib/data/models/card_type.dart - User progress
lib/data/models/user_progress.dart
Other components
- Learner
Connections 5
- Learner → App navigation: opens
- Entry point → App navigation: starts
- App navigation → Dashboard: navigates
- App navigation → Review session: navigates
- App navigation → Settings: navigates