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