# dung2451220092-cloud/web-dat-lich-salon architecture

> Architecture diagram of the GitHub repository dung2451220092-cloud/web-dat-lich-salon, generated by GitDiagram from its file tree, README and a sample of source files (last updated 2026-11-13). It is an AI-made overview: check details against the source.

- Interactive diagram: https://gitdiagram.com/dung2451220092-cloud/web-dat-lich-salon
- Repository: https://github.com/dung2451220092-cloud/web-dat-lich-salon

## Overview

This is a Laravel salon-management and appointment-booking application, not the Laravel framework described by the README. Customers book appointments and view payment instructions; staff manage their schedules, while administrators manage salon operations. The sampled controller shows role checks, appointment and review data access, and rendering for customer, staff, and admin views. The route definitions and several framework subsystems are unsampled, so their relationships are included only where the source index or visible framework wiring supports them.

Main entry points: [`public/index.php`](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/public/index.php) (HTTP entry point), [`app/Http/Controllers/SalonController.php`](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Controllers/SalonController.php) (Salon controller), [`bootstrap/app.php`](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/bootstrap/app.php) (App bootstrap), [`app/Http/Kernel.php`](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Kernel.php) (HTTP kernel)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Request handling"]
  node_http_entry["HTTP entry point<br/>[index.php]"]
  node_app_boot["App bootstrap<br/>[app.php]"]
  node_http_kernel["HTTP kernel<br/>[Kernel.php]"]
  node_middleware["HTTP middleware"]
  node_routes_provider["Route provider"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_api_routes["API routes<br/>[api.php]"]
  node_exception_handler["Exception handler<br/>[Handler.php]"]
end

subgraph group_salon["Salon operations"]
  node_salon_controller["Salon controller"]
  node_controller_base["Controller base<br/>[Controller.php]"]
  node_salon_data[("Salon data")]
end

subgraph group_identity["Identity and services"]
  node_user_model["User model<br/>[User.php]"]
  node_auth_config["Auth configuration<br/>[auth.php]"]
  node_app_providers["App providers"]
end

subgraph group_client["User interface"]
  node_salon_views["Salon pages"]
  node_js_app["JavaScript entry<br/>[app.js]"]
  node_js_bootstrap["JavaScript bootstrap<br/>[bootstrap.js]"]
end

node_customer(("Customer"))
node_staff(("Staff"))
node_admin(("Administrator"))

node_customer -->|"sends requests"| node_http_entry
node_staff -->|"sends requests"| node_http_entry
node_admin -->|"sends requests"| node_http_entry
node_http_entry -->|"loads app"| node_app_boot
node_http_entry -->|"dispatches requests"| node_http_kernel
node_app_boot -->|"binds kernel"| node_http_kernel
node_http_kernel -->|"configures middleware"| node_middleware
node_routes_provider -->|"loads routes"| node_web_routes
node_routes_provider -->|"loads routes"| node_api_routes
node_web_routes -->|"routes to"| node_salon_controller
node_salon_controller -->|"reads and writes"| node_salon_data
node_salon_controller -->|"renders pages"| node_salon_views
node_salon_controller -->|"extends"| node_controller_base
node_auth_config -->|"configures model"| node_user_model
node_app_boot -->|"binds handler"| node_exception_handler
node_js_app -->|"imports"| node_js_bootstrap

click node_http_entry "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/public/index.php"
click node_app_boot "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/bootstrap/app.php"
click node_http_kernel "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Kernel.php"
click node_middleware "https://github.com/dung2451220092-cloud/web-dat-lich-salon/tree/main/app/Http/Middleware"
click node_routes_provider "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Providers/RouteServiceProvider.php"
click node_web_routes "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/routes/web.php"
click node_api_routes "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/routes/api.php"
click node_salon_controller "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Controllers/SalonController.php"
click node_controller_base "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Controllers/Controller.php"
click node_salon_views "https://github.com/dung2451220092-cloud/web-dat-lich-salon/tree/main/resources/views"
click node_user_model "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Models/User.php"
click node_auth_config "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/config/auth.php"
click node_app_providers "https://github.com/dung2451220092-cloud/web-dat-lich-salon/tree/main/app/Providers"
click node_exception_handler "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Exceptions/Handler.php"
click node_js_app "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/resources/js/app.js"
click node_js_bootstrap "https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/resources/js/bootstrap.js"

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_http_entry,node_app_boot,node_http_kernel,node_middleware,node_routes_provider,node_web_routes,node_api_routes,node_exception_handler toneBlue
class node_salon_controller,node_controller_base,node_salon_data toneAmber
class node_user_model,node_auth_config,node_app_providers toneMint
class node_salon_views,node_js_app,node_js_bootstrap toneRose
class node_customer,node_staff,node_admin toneIndigo
```

## Components

### Request handling

- [HTTP entry point](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/public/index.php): `public/index.php`
- [App bootstrap](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [HTTP kernel](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Kernel.php): `app/Http/Kernel.php`
- [HTTP middleware](https://github.com/dung2451220092-cloud/web-dat-lich-salon/tree/main/app/Http/Middleware): `app/Http/Middleware`
- [Route provider](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Providers/RouteServiceProvider.php): `app/Providers/RouteServiceProvider.php`
- [Web routes](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/routes/web.php): `routes/web.php`
- [API routes](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/routes/api.php): `routes/api.php`
- [Exception handler](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Exceptions/Handler.php): `app/Exceptions/Handler.php`

### Salon operations

- [Salon controller](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Controllers/SalonController.php): `app/Http/Controllers/SalonController.php`
- [Controller base](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Http/Controllers/Controller.php): `app/Http/Controllers/Controller.php`
- **Salon data**

### Identity and services

- [User model](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/app/Models/User.php): `app/Models/User.php`
- [Auth configuration](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/config/auth.php): `config/auth.php`
- [App providers](https://github.com/dung2451220092-cloud/web-dat-lich-salon/tree/main/app/Providers): `app/Providers`

### User interface

- [Salon pages](https://github.com/dung2451220092-cloud/web-dat-lich-salon/tree/main/resources/views): `resources/views`
- [JavaScript entry](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/resources/js/app.js): `resources/js/app.js`
- [JavaScript bootstrap](https://github.com/dung2451220092-cloud/web-dat-lich-salon/blob/main/resources/js/bootstrap.js): `resources/js/bootstrap.js`

### Other components

- **Customer**
- **Staff**
- **Administrator**

## Connections

- Customer → HTTP entry point: sends requests
- Staff → HTTP entry point: sends requests
- Administrator → HTTP entry point: sends requests
- HTTP entry point → App bootstrap: loads app (evidence: `public/index.php`)
- HTTP entry point → HTTP kernel: dispatches requests (evidence: `public/index.php`)
- App bootstrap → HTTP kernel: binds kernel (evidence: `bootstrap/app.php`)
- HTTP kernel → HTTP middleware: configures middleware (evidence: `app/Http/Kernel.php`)
- Route provider → Web routes: loads routes (evidence: `app/Providers/RouteServiceProvider.php`)
- Route provider → API routes: loads routes (evidence: `app/Providers/RouteServiceProvider.php`)
- Web routes → Salon controller: routes to (evidence: `routes/web.php`)
- Salon controller → Salon data: reads and writes (evidence: `app/Http/Controllers/SalonController.php`)
- Salon controller → Salon pages: renders pages (evidence: `app/Http/Controllers/SalonController.php`)
- Salon controller → Controller base: extends (evidence: `app/Http/Controllers/SalonController.php`)
- Auth configuration → User model: configures model (evidence: `config/auth.php`)
- App bootstrap → Exception handler: binds handler (evidence: `bootstrap/app.php`)
- JavaScript entry → JavaScript bootstrap: imports (evidence: `resources/js/app.js`)
