# arya141002/sistem-informasi-ppdb-sekolah architecture

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

- Interactive diagram: https://gitdiagram.com/arya141002/sistem-informasi-ppdb-sekolah
- Repository: https://github.com/arya141002/sistem-informasi-ppdb-sekolah

## Overview

This is a Laravel school-admissions information system, not the Laravel framework described by its generic README. The visible workflow supports account/student registration, followed by student and parent profile completion and health-data entry; separate administration manages users, branches and published brochures. Controllers render Blade views and read or update Eloquent models. The excerpts show these operations, but not route definitions or database configuration, so route-to-controller wiring and the physical persistence backend are not asserted.

Main entry points: [`app/Http/Controllers/User/FormController.php`](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/User/FormController.php) (Student profile), [`app/Http/Controllers/UserController.php`](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/UserController.php) (Registration), [`app/Http/Controllers/User/KesehatanController.php`](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/User/KesehatanController.php) (Health details), [`app/Http/Controllers/BrochureController.php`](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/BrochureController.php) (Brochure publishing)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web entry"]
  node_routes["Web routes<br/>[web.php]"]
  node_routeprovider["Route provider"]
end

subgraph group_admissions["Admissions"]
  node_studentctl["Registration<br/>[UserController.php]"]
  node_studentmodel[("Student records<br/>[Student.php]")]
  node_parentmodel[("Parent records<br/>[Parents.php]")]
  node_registrationview["Registration page"]
end

subgraph group_profiles["Student records"]
  node_formctl["Student profile<br/>[FormController.php]"]
  node_healthctl["Health details"]
  node_healthmodel[("Health records<br/>[Kesehatan.php]")]
  node_profileview["Profile forms<br/>[form.blade.php]"]
  node_healthview["Health form"]
end

subgraph group_admin["Administration"]
  node_branchmodel[("Branch records<br/>[Branch.php]")]
  node_levelmodel[("Education levels<br/>[Jenjang.php]")]
  node_yearmodel[("School years<br/>[SchoolYear.php]")]
  node_adminctl["Admin management"]
  node_brochurectl["Brochure publishing"]
  node_brochuremodel[("Brochure records<br/>[Brochure.php]")]
  node_usermodel[("User accounts<br/>[User.php]")]
  node_adminmodel[("Admin records<br/>[Admin.php]")]
  node_brochureview["Brochure page<br/>[brochure.blade.php]"]
end

node_visitor(("Applicant or admin"))

node_routeprovider -->|"loads routes"| node_routes
node_visitor -->|"submits registration"| node_studentctl
node_studentctl -->|"creates student"| node_studentmodel
node_studentctl -->|"creates parent"| node_parentmodel
node_studentctl -->|"renders page"| node_registrationview
node_visitor -->|"updates profile"| node_formctl
node_formctl -->|"reads and saves"| node_studentmodel
node_formctl -->|"reads and saves"| node_parentmodel
node_formctl -->|"reads branches"| node_branchmodel
node_formctl -->|"reads levels"| node_levelmodel
node_formctl -->|"reads active years"| node_yearmodel
node_formctl -->|"renders form"| node_profileview
node_visitor -->|"updates health"| node_healthctl
node_healthctl -->|"finds student"| node_studentmodel
node_healthctl -->|"reads and saves"| node_healthmodel
node_healthctl -->|"renders form"| node_healthview
node_visitor -->|"manages admins"| node_adminctl
node_adminctl -->|"reads and deletes"| node_adminmodel
node_adminctl -->|"creates users"| node_usermodel
node_visitor -->|"manages brochures"| node_brochurectl
node_brochurectl -->|"reads and saves"| node_brochuremodel
node_brochurectl -->|"reads branches"| node_branchmodel
node_brochurectl -->|"renders page"| node_brochureview

