# irphandarmero/sipelita architecture

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

- Interactive diagram: https://gitdiagram.com/irphandarmero/sipelita
- Repository: https://github.com/irphandarmero/sipelita

## Overview

This is a Laravel 8 application scaffold with report-oriented domain models, rather than the Laravel framework itself. The visible request path starts at the public entry point, passes through the HTTP kernel, and reaches routes registered by the route provider. The tree suggests reporting, organizational-unit, and user data, but sampled files do not reveal concrete route handlers or business logic. Laravel’s README documents routing, ORM, session/cache, queues, and broadcasting; those framework capabilities are shown only where repository paths support them.

Main entry points: [`config/database.php`](https://github.com/irphandarmero/sipelita/blob/main/config/database.php) (Database), [`public/index.php`](https://github.com/irphandarmero/sipelita/blob/main/public/index.php) (HTTP entry), [`app/Providers/RouteServiceProvider.php`](https://github.com/irphandarmero/sipelita/blob/main/app/Providers/RouteServiceProvider.php) (Route registration), [`app/Http/Kernel.php`](https://github.com/irphandarmero/sipelita/blob/main/app/Http/Kernel.php) (HTTP kernel)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_http["HTTP runtime"]
  node_entry["HTTP entry<br/>[index.php]"]
  node_bootstrap["App bootstrap<br/>[app.php]"]
  node_kernel["HTTP kernel<br/>[Kernel.php]"]
  node_routeservice["Route registration"]
  node_webroutes["Web routes<br/>[web.php]"]
  node_apiroutes["API routes<br/>[api.php]"]
  node_controllerbase["Controller base<br/>[Controller.php]"]
  node_welcome["Welcome view<br/>[welcome.blade.php]"]
end

subgraph group_domain["Report domain"]
  node_masterreport["Report master<br/>[MasterLaporan.php]"]
  node_reportdetail["Report detail<br/>[DetailLaporan.php]"]
  node_workunit["Work unit<br/>[UnitKerja.php]"]
  node_user["User model<br/>[User.php]"]
end

subgraph group_platform["Framework services"]
  node_database[("Database<br/>[database.php]")]
  node_authconfig["Authentication config<br/>[auth.php]"]
  node_queueconfig["Queue config<br/>[queue.php]"]
  node_broadcastconfig["Broadcast config<br/>[broadcasting.php]"]
  node_cacheconfig["Cache config<br/>[cache.php]"]
  node_sessionconfig["Session config<br/>[session.php]"]
end

node_browser(("Web client"))

node_browser -->|"sends request"| node_entry
node_entry -->|"loads app"| node_bootstrap
node_entry -->|"dispatches request"| node_kernel
node_kernel -->|"uses routes"| node_routeservice
node_routeservice -->|"loads web routes"| node_webroutes
node_routeservice -->|"loads API routes"| node_apiroutes
node_webroutes -.->|"may target"| node_controllerbase
node_apiroutes -.->|"may target"| node_controllerbase
node_masterreport -->|"persists via ORM"| node_database
node_reportdetail -->|"persists via ORM"| node_database
node_workunit -->|"persists via ORM"| node_database
node_user -->|"persists via ORM"| node_database

click node_entry "https://github.com/irphandarmero/sipelita/blob/main/public/index.php"
click node_bootstrap "https://github.com/irphandarmero/sipelita/blob/main/bootstrap/app.php"
click node_kernel "https://github.com/irphandarmero/sipelita/blob/main/app/Http/Kernel.php"
click node_routeservice "https://github.com/irphandarmero/sipelita/blob/main/app/Providers/RouteServiceProvider.php"
click node_webroutes "https://github.com/irphandarmero/sipelita/blob/main/routes/web.php"
click node_apiroutes "https://github.com/irphandarmero/sipelita/blob/main/routes/api.php"
click node_controllerbase "https://github.com/irphandarmero/sipelita/blob/main/app/Http/Controllers/Controller.php"
click node_welcome "https://github.com/irphandarmero/sipelita/blob/main/resources/views/welcome.blade.php"
click node_masterreport "https://github.com/irphandarmero/sipelita/blob/main/app/Models/MasterLaporan.php"
click node_reportdetail "https://github.com/irphandarmero/sipelita/blob/main/app/Models/DetailLaporan.php"
click node_workunit "https://github.com/irphandarmero/sipelita/blob/main/app/Models/UnitKerja.php"
click node_user "https://github.com/irphandarmero/sipelita/blob/main/app/Models/User.php"
click node_database "https://github.com/irphandarmero/sipelita/blob/main/config/database.php"
click node_authconfig "https://github.com/irphandarmero/sipelita/blob/main/config/auth.php"
click node_queueconfig "https://github.com/irphandarmero/sipelita/blob/main/config/queue.php"
click node_broadcastconfig "https://github.com/irphandarmero/sipelita/blob/main/config/broadcasting.php"
click node_cacheconfig "https://github.com/irphandarmero/sipelita/blob/main/config/cache.php"
click node_sessionconfig "https://github.com/irphandarmero/sipelita/blob/main/config/session.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_entry,node_bootstrap,node_kernel,node_routeservice,node_webroutes,node_apiroutes,node_controllerbase,node_welcome,node_browser toneBlue
class node_masterreport,node_reportdetail,node_workunit,node_user toneAmber
class node_database,node_authconfig,node_queueconfig,node_broadcastconfig,node_cacheconfig,node_sessionconfig toneMint
```

## Components

### HTTP runtime

- [HTTP entry](https://github.com/irphandarmero/sipelita/blob/main/public/index.php): `public/index.php`
- [App bootstrap](https://github.com/irphandarmero/sipelita/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [HTTP kernel](https://github.com/irphandarmero/sipelita/blob/main/app/Http/Kernel.php): `app/Http/Kernel.php`
- [Route registration](https://github.com/irphandarmero/sipelita/blob/main/app/Providers/RouteServiceProvider.php): `app/Providers/RouteServiceProvider.php`
- [Web routes](https://github.com/irphandarmero/sipelita/blob/main/routes/web.php): `routes/web.php`
- [API routes](https://github.com/irphandarmero/sipelita/blob/main/routes/api.php): `routes/api.php`
- [Controller base](https://github.com/irphandarmero/sipelita/blob/main/app/Http/Controllers/Controller.php): `app/Http/Controllers/Controller.php`
- [Welcome view](https://github.com/irphandarmero/sipelita/blob/main/resources/views/welcome.blade.php): `resources/views/welcome.blade.php`

### Report domain

- [Report master](https://github.com/irphandarmero/sipelita/blob/main/app/Models/MasterLaporan.php): `app/Models/MasterLaporan.php`
- [Report detail](https://github.com/irphandarmero/sipelita/blob/main/app/Models/DetailLaporan.php): `app/Models/DetailLaporan.php`
- [Work unit](https://github.com/irphandarmero/sipelita/blob/main/app/Models/UnitKerja.php): `app/Models/UnitKerja.php`
- [User model](https://github.com/irphandarmero/sipelita/blob/main/app/Models/User.php): `app/Models/User.php`

### Framework services

- [Database](https://github.com/irphandarmero/sipelita/blob/main/config/database.php): `config/database.php`
- [Authentication config](https://github.com/irphandarmero/sipelita/blob/main/config/auth.php): `config/auth.php`
- [Queue config](https://github.com/irphandarmero/sipelita/blob/main/config/queue.php): `config/queue.php`
- [Broadcast config](https://github.com/irphandarmero/sipelita/blob/main/config/broadcasting.php): `config/broadcasting.php`
- [Cache config](https://github.com/irphandarmero/sipelita/blob/main/config/cache.php): `config/cache.php`
- [Session config](https://github.com/irphandarmero/sipelita/blob/main/config/session.php): `config/session.php`

### Other components

- **Web client**

## Connections

- Web client → HTTP entry: sends request
- HTTP entry → App bootstrap: loads app
- HTTP entry → HTTP kernel: dispatches request
- HTTP kernel → Route registration: uses routes
- Route registration → Web routes: loads web routes
- Route registration → API routes: loads API routes
- Web routes → Controller base: may target
- API routes → Controller base: may target
- Report master → Database: persists via ORM
- Report detail → Database: persists via ORM
- Work unit → Database: persists via ORM
- User model → Database: persists via ORM
