Polyglot Pathways is an innovative, cross-platform Flutter mobile application designed to facilitate comprehensive language learning across five languages: English, Spanish, Portuguese, French, and German. The platform offers a structured 50-day program that combines modern mobile development with sophisticated internationalization techniques.
graph TD
subgraph User Interface
A[HomeScreen] -->|Navigate| B[LessonScreen]
B -->|Audio| C[AudioPlayer]
end
subgraph State Management
D[LanguageService] -->|Provides| A
E[ProgressService] -->|Tracks| A
E -->|Updates| B
end
subgraph Resources
F[assets/translations/] -->|Load| G[AppLocalizations]
H[assets/audio/] -->|Stream| C
I[SharedPreferences] -->|Persist| D
I -->|Persist| E
end
subgraph User Interactions
U[User] -->|Select Language| A
U -->|Choose Day| B
U -->|Play Audio| C
U -->|Track Progress| E
end
style A fill:#f9f,stroke:#333,stroke-width:2px
style B fill:#f9f,stroke:#333,stroke-width:2px
style C fill:#bbf,stroke:#333,stroke-width:2px
style D fill:#bbf,stroke:#333,stroke-width:2px
style E fill:#bbf,stroke:#333,stroke-width:2px
style I fill:#bfb,stroke:#333,stroke-width:2px
style F fill:#fbb,stroke:#333,stroke-width:2px
style H fill:#fbb,stroke:#333,stroke-width:2px
classDef userNode fill:#fcf,stroke:#333,stroke-width:2px
class U userNode
polyglot-pathways/
โ
โโโ lib/ # Flutter source code
โ โโโ main.dart # App entry point with multi-provider setup
โ โ
โ โโโ models/ # Data models
โ โ โโโ language.dart # Language enum and properties
โ โ โโโ lesson.dart # Lesson data model
โ โ โโโ progress.dart # User progress tracking
โ โ โโโ achievement.dart # Achievement definitions (NEW)
โ โ โโโ streak.dart # Streak tracking model (NEW)
โ โ
โ โโโ screens/ # UI screens
โ โ โโโ onboarding_screen.dart # 4-page onboarding (NEW)
โ โ โโโ main_navigation_screen.dart # Bottom nav container (NEW)
โ โ โโโ home_screen.dart # Enhanced home with stats (UPDATED)
โ โ โโโ lesson_screen.dart # Enhanced audio player (UPDATED)
โ โ โโโ profile_screen.dart # User profile & stats (NEW)
โ โ โโโ achievements_screen.dart # Achievement gallery (NEW)
โ โ โโโ settings_screen.dart # App settings (NEW)
โ โ
โ โโโ widgets/ # Reusable widgets
โ โ โโโ language_card.dart
โ โ โโโ course_structure.dart
โ โ โโโ day_grid.dart
โ โ
โ โโโ services/ # Business logic
โ โ โโโ language_service.dart # UI language management
โ โ โโโ progress_service.dart # Lesson progress tracking
โ โ โโโ settings_service.dart # App settings (NEW)
โ โ โโโ gamification_service.dart # Achievements & streaks (NEW)
โ โ
โ โโโ theme/ # Theme configuration (NEW)
โ โ โโโ app_theme.dart # Light/dark themes, colors, styles
โ โ
โ โโโ utils/ # Utilities
โ โโโ app_localizations.dart
โ
โโโ assets/ # Application assets
โ โโโ audio/ # Multilingual audio content
โ โ โโโ day*_*.mp3 # 250 audio files (50 days ร 5 languages)
โ โโโ translations/ # Language resource files
โ โ โโโ en.json # English UI translations
โ โ โโโ es.json # Spanish UI translations
โ โ โโโ pt.json # Portuguese UI translations
โ โ โโโ fr.json # French UI translations
โ โ โโโ de.json # German UI translations
โ โ โโโ day.*.json # Lesson-specific translations
โ โโโ lessons/ # Lesson text content
โ
โโโ android/ # Android platform code
โโโ ios/ # iOS platform code
โโโ web/ # Web platform code
โ
โโโ pubspec.yaml # Flutter dependencies
โโโ language_phrases_days_*.py # Content generation scripts
- 7 new screens: Onboarding, MainNavigation, Profile, Achievements, Settings
- 2 new models: Achievement, Streak
- 2 new services: SettingsService, GamificationService
- 1 new theme system: Comprehensive light/dark theme configuration
- main.dart: Multi-provider setup, theme switching, onboarding logic
- home_screen.dart: Streak display, daily goals, enhanced stats
- lesson_screen.dart: Speed control, loop mode, achievement notifications
- Cross-platform mobile application (Android, iOS, Web)
- Modern Material Design 3 UI
- Responsive, mobile-first design
- Provider state management
- SharedPreferences for data persistence
- Dynamic multilingual support
- Seamless language switching
- Comprehensive translation management
- Support for 5 languages:
- ๐ฌ๐ง English
- ๐ช๐ธ Spanish
- ๐ง๐ท Portuguese
- ๐ซ๐ท French
- ๐ฉ๐ช German
stateDiagram-v2
[*] --> English
English --> ContentLoading
Spanish --> ContentLoading
Portuguese --> ContentLoading
French --> ContentLoading
German --> ContentLoading
ContentLoading --> UpdateUI
UpdateUI --> SaveState
SaveState --> [*]
state ContentLoading {
[*] --> LoadTranslations
LoadTranslations --> LoadAudio
LoadAudio --> [*]
}
- Structured 50-day learning curriculum
- Progressive learning path
- Interactive lesson interfaces
- Multimedia learning approach (text + audio)
- Python-based content generation scripts
- Systematic content organization
- Scalable content management
- Multilingual audio file management
- Text-to-speech integration
- Cross-language audio content
flowchart TD
A[Start Learning Journey] --> B[Days 1-7]
B --> C[Days 8-15]
C --> D[Days 16-26]
D --> E[Days 27-31]
E --> F[Days 32-50]
B --- B1[Basic Vocabulary]
B --- B2[30min/day]
B --- B3[Core Grammar]
C --- C1[Advanced Communication]
C --- C2[45min/day]
C --- C3[Cultural Context]
D --- D1[Global Living]
D --- D2[60min/day]
D --- D3[Professional Skills]
E --- E1[Tech Professional]
E --- E2[60min/day]
E --- E3[Industry Terms]
F --- F1[Advanced Professional]
F --- F2[90min/day]
F --- F3[Business Fluency]
style B fill:#e6f3ff
style C fill:#e6f3ff
style D fill:#e6f3ff
style E fill:#e6f3ff
style F fill:#e6f3ff
classDef timeNode fill:#f9f,stroke:#333
class B2,C2,D2,E2,F2 timeNode
-
Basic Vocabulary (Days 1-7)
- Fundamental communication skills
- Core grammar and phrases
-
Advanced Communication (Days 8-15)
- Professional and cultural expressions
- Complex conversation techniques
-
Global Living (Days 16-26)
- Professional and daily life vocabulary
- Cross-cultural communication skills
-
Tech Professional Content (Days 27-31)
- Industry-specific terminology
- Digital communication skills
-
Advanced Professional Skills (Days 32-50)
- Academic and business communication
- Complex negotiation techniques
- Flutter SDK 3.0.0 or higher
- Dart SDK 3.0.0 or higher
- Android Studio / Xcode (for mobile development)
- A physical device or emulator
Follow the official Flutter installation guide for your operating system: https://docs.flutter.dev/get-started/install
git clone https://github.com/dbsectrainer/PolyglotPathways.git
cd PolyglotPathwaysflutter pub getflutter run -d androidflutter run -d iosflutter run -d chromeflutter build apk --releaseflutter build ios --releaseflutter build web --release- Bottom Navigation: 4-tab navigation (Home, Achievements, Profile, Settings)
- Onboarding Flow: Beautiful welcome screens with smooth animations
- Dark Mode: Full dark theme support with automatic switching
- Accessibility: Text scaling (0.85x - 1.3x), high contrast, screen reader support
- Animations: Smooth transitions and micro-interactions using flutter_animate
- Material Design 3: Modern, polished interface following latest design guidelines
- Achievements: 17 unique achievements across 4 categories
- Lesson milestones (First Lesson, 10/25/50 lessons completed)
- Streak rewards (7, 14, 30, 100 day streaks)
- Multilingual badges (Bronze, Silver, Gold polyglot)
- Special achievements (Early Bird, Night Owl, Speed Learner)
- Streak Tracking: Daily learning streak with longest streak record
- Progress Visualization: Interactive charts showing progress across all languages
- Daily Goals: Customizable daily lesson targets (1-10 lessons/day)
- Achievement Notifications: Celebrate unlocks with confetti and snackbars
- Playback Speed Control: 0.5x to 2.0x speed (6 preset speeds)
- Repeat/Loop Mode: Continuous playback for practice
- Quick Navigation: 10-second forward/backward buttons
- Restart Function: One-tap restart to beginning
- Progress Slider: Precise seeking to any position
- Real-time Duration: Current position and total duration display
- Multi-Language Dashboard: Track progress across all 5 languages
- Interactive Charts: Bar charts showing lessons completed per language
- Streak Visualization: Current streak, longest streak, total lessons
- Daily Goal Progress: Real-time progress toward daily targets
- Recent Activity: Timeline of recent achievements and completions
- Overall Statistics: Comprehensive stats on profile screen
- User Profile: Personal stats, achievement count, language progress
- Customizable Settings:
- Dark/Light theme toggle
- Text size adjustment (4 presets)
- Daily goal configuration
- Sound effects toggle
- Notification preferences
- Interface language selection
- Data Management: Reset settings or progress options
- Tutorial Access: Re-view onboarding anytime
- Cross-platform mobile application (Android, iOS, Web)
- Progress tracking with local persistence
- Multilingual content in 5 languages
- High-quality audio playback with advanced controls
- Responsive design optimized for mobile devices
- SharedPreferences-based session persistence
- Offline-first architecture
- Provider-based state management
- Custom internationalization system
App Entry
โโโ Onboarding (First Launch)
โ โโโ 4-screen tutorial with animations
โโโ Main Navigation (Bottom Tabs)
โโโ Home Tab
โ โโโ Streak display
โ โโโ Daily goal tracker
โ โโโ Language selection cards
โ โโโ Day grid for selected language
โโโ Achievements Tab
โ โโโ Progress header (X/17 unlocked)
โ โโโ Category tabs (All, Lessons, Streaks, Languages, Special)
โ โโโ Achievement cards with unlock status
โโโ Profile Tab
โ โโโ Profile header with streak
โ โโโ Statistics overview (4 stat cards)
โ โโโ Progress by language (bar chart)
โ โโโ Recent activity timeline
โโโ Settings Tab
โโโ Appearance (dark mode, text size)
โโโ Learning (daily goal, hints)
โโโ Audio & Sound (effects toggle)
โโโ Notifications (reminders)
โโโ Interface Language
โโโ Data Management
- Communicate with ~2 billion people
- Access to international job markets
- Enhanced cross-cultural communication skills
This project is licensed under the MIT License - see the LICENSE file for details.
We welcome contributions! Please see our Contributing Guidelines for details on:
- Reporting bugs
- Suggesting enhancements
- Code contributions
- Documentation improvements
- Translation contributions
- Pull request process
All contributors must adhere to our Code of Conduct.
This repository is maintained by Donnivis Baker. For questions or feedback, please open an issue or reach out directly.