click node_routes "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/routes/web.php"
click node_routeprovider "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Providers/RouteServiceProvider.php"
click node_studentctl "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/UserController.php"
click node_studentmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Student.php"
click node_parentmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Parents.php"
click node_registrationview "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/registrasi.blade.php"
click node_formctl "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/User/FormController.php"
click node_healthctl "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/User/KesehatanController.php"
click node_healthmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Kesehatan.php"
click node_branchmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Branch.php"
click node_levelmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Jenjang.php"
click node_yearmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/SchoolYear.php"
click node_profileview "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/user/form.blade.php"
click node_healthview "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/kesehatan.blade.php"
click node_adminctl "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/AdminController.php"
click node_brochurectl "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/BrochureController.php"
click node_brochuremodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Brochure.php"
click node_usermodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/User.php"
click node_adminmodel "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Admin.php"
click node_brochureview "https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/brochure.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_routes,node_routeprovider toneBlue
class node_studentctl,node_studentmodel,node_parentmodel,node_registrationview toneAmber
class node_formctl,node_healthctl,node_healthmodel,node_profileview,node_healthview toneMint
class node_branchmodel,node_levelmodel,node_yearmodel,node_adminctl,node_brochurectl,node_brochuremodel,node_usermodel,node_adminmodel,node_brochureview toneRose
class node_visitor toneIndigo
```

## Components

### Web entry

- [Web routes](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/routes/web.php): `routes/web.php`
- [Route provider](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Providers/RouteServiceProvider.php): `app/Providers/RouteServiceProvider.php`

### Admissions

- [Registration](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/UserController.php): `app/Http/Controllers/UserController.php`
- [Student records](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Student.php): `app/Models/Student.php`
- [Parent records](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Parents.php): `app/Models/Parents.php`
- [Registration page](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/registrasi.blade.php): `resources/views/registrasi.blade.php`

### Student records

- [Student profile](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/User/FormController.php): `app/Http/Controllers/User/FormController.php`
- [Health details](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/User/KesehatanController.php): `app/Http/Controllers/User/KesehatanController.php`
- [Health records](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Kesehatan.php): `app/Models/Kesehatan.php`
- [Profile forms](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/user/form.blade.php): `resources/views/user/form.blade.php`
- [Health form](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/kesehatan.blade.php): `resources/views/kesehatan.blade.php`

### Administration

- [Branch records](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Branch.php): `app/Models/Branch.php`
- [Education levels](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Jenjang.php): `app/Models/Jenjang.php`
- [School years](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/SchoolYear.php): `app/Models/SchoolYear.php`
- [Admin management](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/AdminController.php): `app/Http/Controllers/AdminController.php`
- [Brochure publishing](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Http/Controllers/BrochureController.php): `app/Http/Controllers/BrochureController.php`
- [Brochure records](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Brochure.php): `app/Models/Brochure.php`
- [User accounts](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/User.php): `app/Models/User.php`
- [Admin records](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/app/Models/Admin.php): `app/Models/Admin.php`
- [Brochure page](https://github.com/arya141002/sistem-informasi-ppdb-sekolah/blob/master/resources/views/brochure.blade.php): `resources/views/brochure.blade.php`

### Other components

- **Applicant or admin**

## Connections

- Route provider → Web routes: loads routes
- Applicant or admin → Registration: submits registration
- Registration → Student records: creates student
- Registration → Parent records: creates parent
- Registration → Registration page: renders page
- Applicant or admin → Student profile: updates profile
- Student profile → Student records: reads and saves
- Student profile → Parent records: reads and saves
- Student profile → Branch records: reads branches
- Student profile → Education levels: reads levels
- Student profile → School years: reads active years
- Student profile → Profile forms: renders form
- Applicant or admin → Health details: updates health
- Health details → Student records: finds student
- Health details → Health records: reads and saves
- Health details → Health form: renders form
- Applicant or admin → Admin management: manages admins
- Admin management → Admin records: reads and deletes
- Admin management → User accounts: creates users
- Applicant or admin → Brochure publishing: manages brochures
- Brochure publishing → Brochure records: reads and saves
- Brochure publishing → Branch records: reads branches
- Brochure publishing → Brochure page: renders page
