A modern language learning application built with Flutter that focuses on vocabulary acquisition, grammar learning, and pronunciation practice.
- Swipe Cards: Learn new words through an intuitive card swiping interface
- Word Status: Track words as "learning", "learned", or "skipped"
- Audio Pronunciation: Listen to correct pronunciations
- Part of Speech: Visual indicators for different parts of speech (nouns, verbs, adjectives, etc.)
- Search: Find words quickly
- Filtering: Filter by learning status
- Details View: Comprehensive word information including definitions and examples
- Categorized Content: Browse grammar topics by category
- Progress Tracking: Monitor your progress through grammar lessons
- Rich Content: Beautifully formatted lessons with tables, lists, and examples
- Markdown Rendering: High-quality display of grammar content
- Theme Settings: Customize app appearance
- Notification Preferences: Control learning reminders
- Learning Goals: Set daily study targets
The app is built using the MVVM (Model-View-ViewModel) architecture with:
- Repository Pattern: Clean separation of data sources
- Dependency Injection: Using GetIt for service location
- Feature-First Organization: Code organized by feature rather than layer
- Flutter: UI framework
- Dart: Programming language
- Provider: State management
- just_audio: Audio playback
- flutter_markdown: Markdown rendering
- flutter_card_swiper: Card swiping interface
- shared_preferences: Local storage
- Clone the repository
- Run
flutter pub get
to install dependencies - Make sure you have the Flutter SDK installed
- Run
flutter run
to start the app
The app connects to a RESTful backend API with endpoints for:
- Authentication
- Dictionary
- Learning progress
- Grammar categories and lessons
Contributions are welcome! Please feel free to submit a Pull Request.
This project is licensed under the MIT License - see the LICENSE file for details.