# darel-developer/adminischool architecture

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

- Interactive diagram: https://gitdiagram.com/darel-developer/adminischool
- Repository: https://github.com/darel-developer/adminischool

## Overview

AdminiSchool is a Laravel school-management and family-communication platform. The main user workflow is that school staff, teachers, and parents access role-specific pages to manage or follow school records, exchange messages, and receive updates. The README also identifies homework, signatures, dashboards, and user management as product capabilities. Sampled code confirms payment updates can generate invoices and send SMS/email, messaging persists conversations, and offline actions can sync grades. Some feature wiring is inferred only from the README and file names; unsampled links are omitted.

Main entry points: [`routes/web.php`](https://github.com/darel-developer/adminischool/blob/master/routes/web.php) (Web routes), [`config/database.php`](https://github.com/darel-developer/adminischool/blob/master/config/database.php) (Application database), [`app/Http/Controllers/PaiementController.php`](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/PaiementController.php) (Payments and invoices), [`app/Http/Controllers/Api/SyncController.php`](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/Api/SyncController.php) (Offline grade sync)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_school["School records"]
  node_homework["Homework journal"]
  node_attendance["Attendance"]
  node_grades["Grades and reports"]
  node_planning["Schedules and events"]
  node_documents["School documents"]
  node_payments["Payments and invoices"]
  node_signature["Signature capability"]
  node_invoiceview["Invoice PDF view<br/>[invoice.blade.php]"]
  node_invoicefile["Generated invoice files"]
end

subgraph group_family["Family communication"]
  node_chat["Messaging<br/>[ChatController.php]"]
  node_teacherchat["Teacher messaging"]
  node_announcements["Announcements and notices"]
  node_notifications["Notifications"]
end

subgraph group_access["Access and dashboards"]
  node_web["Web routes<br/>[web.php]"]
  node_auth["Authentication<br/>[AuthController.php]"]
  node_dashboard["Dashboard"]
  node_schooladmin["School and class admin"]
  node_students["Student and parent records"]
end

subgraph group_platform["Offline and integrations"]
  node_database[("Application database<br/>[database.php]")]
  node_gradesync["Offline grade sync<br/>[SyncController.php]"]
  node_offlineclient["Offline client<br/>[offlineDB.js]"]
  node_serviceworker["Service worker<br/>[service-worker.js]"]
  node_infobip["Infobip messaging"]
end

node_staff(("School staff"))
node_teacher(("Teacher"))
node_parent(("Parent"))
node_browser(("Browser user"))

node_staff -->|"opens pages"| node_web
node_teacher -->|"opens pages"| node_web
node_parent -->|"opens pages"| node_web
node_web -->|"dispatches"| node_auth
node_web -->|"dispatches"| node_dashboard
node_web -->|"dispatches"| node_schooladmin
node_web -->|"dispatches"| node_students
node_web -->|"dispatches"| node_homework
node_web -->|"dispatches"| node_attendance
node_web -->|"dispatches"| node_grades
node_web -->|"dispatches"| node_planning
node_web -->|"dispatches"| node_documents
node_web -->|"dispatches"| node_payments
node_web -->|"dispatches"| node_chat
node_web -->|"dispatches"| node_teacherchat
node_web -->|"dispatches"| node_announcements
node_web -->|"dispatches"| node_notifications
node_homework -->|"reads and writes"| node_database
node_attendance -->|"reads and writes"| node_database
node_grades -->|"reads and writes"| node_database
node_planning -->|"reads and writes"| node_database
node_documents -->|"reads and writes"| node_database
node_payments -->|"reads and writes"| node_database
node_chat -->|"reads and writes"| node_database
node_teacherchat -->|"reads and writes"| node_database
node_payments -->|"renders"| node_invoiceview
node_payments -->|"writes PDF"| node_invoicefile
node_payments -->|"sends SMS/email"| node_infobip
node_payments -->|"creates notice"| node_notifications
node_browser -->|"uses offline"| node_offlineclient
node_browser -->|"registers"| node_serviceworker
node_offlineclient -->|"submits actions"| node_gradesync
node_gradesync -->|"creates grades"| node_database
node_serviceworker -->|"retries queued actions"| node_gradesync

click node_web "https://github.com/darel-developer/adminischool/blob/master/routes/web.php"
click node_auth "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/AuthController.php"
click node_dashboard "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/DashboardController.php"
click node_schooladmin "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/SchoolController.php"
click node_students "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/StudentController.php"
click node_homework "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/CahierDeTexteController.php"
click node_attendance "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/AbsenceController.php"
click node_grades "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/GradesController.php"
click node_planning "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/PlanningController.php"
click node_documents "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/FichierController.php"
click node_payments "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/PaiementController.php"
click node_chat "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/ChatController.php"
click node_teacherchat "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/TeacherMessageController.php"
click node_announcements "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/AnnouncementController.php"
click node_notifications "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/NotificationController.php"
click node_database "https://github.com/darel-developer/adminischool/blob/master/config/database.php"
click node_gradesync "https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/Api/SyncController.php"
click node_offlineclient "https://github.com/darel-developer/adminischool/blob/master/resources/js/offlineDB.js"
click node_serviceworker "https://github.com/darel-developer/adminischool/blob/master/public/service-worker.js"
click node_invoiceview "https://github.com/darel-developer/adminischool/blob/master/resources/views/invoice.blade.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_homework,node_attendance,node_grades,node_planning,node_documents,node_payments,node_signature,node_invoiceview,node_invoicefile,node_browser toneBlue
class node_chat,node_teacherchat,node_announcements,node_notifications toneAmber
class node_web,node_auth,node_dashboard,node_schooladmin,node_students toneMint
class node_database,node_gradesync,node_offlineclient,node_serviceworker,node_infobip toneRose
class node_staff,node_teacher,node_parent toneIndigo
```

## Components

### School records

- [Homework journal](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/CahierDeTexteController.php): `app/Http/Controllers/CahierDeTexteController.php`
- [Attendance](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/AbsenceController.php): `app/Http/Controllers/AbsenceController.php`
- [Grades and reports](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/GradesController.php): `app/Http/Controllers/GradesController.php`
- [Schedules and events](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/PlanningController.php): `app/Http/Controllers/PlanningController.php`
- [School documents](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/FichierController.php): `app/Http/Controllers/FichierController.php`
- [Payments and invoices](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/PaiementController.php): `app/Http/Controllers/PaiementController.php`
- **Signature capability**
- [Invoice PDF view](https://github.com/darel-developer/adminischool/blob/master/resources/views/invoice.blade.php): `resources/views/invoice.blade.php`
- **Generated invoice files**

### Family communication

- [Messaging](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/ChatController.php): `app/Http/Controllers/ChatController.php`
- [Teacher messaging](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/TeacherMessageController.php): `app/Http/Controllers/TeacherMessageController.php`
- [Announcements and notices](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/AnnouncementController.php): `app/Http/Controllers/AnnouncementController.php`
- [Notifications](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/NotificationController.php): `app/Http/Controllers/NotificationController.php`

### Access and dashboards

- [Web routes](https://github.com/darel-developer/adminischool/blob/master/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`
- [Dashboard](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [School and class admin](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/SchoolController.php): `app/Http/Controllers/SchoolController.php`
- [Student and parent records](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/StudentController.php): `app/Http/Controllers/StudentController.php`

### Offline and integrations

- [Application database](https://github.com/darel-developer/adminischool/blob/master/config/database.php): `config/database.php`
- [Offline grade sync](https://github.com/darel-developer/adminischool/blob/master/app/Http/Controllers/Api/SyncController.php): `app/Http/Controllers/Api/SyncController.php`
- [Offline client](https://github.com/darel-developer/adminischool/blob/master/resources/js/offlineDB.js): `resources/js/offlineDB.js`
- [Service worker](https://github.com/darel-developer/adminischool/blob/master/public/service-worker.js): `public/service-worker.js`
- **Infobip messaging**

### Other components

- **School staff**
- **Teacher**
- **Parent**
- **Browser user**

## Connections

- School staff → Web routes: opens pages
- Teacher → Web routes: opens pages
- Parent → Web routes: opens pages
- Web routes → Authentication: dispatches
- Web routes → Dashboard: dispatches
- Web routes → School and class admin: dispatches
- Web routes → Student and parent records: dispatches
- Web routes → Homework journal: dispatches
- Web routes → Attendance: dispatches
- Web routes → Grades and reports: dispatches
- Web routes → Schedules and events: dispatches
- Web routes → School documents: dispatches
- Web routes → Payments and invoices: dispatches
- Web routes → Messaging: dispatches
- Web routes → Teacher messaging: dispatches
- Web routes → Announcements and notices: dispatches
- Web routes → Notifications: dispatches
- Homework journal → Application database: reads and writes
- Attendance → Application database: reads and writes
- Grades and reports → Application database: reads and writes
- Schedules and events → Application database: reads and writes
- School documents → Application database: reads and writes
- Payments and invoices → Application database: reads and writes
- Messaging → Application database: reads and writes
- Teacher messaging → Application database: reads and writes
- Payments and invoices → Invoice PDF view: renders
- Payments and invoices → Generated invoice files: writes PDF
- Payments and invoices → Infobip messaging: sends SMS/email
- Payments and invoices → Notifications: creates notice
- Browser user → Offline client: uses offline
- Browser user → Service worker: registers
- Offline client → Offline grade sync: submits actions
- Offline grade sync → Application database: creates grades
- Service worker → Offline grade sync: retries queued actions
