Home

Architecture

EN

Runtime layers

1. HTTP bootstrapping and middleware orchestration. 2. Route registration and versioned API grouping. 3. Module-oriented domain logic. 4. Relational persistence and migration history. 5. Inertia + Vue asset delivery via Vite.

Evidence pointers: - public/index.php:1 - app/Http/Kernel.php:33 - app/Providers/RouteServiceProvider.php:31 - app/Providers/RouteServiceProvider.php:44 - app/Modules/Account/Models/Account.php:1 - database/migrations/2014_10_12_000000_create_users_table.php:1 - vite.config.ts:23

Request and middleware flow (verified)

``mermaid flowchart LR Client --> Kernel Kernel --> RouteProvider RouteProvider --> AdminAPI[api/admin/v1] RouteProvider --> MobileAPI[api/mobile/v1] RouteProvider --> WebRoutes[web + dashboard] AdminAPI --> AdminAuth[auth:web] MobileAPI --> MobileAuth[auth:sanctum] MobileAuth --> MembershipGuard[membership middleware] AdminAuth --> Controllers MembershipGuard --> Controllers Controllers --> Models Models --> DB[(MySQL schema via migrations)] Controllers --> Integrations[Firebase + AWS + Google] `

Evidence pointers: - app/Providers/RouteServiceProvider.php:33 - app/Providers/RouteServiceProvider.php:44 - app/Providers/RouteServiceProvider.php:54 - routes/api/admin/v1.php:52 - routes/api/mobile/v1.php:66 - routes/api/mobile/v1.php:132 - config/firebase.php:53 - config/services.php:33

Auth and security model

- API stateful auth uses Sanctum middleware chain. - Admin capability model includes role and permission middleware aliases. - OTP endpoint uses dedicated throttle limiter.

Evidence pointers: - composer.json:29 - app/Http/Kernel.php:46 - app/Http/Kernel.php:72 - app/Http/Kernel.php:73 - app/Providers/RouteServiceProvider.php:70 - routes/api/mobile/v1.php:166

ID

Layer runtime

1. Bootstrap HTTP dan orkestrasi middleware. 2. Registrasi route dan grouping API versioned. 3. Domain logic berbasis modul. 4. Persistensi relasional dan histori migrasi. 5. Delivery asset Inertia + Vue via Vite.

Evidence pointers: - public/index.php:1 - app/Http/Kernel.php:33 - app/Providers/RouteServiceProvider.php:31 - app/Providers/RouteServiceProvider.php:44 - app/Modules/Account/Models/Account.php:1 - database/migrations/2014_10_12_000000_create_users_table.php:1 - vite.config.ts:23

Alur request dan middleware (terverifikasi)

- Route provider memisahkan admin API, mobile API, serta web/dashboard. - Admin API masuk ke auth:web; mobile API ke auth:sanctum, lalu rute tertentu ke membership. - Controller memanggil model/database serta integrasi eksternal.

Evidence pointers: - app/Providers/RouteServiceProvider.php:33 - app/Providers/RouteServiceProvider.php:44 - app/Providers/RouteServiceProvider.php:54 - routes/api/admin/v1.php:52 - routes/api/mobile/v1.php:66 - routes/api/mobile/v1.php:132 - config/firebase.php:53 - config/services.php:33

Model auth dan keamanan

- Autentikasi API menggunakan rantai middleware Sanctum. - Model otorisasi admin memakai alias middleware role/permission. - Endpoint OTP memakai limiter throttle khusus.

Evidence pointers: - composer.json:29 - app/Http/Kernel.php:46 - app/Http/Kernel.php:72 - app/Http/Kernel.php:73 - app/Providers/RouteServiceProvider.php:70 - routes/api/mobile/v1.php:166`