How harshgupta2902/dev-o-lingo works
Dev-O-Lingo is a Flutter language-learning app. Its main user journey is social login, onboarding when needed, selecting a lesson, completing a quiz, and receiving results and updated learning rewards. The README also documents daily practice, review, social features, monetization, achievements, and notifications. The graph follows those documented responsibilities and API flows; Dart implementation details were not sampled, so uncertain internal call wiring is omitted.
Main entry points: api_client.dart HTTP Client · shop_controller.dart Shop & Purchases · main.dart App Startup · login_view.dart Login & Onboarding
Components 29
Authentication
- Login & Onboarding
lib/auth_module/view/login_view.dart - Auth Controller
lib/auth_module/controller/auth_controller.dart - Onboarding Controller
lib/auth_module/controller/onboarding_controller.dart
Lesson Learning
- Learning Dashboard
lib/home_module/view/dashboard_view.dart - Language Controller
lib/home_module/controller/language_controller.dart - Lesson Exercises
lib/home_module/view/exercises_view.dart - Exercises Controller
lib/home_module/controller/exercises_controller.dart - Lesson Quiz
lib/home_module/view/quiz_screen.dart - Lesson Results
lib/home_module/view/result_view.dart - User Stats
lib/home_module/controller/user_stats_controller.dart
Practice & Community
- Daily Practice
lib/home_module/controller/daily_practise_controller.dart - Practice Review
lib/home_module/controller/practise_center_controller.dart - Leaderboard
lib/home_module/controller/leaderboard_controller.dart - Follows & Profiles
lib/home_module/controller/social_controller.dart - Achievements
lib/home_module/controller/achievement_controller.dart
Rewards & Shop
- Shop & Purchases
lib/home_module/controller/shop/shop_controller.dart - Native Purchases
lib/home_module/controller/shop/iap_service.dart
App Platform
- App Startup
lib/main.dart - Navigation
lib/utilities/navigation/route_generator.dart - HTTP Client
lib/utilities/dio/api_client.dart - Local Preferences
lib/utilities/firebase/core_prefs.dart - Push Notifications
lib/utilities/firebase/notification_service.dart - Analytics & Crash
lib/utilities/firebase/analytics_service.dart
Other components
- Learner
- Lingo API
- Google Sign-In
- Firebase Services
- App Stores
- Ad Network
Connections 43
- Learner → Login & Onboarding: starts
- Login & Onboarding → Auth Controller: signs in
- Auth Controller → Google Sign-In: authenticates
- Auth Controller → HTTP Client: social login
- Auth Controller → Local Preferences: stores token
- Login & Onboarding → Onboarding Controller: answers onboarding
- Onboarding Controller → HTTP Client: submits answers
- Login & Onboarding → Navigation: continues
- App Startup → Local Preferences: initializes
- App Startup → Navigation: launches
- Learner → Learning Dashboard: opens lessons
- Learning Dashboard → Language Controller: loads course
- Language Controller → HTTP Client: fetches language
- Language Controller → Lesson Exercises: opens lesson
- Lesson Exercises → Exercises Controller: loads exercises
- Exercises Controller → HTTP Client: fetches exercises
- Learner → Lesson Quiz: answers questions
- Lesson Quiz → User Stats: updates hearts
- Lesson Quiz → HTTP Client: submits lesson
- HTTP Client → Lingo API: sends requests
- Lingo API → HTTP Client: returns data
- Lesson Quiz → Lesson Results: shows outcome
- User Stats → HTTP Client: loads stats
- Learner → Daily Practice: practices daily
- Daily Practice → HTTP Client: loads & submits practice
- Learner → Practice Review: reviews errors
- Practice Review → HTTP Client: loads wrong answers
- Learner → Leaderboard: views rankings
- Leaderboard → HTTP Client: loads rankings
- Learner → Follows & Profiles: manages follows
- Follows & Profiles → HTTP Client: reads & updates follows
- Learner → Achievements: views achievements
- Achievements → HTTP Client: loads achievements
- Learner → Shop & Purchases: browses shop
- Shop & Purchases → HTTP Client: loads & verifies items
- Shop & Purchases → Native Purchases: initiates purchase
- Native Purchases → App Stores: purchases
- Shop & Purchases → HTTP Client: creates purchase
- Shop & Purchases → Ad Network: offers ad rewards
- Push Notifications → Firebase Services: receives messages
- Push Notifications → Navigation: routes payload
- App Startup → Push Notifications: initializes messaging
- App Startup → Analytics & Crash: initializes services