Chapter 6: Developer Guide
Folder Structure
user interface, and dashboards. Here's a detailed look:
Copy
EduLink/
├── android/ # Android-specific code and config
├── assets/ # Images, icons, and static resources
├── build/ # Auto-generated build files (ignored)
├── functions/ # Firebase Cloud Functions (backend logic)
├── lib/
│ ├── core/ # Shared core services and utilities
│ └── features/ # Main app features organized by module
│ ├── about/
│ │ └── presentation/
│ │ └── views/
│ │ ├── widgets/
│ │ │ └── about_view_body.dart
│ │ └── about_view.dart
│ ├── auth/ # Authentication screens and logic
│ ├── chat/ # One-to-one chat module
│ ├── content/ # General content logic
│ ├── course_details/ # Details view for each course
│ ├── home/ # Home screen
│ ├── manage_course/ # Course creation/editing by professors
│ ├── manage_profile/ # Profile editing functionality
│ ├── profile/ # Profile screen
│ ├── q_a_forum/ # Course Q&A forum system
│ ├── question_details/ # Detailed view for forum questions
│ ├── register_courses/ # Course registration module
│ └── settings/ # Theme and app settings
├── generated/ # Auto-generated files (e.g. localization)
├── l10n/ # Localization settings
├── firebase_options.dart # Firebase configuration file
├── main_app.dart # Main app structure (widgets, routes, etc.)
└── main.dart # App entry point
Notice :Organizing the project into clear, modular directories makes development easier to manage, improves team collaboration, and ensures the app remains scalable and maintainable over time
Setup Instructions
Install Flutter & Dart
Clone project and run
flutter pub get
Connect Firebase by adding
google-services.json
Run
flutter run
on emulator or device
Contribution Guidelines
Use feature branches for new features
Commit messages should be clear and descriptive
Test locally before pushing
Create pull requests for review
Last updated