# msatriaputrautama/aplikasi_insaf architecture

> Architecture diagram of the GitHub repository msatriaputrautama/aplikasi_insaf, 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/msatriaputrautama/aplikasi_insaf
- Repository: https://github.com/msatriaputrautama/aplikasi_insaf

## Overview

CodeIgniter is a PHP web application framework; the tree also contains a small BRKS login/menu/role application. The framework’s documented purpose is to provide a request-handling structure and reusable libraries. The principal workflow is an HTTP request routed to a controller, which loads application behavior and produces a view/response. The graph includes the sampled application areas and major framework runtime capabilities visible in the tree. Source excerpts are limited, so application controller-to-model and other unsampled runtime links are not asserted.

Main entry points: [`system/core/CodeIgniter.php`](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/CodeIgniter.php) (Runtime bootstrap), [`application/controllers`](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/controllers) (App controllers), [`system/database`](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/database) (Database layer), [`system/core/Loader.php`](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Loader.php) (Class and view loader)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Request lifecycle"]
  node_front["Front controller<br/>[index.php]"]
  node_bootstrap["Runtime bootstrap<br/>[CodeIgniter.php]"]
  node_router["URI router<br/>[Router.php]"]
end

subgraph group_app["BRKS application"]
  node_controllers["App controllers"]
  node_loginview["Login form<br/>[vw_login.php]"]
  node_template["View template<br/>[Template.php]"]
  node_appmodels["App models"]
  node_appviews["Admin views"]
end

subgraph group_framework["Framework services"]
  node_core["Core services"]
  node_controllerbase["Controller base<br/>[Controller.php]"]
  node_loader["Class and view loader<br/>[Loader.php]"]
  node_driver["Driver library<br/>[Driver.php]"]
  node_encrypt["Encryption library<br/>[Encrypt.php]"]
end

subgraph group_integrations["Storage and sessions"]
  node_session["Session manager<br/>[Session.php]"]
  node_sessiondrivers["Session drivers"]
  node_database["Database layer"]
  node_dbconfig["Database configuration<br/>[database.php]"]
  node_dbservice[("Database service")]
end

node_client(("Web client"))

node_client -->|"requests"| node_front
node_front -->|"loads runtime"| node_bootstrap
node_bootstrap -->|"initializes"| node_router
node_bootstrap -->|"loads services"| node_core
node_bootstrap -->|"creates controller"| node_controllerbase
node_router -->|"resolves route"| node_controllers
node_controllerbase -->|"initializes"| node_loader
node_loader -->|"loads classes"| node_driver
node_controllers -.->|"serves login"| node_loginview
node_loginview -->|"posts credentials"| node_controllers
node_template -->|"renders through"| node_loader
node_template -.->|"renders view"| node_appviews
node_controllers -.->|"uses models"| node_appmodels
node_appmodels -.->|"queries through"| node_database
node_dbconfig -.->|"configures"| node_database
node_database -.->|"connects"| node_dbservice
node_session -->|"selects driver"| node_sessiondrivers
node_sessiondrivers -->|"uses database driver"| node_database
node_driver -.->|"supports drivers"| node_encrypt

click node_front "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/index.php"
click node_bootstrap "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/CodeIgniter.php"
click node_router "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Router.php"
click node_controllers "https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/controllers"
click node_loginview "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/application/views/auth/vw_login.php"
click node_template "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/application/libraries/Template.php"
click node_appmodels "https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/models"
click node_appviews "https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/views/master"
click node_core "https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/core"
click node_controllerbase "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Controller.php"
click node_loader "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Loader.php"
click node_driver "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/libraries/Driver.php"
click node_encrypt "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/libraries/Encrypt.php"
click node_session "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/libraries/Session/Session.php"
click node_sessiondrivers "https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/libraries/Session/drivers"
click node_database "https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/database"
click node_dbconfig "https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/application/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_bootstrap,node_router,node_client toneBlue
class node_controllers,node_loginview,node_template,node_appmodels,node_appviews toneAmber
class node_core,node_controllerbase,node_loader,node_driver,node_encrypt toneMint
class node_session,node_sessiondrivers,node_database,node_dbconfig,node_dbservice toneRose
```

## Components

### Request lifecycle

- [Front controller](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/index.php): `index.php`
- [Runtime bootstrap](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/CodeIgniter.php): `system/core/CodeIgniter.php`
- [URI router](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Router.php): `system/core/Router.php`

### BRKS application

- [App controllers](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/controllers): `application/controllers`
- [Login form](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/application/views/auth/vw_login.php): `application/views/auth/vw_login.php`
- [View template](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/application/libraries/Template.php): `application/libraries/Template.php`
- [App models](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/models): `application/models`
- [Admin views](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/application/views/master): `application/views/master`

### Framework services

- [Core services](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/core): `system/core`
- [Controller base](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Controller.php): `system/core/Controller.php`
- [Class and view loader](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/core/Loader.php): `system/core/Loader.php`
- [Driver library](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/libraries/Driver.php): `system/libraries/Driver.php`
- [Encryption library](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/libraries/Encrypt.php): `system/libraries/Encrypt.php`

### Storage and sessions

- [Session manager](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/system/libraries/Session/Session.php): `system/libraries/Session/Session.php`
- [Session drivers](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/libraries/Session/drivers): `system/libraries/Session/drivers`
- [Database layer](https://github.com/msatriaputrautama/aplikasi_insaf/tree/main/system/database): `system/database`
- [Database configuration](https://github.com/msatriaputrautama/aplikasi_insaf/blob/main/application/config/database.php): `application/config/database.php`
- **Database service**

### Other components

- **Web client**

## Connections

- Web client → Front controller: requests (evidence: `index.php`)
- Front controller → Runtime bootstrap: loads runtime (evidence: `index.php`)
- Runtime bootstrap → URI router: initializes (evidence: `system/core/CodeIgniter.php`)
- Runtime bootstrap → Core services: loads services (evidence: `system/core/CodeIgniter.php`)
- Runtime bootstrap → Controller base: creates controller (evidence: `system/core/CodeIgniter.php`)
- URI router → App controllers: resolves route (evidence: `system/core/Router.php`)
- Controller base → Class and view loader: initializes (evidence: `system/core/Controller.php`)
- Class and view loader → Driver library: loads classes (evidence: `system/core/Loader.php`)
- App controllers → Login form: serves login
- Login form → App controllers: posts credentials (evidence: `application/views/auth/vw_login.php`)
- View template → Class and view loader: renders through (evidence: `application/libraries/Template.php`)
- View template → Admin views: renders view
- App controllers → App models: uses models
- App models → Database layer: queries through
- Database configuration → Database layer: configures
- Database layer → Database service: connects
- Session manager → Session drivers: selects driver (evidence: `system/libraries/Session/Session.php`)
- Session drivers → Database layer: uses database driver (evidence: `system/libraries/Session/drivers/Session_database_driver.php`)
- Driver library → Encryption library: supports drivers
