A modern Flutter-based education platform that provides an interactive learning experience with real-time features.
-
Course Management
- Create and manage educational courses
- Upload course materials and videos
- Track course progress
- Real-time course updates
-
Interactive Learning
- Real-time chat functionality
- Group discussions
- File sharing capabilities
- Exam
-
User Experience
- Modern and intuitive UI
- Responsive design
- Offline support
- Push notifications
The app follows a clean architecture pattern with the following layers:
lib/
├── core/ # Core functionality and utilities
│ ├── errors/ # Error handling
│ ├── utils/ # Utility functions
│ └── widgets/ # Reusable widgets
│
├── src/ # Feature modules
│ ├── course/ # Course management
│ │ ├── data/ # Data layer
│ │ ├── domain/ # Business logic
│ │ └── presentation/# UI components
│ │
│ ├── chat/ # Chat functionality
│ │ ├── data/ # Data layer
│ │ ├── domain/ # Business logic
│ │ └── presentation/# UI components
│ │
│ └── auth/ # Authentication
│ ├── data/ # Data layer
│ ├── domain/ # Business logic
│ └── presentation/# UI components
-
Frontend
- Flutter 3.19.0
- Dart 3.3.0
- Bloc for state management
- GetIt for dependency injection
-
Backend
- Firebase Firestore for real-time database
- Firebase Authentication
- Supabase for file storage
- Cloud Functions for backend logic
-
Development Tools
- Very Good Analysis for code quality
- Flutter Bloc for state management
- Equatable for value equality
- Freezed for code generation
-
Prerequisites
- Flutter SDK 3.19.0 or higher
- Dart SDK 3.3.0 or higher
- Firebase CLI
- Supabase CLI
-
Installation
git clone https://github.com/yourusername/education_app.git cd education_app flutter pub get -
Configuration
- Set up Firebase project
- Configure Supabase storage
- Add configuration files
-
Running the App
flutter run
Contributions are welcome! Please feel free to submit a Pull Request.