# fandio2001/gestschool architecture

> Architecture diagram of the GitHub repository fandio2001/gestschool, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-09-24). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/fandio2001/gestschool
- Repository: https://github.com/fandio2001/gestschool

## Overview

GestSchool is a Laravel school-management web application. Its principal workflow is a user request routed to a domain controller, which reads or changes school records and returns a Blade page. The tree indicates management areas for students, teachers, classes, courses, departments, specialities, sessions, responsible parties, and disciplinary matters; sampled controllers confirm student/teacher registration and session attendance behavior. The route definitions and most controllers were not sampled, so detailed wiring for those areas is intentionally left broad.

Main entry points: [`routes/web.php`](https://github.com/fandio2001/gestschool/blob/master/routes/web.php) (Web routes), [`resources/views`](https://github.com/fandio2001/gestschool/tree/master/resources/views) (Blade pages), [`app/Models`](https://github.com/fandio2001/gestschool/tree/master/app/Models) (Eloquent models), [`app/Http/Controllers/StudentController.php`](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/StudentController.php) (Student management)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web interface"]
  node_views["Blade pages"]
end

subgraph group_domain["School operations"]
  node_auth["Authentication<br/>[AuthController.php]"]
  node_dashboard["Dashboard"]
  node_students["Student management"]
  node_teachers["Teacher management"]
  node_sessions["Class sessions"]
  node_academic["Academic setup"]
  node_courses["Course management"]
  node_departments["Departments"]
  node_specialities["Specialities"]
  node_responsibles["Responsible parties"]
  node_discipline["Disciplinary matters<br/>[CourController.php]"]
end

subgraph group_records["Domain records"]
  node_models["Eloquent models"]
  node_database[("Configured database<br/>[database.php]")]
end

subgraph group_platform["Laravel runtime"]
  node_entry["HTTP entry<br/>[index.php]"]
  node_bootstrap["App bootstrap<br/>[app.php]"]
  node_routes["Web routes<br/>[web.php]"]
end

node_user(("School user"))

node_user -->|"sends request"| node_entry
node_entry -->|"boots app"| node_bootstrap
node_bootstrap -->|"loads routes"| node_routes
node_routes -->|"dispatches"| node_auth
node_routes -->|"dispatches"| node_dashboard
node_routes -->|"dispatches"| node_students
node_routes -->|"dispatches"| node_teachers
node_routes -->|"dispatches"| node_sessions
node_routes -->|"dispatches"| node_academic
node_routes -->|"dispatches"| node_courses
node_routes -->|"dispatches"| node_departments
node_routes -->|"dispatches"| node_specialities
node_routes -->|"dispatches"| node_responsibles
node_routes -->|"dispatches"| node_discipline
node_students -->|"reads/writes"| node_models
node_teachers -->|"reads/writes"| node_models
node_sessions -->|"reads/writes"| node_models
node_academic -->|"uses records"| node_models
node_courses -->|"uses records"| node_models
node_departments -->|"uses records"| node_models
node_specialities -->|"uses records"| node_models
node_responsibles -->|"uses records"| node_models
node_discipline -->|"uses records"| node_models
node_models -->|"persists records"| node_database
node_students -->|"renders pages"| node_views
node_teachers -->|"renders pages"| node_views
node_sessions -->|"renders pages"| node_views
node_auth -->|"renders pages"| node_views
node_dashboard -->|"renders pages"| node_views
node_academic -->|"renders pages"| node_views
node_courses -->|"renders pages"| node_views
node_departments -->|"renders pages"| node_views
node_specialities -->|"renders pages"| node_views
node_responsibles -->|"renders pages"| node_views
node_discipline -->|"renders pages"| node_views

click node_entry "https://github.com/fandio2001/gestschool/blob/master/public/index.php"
click node_bootstrap "https://github.com/fandio2001/gestschool/blob/master/bootstrap/app.php"
click node_routes "https://github.com/fandio2001/gestschool/blob/master/routes/web.php"
click node_auth "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/AuthController.php"
click node_dashboard "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/DashboardController.php"
click node_students "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/StudentController.php"
click node_teachers "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/TeacherController.php"
click node_sessions "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/SessionController.php"
click node_academic "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/ClasseController.php"
click node_courses "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/CoursController.php"
click node_departments "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/DepartementController.php"
click node_specialities "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/SpecialityController.php"
click node_responsibles "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/ReponsibleController.php"
click node_discipline "https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/CourController.php"
click node_views "https://github.com/fandio2001/gestschool/tree/master/resources/views"
click node_models "https://github.com/fandio2001/gestschool/tree/master/app/Models"
click node_database "https://github.com/fandio2001/gestschool/blob/master/config/database.php"

classDef toneNeutral fill:#f8fafc,stroke:#334155,stroke-width:1.5px,color:#0f172a
classDef toneBlue fill:#dbeafe,stroke:#2563eb,stroke-width:1.5px,color:#172554
classDef toneAmber fill:#fef3c7,stroke:#d97706,stroke-width:1.5px,color:#78350f
classDef toneMint fill:#dcfce7,stroke:#16a34a,stroke-width:1.5px,color:#14532d
classDef toneRose fill:#ffe4e6,stroke:#e11d48,stroke-width:1.5px,color:#881337
classDef toneIndigo fill:#e0e7ff,stroke:#4f46e5,stroke-width:1.5px,color:#312e81
classDef toneTeal fill:#ccfbf1,stroke:#0f766e,stroke-width:1.5px,color:#134e4a
class node_views,node_user toneBlue
class node_auth,node_dashboard,node_students,node_teachers,node_sessions,node_academic,node_courses,node_departments,node_specialities,node_responsibles,node_discipline toneAmber
class node_models,node_database toneMint
class node_entry,node_bootstrap,node_routes toneRose
```

## Components

### Web interface

- [Blade pages](https://github.com/fandio2001/gestschool/tree/master/resources/views): `resources/views`

### School operations

- [Authentication](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`
- [Dashboard](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Student management](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/StudentController.php): `app/Http/Controllers/StudentController.php`
- [Teacher management](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/TeacherController.php): `app/Http/Controllers/TeacherController.php`
- [Class sessions](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/SessionController.php): `app/Http/Controllers/SessionController.php`
- [Academic setup](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/ClasseController.php): `app/Http/Controllers/ClasseController.php`
- [Course management](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/CoursController.php): `app/Http/Controllers/CoursController.php`
- [Departments](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/DepartementController.php): `app/Http/Controllers/DepartementController.php`
- [Specialities](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/SpecialityController.php): `app/Http/Controllers/SpecialityController.php`
- [Responsible parties](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/ReponsibleController.php): `app/Http/Controllers/ReponsibleController.php`
- [Disciplinary matters](https://github.com/fandio2001/gestschool/blob/master/app/Http/Controllers/CourController.php): `app/Http/Controllers/CourController.php`

### Domain records

- [Eloquent models](https://github.com/fandio2001/gestschool/tree/master/app/Models): `app/Models`
- [Configured database](https://github.com/fandio2001/gestschool/blob/master/config/database.php): `config/database.php`

### Laravel runtime

- [HTTP entry](https://github.com/fandio2001/gestschool/blob/master/public/index.php): `public/index.php`
- [App bootstrap](https://github.com/fandio2001/gestschool/blob/master/bootstrap/app.php): `bootstrap/app.php`
- [Web routes](https://github.com/fandio2001/gestschool/blob/master/routes/web.php): `routes/web.php`

### Other components

- **School user**

## Connections

- School user → HTTP entry: sends request
- HTTP entry → App bootstrap: boots app
- App bootstrap → Web routes: loads routes
- Web routes → Authentication: dispatches
- Web routes → Dashboard: dispatches
- Web routes → Student management: dispatches
- Web routes → Teacher management: dispatches
- Web routes → Class sessions: dispatches
- Web routes → Academic setup: dispatches
- Web routes → Course management: dispatches
- Web routes → Departments: dispatches
- Web routes → Specialities: dispatches
- Web routes → Responsible parties: dispatches
- Web routes → Disciplinary matters: dispatches
- Student management → Eloquent models: reads/writes
- Teacher management → Eloquent models: reads/writes
- Class sessions → Eloquent models: reads/writes
- Academic setup → Eloquent models: uses records
- Course management → Eloquent models: uses records
- Departments → Eloquent models: uses records
- Specialities → Eloquent models: uses records
- Responsible parties → Eloquent models: uses records
- Disciplinary matters → Eloquent models: uses records
- Eloquent models → Configured database: persists records
- Student management → Blade pages: renders pages
- Teacher management → Blade pages: renders pages
- Class sessions → Blade pages: renders pages
- Authentication → Blade pages: renders pages
- Dashboard → Blade pages: renders pages
- Academic setup → Blade pages: renders pages
- Course management → Blade pages: renders pages
- Departments → Blade pages: renders pages
- Specialities → Blade pages: renders pages
- Responsible parties → Blade pages: renders pages
- Disciplinary matters → Blade pages: renders pages
