# yootz/website-aset-aari architecture

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

- Interactive diagram: https://gitdiagram.com/yootz/website-aset-aari
- Repository: https://github.com/yootz/website-aset-aari

## Overview

This Laravel application supports a division and employee directory, a summary dashboard, and asset QR-code generation. Requests enter through Laravel’s web front controller and route table, then controller actions read or update models and render Blade views. The QR controller reads asset codes and builds a URL for the selected asset. Source excerpts establish controller-to-model/view behavior; the route file is listed as naming these controllers, but its route definitions were not excerpted, so route dispatch details are limited to that index evidence.

Main entry points: [`routes/web.php`](https://github.com/yootz/website-aset-aari/blob/main/routes/web.php) (Web routes), [`app/Models/Division.php`](https://github.com/yootz/website-aset-aari/blob/main/app/Models/Division.php) (Division model), [`app/Http/Controllers/DashboardController.php`](https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/DashboardController.php) (Dashboard actions), [`app/Http/Controllers/EmployeeController.php`](https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/EmployeeController.php) (Employee CRUD)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web entry"]
  node_front["HTTP front controller<br/>[index.php]"]
  node_laravel["Laravel bootstrap<br/>[app.php]"]
  node_routes["Web routes<br/>[web.php]"]
end

subgraph group_directory["Directory management"]
  node_dashboard["Dashboard actions"]
  node_divisionctrl["Division CRUD"]
  node_employeectrl["Employee CRUD"]
  node_dashboardview["Dashboard view"]
  node_divisionviews["Division views<br/>[index.blade.php]"]
  node_employeeviews["Employee views<br/>[index.blade.php]"]
end

subgraph group_assets["Asset QR"]
  node_qrcode["QR generation"]
  node_qrview["QR creation view<br/>[index.blade.php]"]
end

subgraph group_persistence["Data models"]
  node_divisionmodel["Division model<br/>[Division.php]"]
  node_employeemodel["Employee model<br/>[Employee.php]"]
  node_db[("Relational database<br/>[database.php]")]
  node_assetdb[("Asset records<br/>[database.php]")]
end

node_visitor(("Web user"))

node_visitor -->|"sends request"| node_front
node_front -->|"starts app"| node_laravel
node_laravel -->|"loads routes"| node_routes
node_routes -->|"dispatches"| node_dashboard
node_routes -->|"dispatches"| node_divisionctrl
node_routes -->|"dispatches"| node_employeectrl
node_routes -->|"dispatches"| node_qrcode
node_dashboard -->|"counts and lists"| node_divisionmodel
node_dashboard -->|"counts"| node_employeemodel
node_dashboard -->|"renders"| node_dashboardview
node_divisionctrl -->|"reads and writes"| node_divisionmodel
node_divisionctrl -->|"renders"| node_divisionviews
node_employeectrl -->|"reads and writes"| node_employeemodel
node_employeectrl -->|"loads divisions"| node_divisionmodel
node_employeectrl -->|"renders"| node_employeeviews
node_employeemodel -->|"belongs to"| node_divisionmodel
node_divisionmodel -->|"has many"| node_employeemodel
node_qrcode -->|"queries asset codes"| node_assetdb
node_qrcode -->|"renders"| node_qrview

click node_front "https://github.com/yootz/website-aset-aari/blob/main/public/index.php"
click node_laravel "https://github.com/yootz/website-aset-aari/blob/main/bootstrap/app.php"
click node_routes "https://github.com/yootz/website-aset-aari/blob/main/routes/web.php"
click node_dashboard "https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/DashboardController.php"
click node_divisionctrl "https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/DivisionController.php"
click node_employeectrl "https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/EmployeeController.php"
click node_divisionmodel "https://github.com/yootz/website-aset-aari/blob/main/app/Models/Division.php"
click node_employeemodel "https://github.com/yootz/website-aset-aari/blob/main/app/Models/Employee.php"
click node_db "https://github.com/yootz/website-aset-aari/blob/main/config/database.php"
click node_dashboardview "https://github.com/yootz/website-aset-aari/blob/main/resources/views/dashboard.blade.php"
click node_divisionviews "https://github.com/yootz/website-aset-aari/blob/main/resources/views/division/index.blade.php"
click node_employeeviews "https://github.com/yootz/website-aset-aari/blob/main/resources/views/employee/index.blade.php"
click node_qrcode "https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/QRCodeController.php"
click node_qrview "https://github.com/yootz/website-aset-aari/blob/main/resources/views/createqr/index.blade.php"
click node_assetdb "https://github.com/yootz/website-aset-aari/blob/main/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_front,node_laravel,node_routes,node_visitor toneBlue
class node_dashboard,node_divisionctrl,node_employeectrl,node_dashboardview,node_divisionviews,node_employeeviews toneAmber
class node_qrcode,node_qrview toneMint
class node_divisionmodel,node_employeemodel,node_db,node_assetdb toneRose
```

## Components

### Web entry

- [HTTP front controller](https://github.com/yootz/website-aset-aari/blob/main/public/index.php): `public/index.php`
- [Laravel bootstrap](https://github.com/yootz/website-aset-aari/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [Web routes](https://github.com/yootz/website-aset-aari/blob/main/routes/web.php): `routes/web.php`

### Directory management

- [Dashboard actions](https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Division CRUD](https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/DivisionController.php): `app/Http/Controllers/DivisionController.php`
- [Employee CRUD](https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/EmployeeController.php): `app/Http/Controllers/EmployeeController.php`
- [Dashboard view](https://github.com/yootz/website-aset-aari/blob/main/resources/views/dashboard.blade.php): `resources/views/dashboard.blade.php`
- [Division views](https://github.com/yootz/website-aset-aari/blob/main/resources/views/division/index.blade.php): `resources/views/division/index.blade.php`
- [Employee views](https://github.com/yootz/website-aset-aari/blob/main/resources/views/employee/index.blade.php): `resources/views/employee/index.blade.php`

### Asset QR

- [QR generation](https://github.com/yootz/website-aset-aari/blob/main/app/Http/Controllers/QRCodeController.php): `app/Http/Controllers/QRCodeController.php`
- [QR creation view](https://github.com/yootz/website-aset-aari/blob/main/resources/views/createqr/index.blade.php): `resources/views/createqr/index.blade.php`

### Data models

- [Division model](https://github.com/yootz/website-aset-aari/blob/main/app/Models/Division.php): `app/Models/Division.php`
- [Employee model](https://github.com/yootz/website-aset-aari/blob/main/app/Models/Employee.php): `app/Models/Employee.php`
- [Relational database](https://github.com/yootz/website-aset-aari/blob/main/config/database.php): `config/database.php`
- [Asset records](https://github.com/yootz/website-aset-aari/blob/main/config/database.php): `config/database.php`

### Other components

- **Web user**

## Connections

- Web user → HTTP front controller: sends request (evidence: `public/index.php`)
- HTTP front controller → Laravel bootstrap: starts app (evidence: `public/index.php`)
- Laravel bootstrap → Web routes: loads routes (evidence: `bootstrap/app.php`)
- Web routes → Dashboard actions: dispatches (evidence: `routes/web.php`)
- Web routes → Division CRUD: dispatches (evidence: `routes/web.php`)
- Web routes → Employee CRUD: dispatches (evidence: `routes/web.php`)
- Web routes → QR generation: dispatches (evidence: `routes/web.php`)
- Dashboard actions → Division model: counts and lists (evidence: `app/Http/Controllers/DashboardController.php`)
- Dashboard actions → Employee model: counts (evidence: `app/Http/Controllers/DashboardController.php`)
- Dashboard actions → Dashboard view: renders (evidence: `app/Http/Controllers/DashboardController.php`)
- Division CRUD → Division model: reads and writes (evidence: `app/Http/Controllers/DivisionController.php`)
- Division CRUD → Division views: renders (evidence: `app/Http/Controllers/DivisionController.php`)
- Employee CRUD → Employee model: reads and writes (evidence: `app/Http/Controllers/EmployeeController.php`)
- Employee CRUD → Division model: loads divisions (evidence: `app/Http/Controllers/EmployeeController.php`)
- Employee CRUD → Employee views: renders (evidence: `app/Http/Controllers/EmployeeController.php`)
- Employee model → Division model: belongs to (evidence: `app/Models/Employee.php`)
- Division model → Employee model: has many (evidence: `app/Models/Division.php`)
- QR generation → Asset records: queries asset codes (evidence: `app/Http/Controllers/QRCodeController.php`)
- QR generation → QR creation view: renders (evidence: `app/Http/Controllers/QRCodeController.php`)
