# ruhi16/gvn_school architecture

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

- Interactive diagram: https://gitdiagram.com/ruhi16/gvn_school
- Repository: https://github.com/ruhi16/gvn_school

## Overview

This is a Laravel/Livewire school-management application, with role-based access and workflows for managing school records, configuring exams, entering marks, and viewing student, teacher, and administrator dashboards. The likely user journey is sign-in, role-specific access, then school or exam tasks and results. The graph groups the major domain areas and includes the Eloquent model layer. Source excerpts were limited, so edges show only clearly evidenced routing, dashboard dispatch, and registration behavior; CRUD wiring and report-generation details are not asserted.

Main entry points: [`app/Http/Controllers/DashboardController.php`](https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/DashboardController.php) (Role dashboard routing), [`routes/web.php`](https://github.com/ruhi16/gvn_school/blob/main/routes/web.php) (Web routes), [`app/Models/User.php`](https://github.com/ruhi16/gvn_school/blob/main/app/Models/User.php) (User records), [`app/Http/Controllers/Auth/AuthenticatedSessionController.php`](https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php) (Authentication)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and profiles"]
  node_routes["Web routes<br/>[web.php]"]
  node_auth["Authentication"]
  node_registration["Registration"]
  node_user_model[("User records<br/>[User.php]")]
  node_profile["Profile management"]
end

subgraph group_school["School records"]
  node_school_records["School and class records"]
  node_student_records["Student records<br/>[StudentDbComp.php]"]
  node_teacher_records["Teacher records<br/>[TeacherComp.php]"]
  node_school_models[("School domain models<br/>[School.php]")]
  node_student_model[("Student records model<br/>[StudentDb.php]")]
end

subgraph group_exams["Exam operations"]
  node_exam_setup["Exam configuration<br/>[ExamSettings.php]"]
  node_exam_models[("Exam domain models<br/>[ExamName.php]")]
  node_marks_entry["Marks entry"]
  node_marks_model[("Marks records<br/>[ExamMarksEntry.php]")]
end

subgraph group_results["Dashboards and results"]
  node_dashboard["Role dashboard routing"]
  node_admin_dash["Admin dashboard"]
  node_teacher_dash["Teacher dashboard"]
  node_student_dash["Student dashboard"]
  node_exam_reports["Marks registers and sheets"]
  node_report_data["Report data shaping"]
end

node_user(("User"))

node_user -->|"sends request"| node_routes
node_routes -->|"routes login"| node_auth
node_routes -->|"routes registration"| node_registration
node_registration -->|"creates user"| node_user_model
node_auth -->|"authenticates"| node_user_model
node_routes -->|"routes dashboard"| node_dashboard
node_dashboard -->|"loads user"| node_user_model
node_dashboard -->|"redirects by role"| node_admin_dash
node_dashboard -->|"redirects by role"| node_teacher_dash
node_dashboard -->|"redirects by role"| node_student_dash
node_user -->|"updates profile"| node_profile
node_user -->|"manages school"| node_school_records
node_user -->|"manages students"| node_student_records
node_user -->|"manages teachers"| node_teacher_records
node_user -->|"configures exams"| node_exam_setup
node_user -->|"enters marks"| node_marks_entry
node_user -->|"views reports"| node_exam_reports
node_exam_reports -->|"prepares register data"| node_report_data

click node_routes "https://github.com/ruhi16/gvn_school/blob/main/routes/web.php"
click node_auth "https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_registration "https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_user_model "https://github.com/ruhi16/gvn_school/blob/main/app/Models/User.php"
click node_profile "https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/ProfileController.php"
click node_dashboard "https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/DashboardController.php"
click node_admin_dash "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/AdminDashboardComp.php"
click node_teacher_dash "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/TeacherDashboardComp.php"
click node_student_dash "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/StudentDashboardComp.php"
click node_school_records "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/SchoolManagementComp.php"
click node_student_records "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/StudentDbComp.php"
click node_teacher_records "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/TeacherComp.php"
click node_school_models "https://github.com/ruhi16/gvn_school/blob/main/app/Models/School.php"
click node_student_model "https://github.com/ruhi16/gvn_school/blob/main/app/Models/StudentDb.php"
click node_exam_setup "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/ExamSettings.php"
click node_exam_models "https://github.com/ruhi16/gvn_school/blob/main/app/Models/ExamName.php"
click node_marks_entry "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/ExamMarksEntryComp.php"
click node_marks_model "https://github.com/ruhi16/gvn_school/blob/main/app/Models/ExamMarksEntry.php"
click node_exam_reports "https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/ExamMarksRegisterComp.php"
click node_report_data "https://github.com/ruhi16/gvn_school/blob/main/app/Support/ExamMarksRegisterData.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_routes,node_auth,node_registration,node_user_model,node_profile,node_user toneBlue
class node_school_records,node_student_records,node_teacher_records,node_school_models,node_student_model toneAmber
class node_exam_setup,node_exam_models,node_marks_entry,node_marks_model toneMint
class node_dashboard,node_admin_dash,node_teacher_dash,node_student_dash,node_exam_reports,node_report_data toneRose
```

## Components

### Access and profiles

- [Web routes](https://github.com/ruhi16/gvn_school/blob/main/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`
- [Registration](https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php): `app/Http/Controllers/Auth/RegisteredUserController.php`
- [User records](https://github.com/ruhi16/gvn_school/blob/main/app/Models/User.php): `app/Models/User.php`
- [Profile management](https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/ProfileController.php): `app/Http/Controllers/ProfileController.php`

### School records

- [School and class records](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/SchoolManagementComp.php): `app/Livewire/SchoolManagementComp.php`
- [Student records](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/StudentDbComp.php): `app/Livewire/StudentDbComp.php`
- [Teacher records](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/TeacherComp.php): `app/Livewire/TeacherComp.php`
- [School domain models](https://github.com/ruhi16/gvn_school/blob/main/app/Models/School.php): `app/Models/School.php`
- [Student records model](https://github.com/ruhi16/gvn_school/blob/main/app/Models/StudentDb.php): `app/Models/StudentDb.php`

### Exam operations

- [Exam configuration](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/ExamSettings.php): `app/Livewire/ExamSettings.php`
- [Exam domain models](https://github.com/ruhi16/gvn_school/blob/main/app/Models/ExamName.php): `app/Models/ExamName.php`
- [Marks entry](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/ExamMarksEntryComp.php): `app/Livewire/ExamMarksEntryComp.php`
- [Marks records](https://github.com/ruhi16/gvn_school/blob/main/app/Models/ExamMarksEntry.php): `app/Models/ExamMarksEntry.php`

### Dashboards and results

- [Role dashboard routing](https://github.com/ruhi16/gvn_school/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Admin dashboard](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/AdminDashboardComp.php): `app/Livewire/AdminDashboardComp.php`
- [Teacher dashboard](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/TeacherDashboardComp.php): `app/Livewire/TeacherDashboardComp.php`
- [Student dashboard](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/StudentDashboardComp.php): `app/Livewire/StudentDashboardComp.php`
- [Marks registers and sheets](https://github.com/ruhi16/gvn_school/blob/main/app/Livewire/ExamMarksRegisterComp.php): `app/Livewire/ExamMarksRegisterComp.php`
- [Report data shaping](https://github.com/ruhi16/gvn_school/blob/main/app/Support/ExamMarksRegisterData.php): `app/Support/ExamMarksRegisterData.php`

### Other components

- **User**

## Connections

- User → Web routes: sends request
- Web routes → Authentication: routes login
- Web routes → Registration: routes registration
- Registration → User records: creates user
- Authentication → User records: authenticates
- Web routes → Role dashboard routing: routes dashboard
- Role dashboard routing → User records: loads user
- Role dashboard routing → Admin dashboard: redirects by role
- Role dashboard routing → Teacher dashboard: redirects by role
- Role dashboard routing → Student dashboard: redirects by role
- User → Profile management: updates profile
- User → School and class records: manages school
- User → Student records: manages students
- User → Teacher records: manages teachers
- User → Exam configuration: configures exams
- User → Marks entry: enters marks
- User → Marks registers and sheets: views reports
- Marks registers and sheets → Report data shaping: prepares register data
