Bash
Overview
The RamySmart Architecture Pipeline
+----------------+ +----------------+ +----------------+
| UI Layer | | Data Layer | | Storage |
| (Flutter) | | (Provider) | | |
| | | | | |
| Course Catalog |---->| CourseManager |---->| Firebase |
| Assignments | | Singleton | | Firestore |
| Video Player | | ChangeNotifier | | |
| E-Commerce | | | | SQLite |
| | | MathJS API | | Local DB |
+----------------+ +----------------+ +----------------+
Step One: Project Setup
Dependencies
Yaml
Project Structure
lib/
├── main.dart
├── screens/
│ └── Home/
│ ├── course_home.dart
│ └── widget/
│ ├── account_profile.dart
│ ├── assignment_model.dart
│ ├── cart.dart
│ ├── course_detail_page.dart
│ ├── course_list.dart
│ ├── course_manager.dart
│ ├── essay_assignment_screen.dart
│ ├── featured_courses.dart
│ ├── main_screen.dart
│ ├── my_courses.dart
│ ├── notification_page.dart
│ └── wishlist.dart
└── util/
└── constants.dart
Firebase Setup
Bash
Step Two: State Management
Provider Pattern
Dart
Singleton Pattern
Dart
Step Three: Local Database with SQLite
Database Schema
Sql
Reading and Writing Progress
Dart
Step Four: YouTube Video Integration
YouTube Player Setup
Dart
Step Five: Assignment System
MCQ Auto-Grading
Dart
Essay Assignment with Word Counter
Dart
Step Six: E-Commerce Features
Promo Code and Discount System
Dart
Cart Management
Dart
Optimization Tips
Lazy Loading for Course List
Dart
Image Caching for Thumbnails
Dart