> For the complete documentation index, see [llms.txt](https://hossams-organization-1.gitbook.io/edulink/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://hossams-organization-1.gitbook.io/edulink/chapter-6-developer-guide.md).

# Chapter 6: Developer Guide

## Folder Structure&#x20;

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&#x20;

## 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
