# kupxzu/id-generator architecture

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

- Interactive diagram: https://gitdiagram.com/kupxzu/id-generator
- Repository: https://github.com/kupxzu/id-generator

## Overview

id-generator is a Laravel/Inertia application for creating and managing department ID cards, with configurable templates, user authentication, and account settings. The main workflow is a user entering the ID-card area, where controllers load or save card and template data and render Inertia pages. Fortify handles registration and security flows. The source excerpts show controller/model and route relationships, but the README gives no further capability detail; frontend behavior beyond named pages is not sampled.

Main entry points: [`app/Http/Controllers/IdCardController.php`](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/IdCardController.php) (ID card controller), [`routes/web.php`](https://github.com/kupxzu/id-generator/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/DepartmentTemplateController.php`](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/DepartmentTemplateController.php) (Template controller), [`app/Http/Controllers/Settings/ProfileController.php`](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/Settings/ProfileController.php) (Profile settings)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_cards["ID card management"]
  node_idcard_controller["ID card controller"]
  node_idcard_pages["ID card pages"]
  node_idcard_model[("ID card records<br/>[IdCard.php]")]
  node_storage[("Public file storage")]
  node_barcode_service["TEC-IT barcode API"]
end

subgraph group_templates["Template management"]
  node_dept_controller["Template controller"]
  node_template_pages["Template page<br/>[templates.tsx]"]
  node_template_model[("Department templates")]
end

subgraph group_identity["Authentication and accounts"]
  node_auth_provider["Fortify configuration"]
  node_registration["User registration<br/>[CreateNewUser.php]"]
  node_profile_controller["Profile settings"]
  node_security_controller["Security settings"]
  node_profile_page["Profile page<br/>[profile.tsx]"]
  node_security_page["Security page<br/>[security.tsx]"]
  node_user_model[("User account<br/>[User.php]")]
end

subgraph group_web["Web request and UI"]
  node_web_routes["Web routes<br/>[web.php]"]
  node_settings_routes["Settings routes<br/>[settings.php]"]
  node_inertia_middleware["Inertia middleware"]
  node_appearance_middleware["Appearance middleware"]
  node_bootstrap["Application bootstrap<br/>[app.php]"]
end

node_user(("User"))

node_user -->|"requests pages"| node_web_routes
node_web_routes -->|"routes to"| node_idcard_controller
node_idcard_controller -->|"reads and writes"| node_idcard_model
node_idcard_controller -->|"loads templates"| node_template_model
node_idcard_controller -->|"renders pages"| node_idcard_pages
node_idcard_controller -->|"stores uploads"| node_storage
node_idcard_pages -.->|"generates barcodes"| node_barcode_service
node_web_routes -->|"routes to"| node_dept_controller
node_dept_controller -->|"reads and saves"| node_template_model
node_dept_controller -->|"renders page"| node_template_pages
node_auth_provider -->|"registers action"| node_registration
node_registration -->|"creates account"| node_user_model
node_web_routes -->|"includes routes"| node_settings_routes
node_settings_routes -->|"routes to"| node_profile_controller
node_settings_routes -->|"routes to"| node_security_controller
node_profile_controller -->|"renders page"| node_profile_page
node_security_controller -->|"renders page"| node_security_page
node_profile_controller -->|"updates account"| node_user_model
node_security_controller -->|"updates password"| node_user_model
node_bootstrap -->|"registers middleware"| node_inertia_middleware
node_bootstrap -->|"registers middleware"| node_appearance_middleware

click node_web_routes "https://github.com/kupxzu/id-generator/blob/main/routes/web.php"
click node_idcard_controller "https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/IdCardController.php"
click node_idcard_pages "https://github.com/kupxzu/id-generator/tree/main/resources/js/pages/id-cards"
click node_idcard_model "https://github.com/kupxzu/id-generator/blob/main/app/Models/IdCard.php"
click node_dept_controller "https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/DepartmentTemplateController.php"
click node_template_pages "https://github.com/kupxzu/id-generator/blob/main/resources/js/pages/id-cards/templates.tsx"
click node_template_model "https://github.com/kupxzu/id-generator/blob/main/app/Models/DepartmentTemplate.php"
click node_auth_provider "https://github.com/kupxzu/id-generator/blob/main/app/Providers/FortifyServiceProvider.php"
click node_registration "https://github.com/kupxzu/id-generator/blob/main/app/Actions/Fortify/CreateNewUser.php"
click node_profile_controller "https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/Settings/ProfileController.php"
click node_security_controller "https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/Settings/SecurityController.php"
click node_settings_routes "https://github.com/kupxzu/id-generator/blob/main/routes/settings.php"
click node_profile_page "https://github.com/kupxzu/id-generator/blob/main/resources/js/pages/settings/profile.tsx"
click node_security_page "https://github.com/kupxzu/id-generator/blob/main/resources/js/pages/settings/security.tsx"
click node_user_model "https://github.com/kupxzu/id-generator/blob/main/app/Models/User.php"
click node_inertia_middleware "https://github.com/kupxzu/id-generator/blob/main/app/Http/Middleware/HandleInertiaRequests.php"
click node_appearance_middleware "https://github.com/kupxzu/id-generator/blob/main/app/Http/Middleware/HandleAppearance.php"
click node_bootstrap "https://github.com/kupxzu/id-generator/blob/main/bootstrap/app.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_idcard_controller,node_idcard_pages,node_idcard_model,node_storage,node_barcode_service,node_user toneBlue
class node_dept_controller,node_template_pages,node_template_model toneAmber
class node_auth_provider,node_registration,node_profile_controller,node_security_controller,node_profile_page,node_security_page,node_user_model toneMint
class node_web_routes,node_settings_routes,node_inertia_middleware,node_appearance_middleware,node_bootstrap toneRose
```

## Components

### ID card management

- [ID card controller](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/IdCardController.php): `app/Http/Controllers/IdCardController.php`
- [ID card pages](https://github.com/kupxzu/id-generator/tree/main/resources/js/pages/id-cards): `resources/js/pages/id-cards`
- [ID card records](https://github.com/kupxzu/id-generator/blob/main/app/Models/IdCard.php): `app/Models/IdCard.php`
- **Public file storage**
- **TEC-IT barcode API**

### Template management

- [Template controller](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/DepartmentTemplateController.php): `app/Http/Controllers/DepartmentTemplateController.php`
- [Template page](https://github.com/kupxzu/id-generator/blob/main/resources/js/pages/id-cards/templates.tsx): `resources/js/pages/id-cards/templates.tsx`
- [Department templates](https://github.com/kupxzu/id-generator/blob/main/app/Models/DepartmentTemplate.php): `app/Models/DepartmentTemplate.php`

### Authentication and accounts

- [Fortify configuration](https://github.com/kupxzu/id-generator/blob/main/app/Providers/FortifyServiceProvider.php): `app/Providers/FortifyServiceProvider.php`
- [User registration](https://github.com/kupxzu/id-generator/blob/main/app/Actions/Fortify/CreateNewUser.php): `app/Actions/Fortify/CreateNewUser.php`
- [Profile settings](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/Settings/ProfileController.php): `app/Http/Controllers/Settings/ProfileController.php`
- [Security settings](https://github.com/kupxzu/id-generator/blob/main/app/Http/Controllers/Settings/SecurityController.php): `app/Http/Controllers/Settings/SecurityController.php`
- [Profile page](https://github.com/kupxzu/id-generator/blob/main/resources/js/pages/settings/profile.tsx): `resources/js/pages/settings/profile.tsx`
- [Security page](https://github.com/kupxzu/id-generator/blob/main/resources/js/pages/settings/security.tsx): `resources/js/pages/settings/security.tsx`
- [User account](https://github.com/kupxzu/id-generator/blob/main/app/Models/User.php): `app/Models/User.php`

### Web request and UI

- [Web routes](https://github.com/kupxzu/id-generator/blob/main/routes/web.php): `routes/web.php`
- [Settings routes](https://github.com/kupxzu/id-generator/blob/main/routes/settings.php): `routes/settings.php`
- [Inertia middleware](https://github.com/kupxzu/id-generator/blob/main/app/Http/Middleware/HandleInertiaRequests.php): `app/Http/Middleware/HandleInertiaRequests.php`
- [Appearance middleware](https://github.com/kupxzu/id-generator/blob/main/app/Http/Middleware/HandleAppearance.php): `app/Http/Middleware/HandleAppearance.php`
- [Application bootstrap](https://github.com/kupxzu/id-generator/blob/main/bootstrap/app.php): `bootstrap/app.php`

### Other components

- **User**

## Connections

- User → Web routes: requests pages (evidence: `routes/web.php`)
- Web routes → ID card controller: routes to (evidence: `routes/web.php`)
- ID card controller → ID card records: reads and writes (evidence: `app/Http/Controllers/IdCardController.php`)
- ID card controller → Department templates: loads templates (evidence: `app/Http/Controllers/IdCardController.php`)
- ID card controller → ID card pages: renders pages (evidence: `app/Http/Controllers/IdCardController.php`)
- ID card controller → Public file storage: stores uploads (evidence: `app/Http/Controllers/IdCardController.php`)
- ID card pages → TEC-IT barcode API: generates barcodes
- Web routes → Template controller: routes to (evidence: `routes/web.php`)
- Template controller → Department templates: reads and saves (evidence: `app/Http/Controllers/DepartmentTemplateController.php`)
- Template controller → Template page: renders page (evidence: `app/Http/Controllers/DepartmentTemplateController.php`)
- Fortify configuration → User registration: registers action (evidence: `app/Providers/FortifyServiceProvider.php`)
- User registration → User account: creates account (evidence: `app/Actions/Fortify/CreateNewUser.php`)
- Web routes → Settings routes: includes routes (evidence: `routes/web.php`)
- Settings routes → Profile settings: routes to (evidence: `routes/settings.php`)
- Settings routes → Security settings: routes to (evidence: `routes/settings.php`)
- Profile settings → Profile page: renders page (evidence: `app/Http/Controllers/Settings/ProfileController.php`)
- Security settings → Security page: renders page (evidence: `app/Http/Controllers/Settings/SecurityController.php`)
- Profile settings → User account: updates account (evidence: `app/Http/Controllers/Settings/ProfileController.php`)
- Security settings → User account: updates password (evidence: `app/Http/Controllers/Settings/SecurityController.php`)
- Application bootstrap → Inertia middleware: registers middleware (evidence: `bootstrap/app.php`)
- Application bootstrap → Appearance middleware: registers middleware (evidence: `bootstrap/app.php`)
