# richosantanaa/carwash_learning architecture

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

- Interactive diagram: https://gitdiagram.com/richosantanaa/carwash_learning
- Repository: https://github.com/richosantanaa/carwash_learning

## Overview

This is a Laravel 12 application skeleton with a car-store and car-service domain model and a Filament admin panel. The visible runtime entry point boots Laravel and loads web routes, but the route file is not excerpted, so the user-facing booking or browsing flow cannot be established. Model relationships and the admin panel configuration are visible; database schema and admin resource implementations are not, so their behavior and connections are left unspecified.

Main entry points: [`app/Models/CarStore.php`](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/CarStore.php) (Car store), [`app/Models/StoreService.php`](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/StoreService.php) (Store offering), [`app/Models/CarService.php`](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/CarService.php) (Car service), [`app/Models/BookingTransaction.php`](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/BookingTransaction.php) (Booking transaction)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["Application runtime"]
  node_entry["HTTP entry<br/>[index.php]"]
  node_laravel["Laravel bootstrap<br/>[app.php]"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_js_app["Browser entry<br/>[app.js]"]
  node_js_bootstrap["Axios setup<br/>[bootstrap.js]"]
end

subgraph group_domain["Store domain"]
  node_booking["Booking transaction"]
  node_store["Car store<br/>[CarStore.php]"]
  node_service["Car service<br/>[CarService.php]"]
  node_store_service["Store offering<br/>[StoreService.php]"]
  node_city["City<br/>[City.php]"]
  node_store_photo["Store photos<br/>[StorePhoto.php]"]
end

subgraph group_admin["Admin interface"]
  node_admin_panel["Filament panel"]
  node_filament_forms["Form components<br/>[file-upload.js]"]
  node_filament_tables["Table components<br/>[tables.js]"]
  node_filament_widgets["Dashboard widgets<br/>[chart.js]"]
  node_filament_notifications["Notifications<br/>[notifications.js]"]
end

node_visitor(("Web visitor"))
node_admin_user(("Admin user"))

node_visitor -->|"sends request"| node_entry
node_entry -->|"boots"| node_laravel
node_laravel -->|"loads routes"| node_web_routes
node_js_app -->|"imports"| node_js_bootstrap
node_booking -->|"references"| node_service
node_booking -->|"references"| node_store
node_store -->|"has offerings"| node_store_service
node_store -->|"has photos"| node_store_photo
node_store -->|"belongs to"| node_city
node_service -->|"has offerings"| node_store_service
node_store_service -->|"belongs to"| node_service
node_store_service -->|"belongs to"| node_store
node_admin_user -->|"signs in"| node_admin_panel

click node_entry "https://github.com/richosantanaa/carwash_learning/blob/main/public/index.php"
click node_laravel "https://github.com/richosantanaa/carwash_learning/blob/main/bootstrap/app.php"
click node_web_routes "https://github.com/richosantanaa/carwash_learning/blob/main/routes/web.php"
click node_js_app "https://github.com/richosantanaa/carwash_learning/blob/main/resources/js/app.js"
click node_js_bootstrap "https://github.com/richosantanaa/carwash_learning/blob/main/resources/js/bootstrap.js"
click node_booking "https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/BookingTransaction.php"
click node_store "https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/CarStore.php"
click node_service "https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/CarService.php"
click node_store_service "https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/StoreService.php"
click node_city "https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/City.php"
click node_store_photo "https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/StorePhoto.php"
click node_admin_panel "https://github.com/richosantanaa/carwash_learning/blob/main/app/Providers/Filament/AdminPanelProvider.php"
click node_filament_forms "https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/forms/components/file-upload.js"
click node_filament_tables "https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/tables/tables.js"
click node_filament_widgets "https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/widgets/components/chart.js"
click node_filament_notifications "https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/notifications/notifications.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_entry,node_laravel,node_web_routes,node_js_app,node_js_bootstrap,node_admin_user toneBlue
class node_booking,node_store,node_service,node_store_service,node_city,node_store_photo toneAmber
class node_admin_panel,node_filament_forms,node_filament_tables,node_filament_widgets,node_filament_notifications toneMint
class node_visitor toneIndigo
```

## Components

### Application runtime

- [HTTP entry](https://github.com/richosantanaa/carwash_learning/blob/main/public/index.php): `public/index.php`
- [Laravel bootstrap](https://github.com/richosantanaa/carwash_learning/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [Web routes](https://github.com/richosantanaa/carwash_learning/blob/main/routes/web.php): `routes/web.php`
- [Browser entry](https://github.com/richosantanaa/carwash_learning/blob/main/resources/js/app.js): `resources/js/app.js`
- [Axios setup](https://github.com/richosantanaa/carwash_learning/blob/main/resources/js/bootstrap.js): `resources/js/bootstrap.js`

### Store domain

- [Booking transaction](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/BookingTransaction.php): `app/Models/BookingTransaction.php`
- [Car store](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/CarStore.php): `app/Models/CarStore.php`
- [Car service](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/CarService.php): `app/Models/CarService.php`
- [Store offering](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/StoreService.php): `app/Models/StoreService.php`
- [City](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/City.php): `app/Models/City.php`
- [Store photos](https://github.com/richosantanaa/carwash_learning/blob/main/app/Models/StorePhoto.php): `app/Models/StorePhoto.php`

### Admin interface

- [Filament panel](https://github.com/richosantanaa/carwash_learning/blob/main/app/Providers/Filament/AdminPanelProvider.php): `app/Providers/Filament/AdminPanelProvider.php`
- [Form components](https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/forms/components/file-upload.js): `public/js/filament/forms/components/file-upload.js`
- [Table components](https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/tables/tables.js): `public/js/filament/tables/tables.js`
- [Dashboard widgets](https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/widgets/components/chart.js): `public/js/filament/widgets/components/chart.js`
- [Notifications](https://github.com/richosantanaa/carwash_learning/blob/main/public/js/filament/notifications/notifications.js): `public/js/filament/notifications/notifications.js`

### Other components

- **Web visitor**
- **Admin user**

## Connections

- Web visitor → HTTP entry: sends request (evidence: `public/index.php`)
- HTTP entry → Laravel bootstrap: boots (evidence: `public/index.php`)
- Laravel bootstrap → Web routes: loads routes (evidence: `bootstrap/app.php`)
- Browser entry → Axios setup: imports (evidence: `resources/js/app.js`)
- Booking transaction → Car service: references (evidence: `app/Models/BookingTransaction.php`)
- Booking transaction → Car store: references (evidence: `app/Models/BookingTransaction.php`)
- Car store → Store offering: has offerings (evidence: `app/Models/CarStore.php`)
- Car store → Store photos: has photos (evidence: `app/Models/CarStore.php`)
- Car store → City: belongs to (evidence: `app/Models/CarStore.php`)
- Car service → Store offering: has offerings (evidence: `app/Models/CarService.php`)
- Store offering → Car service: belongs to (evidence: `app/Models/StoreService.php`)
- Store offering → Car store: belongs to (evidence: `app/Models/StoreService.php`)
- Admin user → Filament panel: signs in (evidence: `app/Providers/Filament/AdminPanelProvider.php`)
