# mi-rosee/paywise architecture

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

- Interactive diagram: https://gitdiagram.com/mi-rosee/paywise
- Repository: https://github.com/mi-rosee/paywise

## Overview

PayWise is identified as a smart payroll management system, but the available application code shows a Laravel scaffold and a custom account-registration flow—not payroll processing. A request enters Laravel, is routed through the web stack, and the registration controller validates input, hashes the password, and creates a User. The graph includes the framework-facing runtime and major application provider, event, API, and broadcast areas; their deeper behavior is not established by the excerpts, so uncertain connections are omitted.

Main entry points: [`bootstrap/app.php`](https://github.com/mi-rosee/paywise/blob/main/bootstrap/app.php) (Application bootstrap), [`public/index.php`](https://github.com/mi-rosee/paywise/blob/main/public/index.php) (HTTP entry point), [`app/Http/Controllers/AuthController.php`](https://github.com/mi-rosee/paywise/blob/main/app/Http/Controllers/AuthController.php) (Registration controller), [`app/Http/Kernel.php`](https://github.com/mi-rosee/paywise/blob/main/app/Http/Kernel.php) (HTTP kernel)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_runtime["HTTP runtime"]
  node_entry["HTTP entry point<br/>[index.php]"]
  node_bootstrap["Application bootstrap<br/>[app.php]"]
  node_httpkernel["HTTP kernel<br/>[Kernel.php]"]
  node_middleware["Request middleware"]
  node_routing["Route registration"]
  node_webroutes["Web routes<br/>[web.php]"]
  node_apiroutes["API routes<br/>[api.php]"]
  node_consolekernel["Console kernel<br/>[Kernel.php]"]
  node_exceptions["Exception handler<br/>[Handler.php]"]
end

subgraph group_accounts["Account registration"]
  node_authcontroller["Registration controller<br/>[AuthController.php]"]
  node_basecontroller["Base controller<br/>[Controller.php]"]
  node_user["User account model<br/>[User.php]"]
  node_authconfig["Authentication config<br/>[auth.php]"]
  node_frontend["Browser bootstrap<br/>[bootstrap.js]"]
end

subgraph group_services["Application services"]
  node_providers["Application providers"]
  node_broadcast["Broadcast channels<br/>[channels.php]"]
end

node_browser(("Web client"))

node_browser -->|"sends request"| node_entry
node_entry -->|"loads app"| node_bootstrap
node_entry -->|"handles request"| node_httpkernel
node_bootstrap -->|"binds kernel"| node_httpkernel
node_bootstrap -->|"binds kernel"| node_consolekernel
node_bootstrap -->|"binds handler"| node_exceptions
node_httpkernel -->|"runs stack"| node_middleware
node_routing -->|"loads routes"| node_webroutes
node_routing -->|"loads routes"| node_apiroutes
node_webroutes -->|"routes to"| node_authcontroller
node_authcontroller -->|"extends"| node_basecontroller
node_authcontroller -->|"creates account"| node_user
node_authconfig -->|"configures model"| node_user
node_frontend -.->|"initializes client"| node_browser

click node_entry "https://github.com/mi-rosee/paywise/blob/main/public/index.php"
click node_bootstrap "https://github.com/mi-rosee/paywise/blob/main/bootstrap/app.php"
click node_httpkernel "https://github.com/mi-rosee/paywise/blob/main/app/Http/Kernel.php"
click node_middleware "https://github.com/mi-rosee/paywise/tree/main/app/Http/Middleware"
click node_routing "https://github.com/mi-rosee/paywise/blob/main/app/Providers/RouteServiceProvider.php"
click node_webroutes "https://github.com/mi-rosee/paywise/blob/main/routes/web.php"
click node_apiroutes "https://github.com/mi-rosee/paywise/blob/main/routes/api.php"
click node_consolekernel "https://github.com/mi-rosee/paywise/blob/main/app/Console/Kernel.php"
click node_exceptions "https://github.com/mi-rosee/paywise/blob/main/app/Exceptions/Handler.php"
click node_authcontroller "https://github.com/mi-rosee/paywise/blob/main/app/Http/Controllers/AuthController.php"
click node_basecontroller "https://github.com/mi-rosee/paywise/blob/main/app/Http/Controllers/Controller.php"
click node_user "https://github.com/mi-rosee/paywise/blob/main/app/Models/User.php"
click node_authconfig "https://github.com/mi-rosee/paywise/blob/main/config/auth.php"
click node_providers "https://github.com/mi-rosee/paywise/tree/main/app/Providers"
click node_broadcast "https://github.com/mi-rosee/paywise/blob/main/routes/channels.php"
click node_frontend "https://github.com/mi-rosee/paywise/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_entry,node_bootstrap,node_httpkernel,node_middleware,node_routing,node_webroutes,node_apiroutes,node_consolekernel,node_exceptions,node_browser toneBlue
class node_authcontroller,node_basecontroller,node_user,node_authconfig,node_frontend toneAmber
class node_providers,node_broadcast toneMint
```

## Components

### HTTP runtime

- [HTTP entry point](https://github.com/mi-rosee/paywise/blob/main/public/index.php): `public/index.php`
- [Application bootstrap](https://github.com/mi-rosee/paywise/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [HTTP kernel](https://github.com/mi-rosee/paywise/blob/main/app/Http/Kernel.php): `app/Http/Kernel.php`
- [Request middleware](https://github.com/mi-rosee/paywise/tree/main/app/Http/Middleware): `app/Http/Middleware`
- [Route registration](https://github.com/mi-rosee/paywise/blob/main/app/Providers/RouteServiceProvider.php): `app/Providers/RouteServiceProvider.php`
- [Web routes](https://github.com/mi-rosee/paywise/blob/main/routes/web.php): `routes/web.php`
- [API routes](https://github.com/mi-rosee/paywise/blob/main/routes/api.php): `routes/api.php`
- [Console kernel](https://github.com/mi-rosee/paywise/blob/main/app/Console/Kernel.php): `app/Console/Kernel.php`
- [Exception handler](https://github.com/mi-rosee/paywise/blob/main/app/Exceptions/Handler.php): `app/Exceptions/Handler.php`

### Account registration

- [Registration controller](https://github.com/mi-rosee/paywise/blob/main/app/Http/Controllers/AuthController.php): `app/Http/Controllers/AuthController.php`
- [Base controller](https://github.com/mi-rosee/paywise/blob/main/app/Http/Controllers/Controller.php): `app/Http/Controllers/Controller.php`
- [User account model](https://github.com/mi-rosee/paywise/blob/main/app/Models/User.php): `app/Models/User.php`
- [Authentication config](https://github.com/mi-rosee/paywise/blob/main/config/auth.php): `config/auth.php`
- [Browser bootstrap](https://github.com/mi-rosee/paywise/blob/main/resources/js/bootstrap.js): `resources/js/bootstrap.js`

### Application services

- [Application providers](https://github.com/mi-rosee/paywise/tree/main/app/Providers): `app/Providers`
- [Broadcast channels](https://github.com/mi-rosee/paywise/blob/main/routes/channels.php): `routes/channels.php`

### Other components

- **Web client**

## Connections

- Web client → HTTP entry point: sends request (evidence: `public/index.php`)
- HTTP entry point → Application bootstrap: loads app (evidence: `public/index.php`)
- HTTP entry point → HTTP kernel: handles request (evidence: `public/index.php`)
- Application bootstrap → HTTP kernel: binds kernel (evidence: `bootstrap/app.php`)
- Application bootstrap → Console kernel: binds kernel (evidence: `bootstrap/app.php`)
- Application bootstrap → Exception handler: binds handler (evidence: `bootstrap/app.php`)
- HTTP kernel → Request middleware: runs stack (evidence: `app/Http/Kernel.php`)
- Route registration → Web routes: loads routes (evidence: `app/Providers/RouteServiceProvider.php`)
- Route registration → API routes: loads routes (evidence: `app/Providers/RouteServiceProvider.php`)
- Web routes → Registration controller: routes to (evidence: `routes/web.php`)
- Registration controller → Base controller: extends (evidence: `app/Http/Controllers/AuthController.php`)
- Registration controller → User account model: creates account (evidence: `app/Http/Controllers/AuthController.php`)
- Authentication config → User account model: configures model (evidence: `config/auth.php`)
- Browser bootstrap → Web client: initializes client
