# bokdotdeveloper/bims architecture

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

- Interactive diagram: https://gitdiagram.com/bokdotdeveloper/bims
- Repository: https://github.com/bokdotdeveloper/bims

## Overview

This Laravel/Inertia application is a beneficiary information management system. Users work through browser pages to manage beneficiary records and family links, organize groups, projects and trainings, and record assistance; staff can monitor activity and generate filtered reports. Controllers serve as the request orchestrators, querying domain models and returning page data or exports. The sampled code confirms these paths for user/role administration, monitoring, reporting, and family matching; other controller-to-feature links reflect the repository’s named modules, while uncertain internal wiring is omitted.

Main entry points: [`routes/web.php`](https://github.com/bokdotdeveloper/bims/blob/master/routes/web.php) (Web routes), [`app/Http/Controllers/ReportController.php`](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/ReportController.php) (Reports and exports), [`app/Http/Controllers/MonitoringController.php`](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/MonitoringController.php) (Operational monitoring), [`resources/js/Pages`](https://github.com/bokdotdeveloper/bims/tree/master/resources/js/Pages) (Inertia pages)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and administration"]
  node_routes["Web routes<br/>[web.php]"]
  node_auth["Authentication<br/>[CreateNewUser.php]"]
  node_users["User administration<br/>[UserController.php]"]
  node_roles["Role administration<br/>[RoleController.php]"]
  node_permissions["Permission checks"]
  node_userstore[("Users and roles<br/>[User.php]")]
  node_auditlogic["Audit logging<br/>[AuditLogger.php]"]
  node_auditstore[("Audit records<br/>[AuditLog.php]")]
end

subgraph group_records["Beneficiary operations"]
  node_beneficiaries["Beneficiary management"]
  node_family["Family matching"]
  node_beneficiarystore[("Beneficiary records<br/>[Beneficiary.php]")]
  node_familystore[("Family records<br/>[FamilyMember.php]")]
  node_groups["Group management"]
  node_groupstore[("Beneficiary groups")]
end

subgraph group_delivery["Programs and assistance"]
  node_projects["Project management"]
  node_projectstore[("Projects<br/>[Project.php]")]
  node_trainings["Training management"]
  node_trainingstore[("Training records<br/>[Training.php]")]
  node_assistance["Assistance management"]
  node_assiststore[("Assistance records")]
end

subgraph group_insight["Monitoring and reporting"]
  node_monitoring["Operational monitoring"]
  node_reports["Reports and exports"]
  node_exports["Export formats"]
  node_pages["Inertia pages"]
  node_notifications["Notifications"]
end

node_staff(("Staff user"))

node_staff -->|"sends requests"| node_routes
node_routes -->|"dispatches"| node_auth
node_routes -->|"dispatches"| node_users
node_routes -->|"dispatches"| node_roles
node_routes -->|"dispatches"| node_beneficiaries
node_routes -->|"dispatches"| node_family
node_routes -->|"dispatches"| node_groups
node_routes -->|"dispatches"| node_projects
node_routes -->|"dispatches"| node_trainings
node_routes -->|"dispatches"| node_assistance
node_routes -->|"dispatches"| node_monitoring
node_routes -->|"dispatches"| node_reports
node_routes -->|"dispatches"| node_notifications
node_users -->|"reads and writes"| node_userstore
node_users -->|"records role changes"| node_auditlogic
node_roles -->|"reads roles"| node_userstore
node_roles -->|"records permission changes"| node_auditlogic
node_auditlogic -->|"writes events"| node_auditstore
node_users -->|"checks access"| node_permissions
node_beneficiaries -->|"reads and writes"| node_beneficiarystore
node_family -->|"searches matches"| node_beneficiarystore
node_family -->|"reads and writes"| node_familystore
node_groups -->|"reads and writes"| node_groupstore
node_projects -->|"reads and writes"| node_projectstore
node_trainings -->|"reads and writes"| node_trainingstore
node_assistance -->|"reads and writes"| node_assiststore
node_monitoring -->|"queries"| node_beneficiarystore
node_monitoring -->|"queries"| node_groupstore
node_monitoring -->|"queries"| node_projectstore
node_monitoring -->|"queries"| node_trainingstore
node_monitoring -->|"queries"| node_assiststore
node_reports -->|"filters records"| node_beneficiarystore
node_reports -->|"filters records"| node_groupstore
node_reports -->|"filters records"| node_projectstore
node_reports -->|"filters records"| node_trainingstore
node_reports -->|"filters records"| node_assiststore
node_reports -->|"reads logs"| node_auditstore
node_reports -->|"invokes exports"| node_exports
node_routes -->|"renders pages"| node_pages
node_users -->|"returns page data"| node_pages
node_roles -->|"returns page data"| node_pages
node_beneficiaries -->|"returns page data"| node_pages
node_monitoring -->|"returns page data"| node_pages
node_reports -->|"returns page data"| node_pages
node_notifications -->|"returns notifications"| node_pages

click node_routes "https://github.com/bokdotdeveloper/bims/blob/master/routes/web.php"
click node_auth "https://github.com/bokdotdeveloper/bims/blob/master/app/Actions/Fortify/CreateNewUser.php"
click node_users "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/Admin/UserController.php"
click node_roles "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/Admin/RoleController.php"
click node_permissions "https://github.com/bokdotdeveloper/bims/blob/master/app/Support/PermissionChecker.php"
click node_userstore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/User.php"
click node_auditlogic "https://github.com/bokdotdeveloper/bims/blob/master/app/Support/AuditLogger.php"
click node_auditstore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/AuditLog.php"
click node_beneficiaries "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/BeneficiaryController.php"
click node_family "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/FamilyMemberController.php"
click node_beneficiarystore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/Beneficiary.php"
click node_familystore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/FamilyMember.php"
click node_groups "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/BeneficiaryGroupController.php"
click node_groupstore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/BeneficiaryGroup.php"
click node_projects "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/ProjectController.php"
click node_projectstore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/Project.php"
click node_trainings "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/TrainingController.php"
click node_trainingstore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/Training.php"
click node_assistance "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/AssistanceRecordController.php"
click node_assiststore "https://github.com/bokdotdeveloper/bims/blob/master/app/Models/AssistanceRecord.php"
click node_monitoring "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/MonitoringController.php"
click node_reports "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/ReportController.php"
click node_exports "https://github.com/bokdotdeveloper/bims/blob/master/app/Exports/BeneficiariesExport.php"
click node_pages "https://github.com/bokdotdeveloper/bims/tree/master/resources/js/Pages"
click node_notifications "https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/NotificationController.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_routes,node_auth,node_users,node_roles,node_permissions,node_userstore,node_auditlogic,node_auditstore,node_staff toneBlue
class node_beneficiaries,node_family,node_beneficiarystore,node_familystore,node_groups,node_groupstore toneAmber
class node_projects,node_projectstore,node_trainings,node_trainingstore,node_assistance,node_assiststore toneMint
class node_monitoring,node_reports,node_exports,node_pages,node_notifications toneRose
```

## Components

### Access and administration

- [Web routes](https://github.com/bokdotdeveloper/bims/blob/master/routes/web.php): `routes/web.php`
- [Authentication](https://github.com/bokdotdeveloper/bims/blob/master/app/Actions/Fortify/CreateNewUser.php): `app/Actions/Fortify/CreateNewUser.php`
- [User administration](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/Admin/UserController.php): `app/Http/Controllers/Admin/UserController.php`
- [Role administration](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/Admin/RoleController.php): `app/Http/Controllers/Admin/RoleController.php`
- [Permission checks](https://github.com/bokdotdeveloper/bims/blob/master/app/Support/PermissionChecker.php): `app/Support/PermissionChecker.php`
- [Users and roles](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/User.php): `app/Models/User.php`
- [Audit logging](https://github.com/bokdotdeveloper/bims/blob/master/app/Support/AuditLogger.php): `app/Support/AuditLogger.php`
- [Audit records](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/AuditLog.php): `app/Models/AuditLog.php`

### Beneficiary operations

- [Beneficiary management](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/BeneficiaryController.php): `app/Http/Controllers/BeneficiaryController.php`
- [Family matching](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/FamilyMemberController.php): `app/Http/Controllers/FamilyMemberController.php`
- [Beneficiary records](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/Beneficiary.php): `app/Models/Beneficiary.php`
- [Family records](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/FamilyMember.php): `app/Models/FamilyMember.php`
- [Group management](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/BeneficiaryGroupController.php): `app/Http/Controllers/BeneficiaryGroupController.php`
- [Beneficiary groups](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/BeneficiaryGroup.php): `app/Models/BeneficiaryGroup.php`

### Programs and assistance

- [Project management](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/ProjectController.php): `app/Http/Controllers/ProjectController.php`
- [Projects](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/Project.php): `app/Models/Project.php`
- [Training management](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/TrainingController.php): `app/Http/Controllers/TrainingController.php`
- [Training records](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/Training.php): `app/Models/Training.php`
- [Assistance management](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/AssistanceRecordController.php): `app/Http/Controllers/AssistanceRecordController.php`
- [Assistance records](https://github.com/bokdotdeveloper/bims/blob/master/app/Models/AssistanceRecord.php): `app/Models/AssistanceRecord.php`

### Monitoring and reporting

- [Operational monitoring](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/MonitoringController.php): `app/Http/Controllers/MonitoringController.php`
- [Reports and exports](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/ReportController.php): `app/Http/Controllers/ReportController.php`
- [Export formats](https://github.com/bokdotdeveloper/bims/blob/master/app/Exports/BeneficiariesExport.php): `app/Exports/BeneficiariesExport.php`
- [Inertia pages](https://github.com/bokdotdeveloper/bims/tree/master/resources/js/Pages): `resources/js/Pages`
- [Notifications](https://github.com/bokdotdeveloper/bims/blob/master/app/Http/Controllers/NotificationController.php): `app/Http/Controllers/NotificationController.php`

### Other components

- **Staff user**

## Connections

- Staff user → Web routes: sends requests
- Web routes → Authentication: dispatches
- Web routes → User administration: dispatches
- Web routes → Role administration: dispatches
- Web routes → Beneficiary management: dispatches
- Web routes → Family matching: dispatches
- Web routes → Group management: dispatches
- Web routes → Project management: dispatches
- Web routes → Training management: dispatches
- Web routes → Assistance management: dispatches
- Web routes → Operational monitoring: dispatches
- Web routes → Reports and exports: dispatches
- Web routes → Notifications: dispatches
- User administration → Users and roles: reads and writes
- User administration → Audit logging: records role changes
- Role administration → Users and roles: reads roles
- Role administration → Audit logging: records permission changes
- Audit logging → Audit records: writes events
- User administration → Permission checks: checks access
- Beneficiary management → Beneficiary records: reads and writes
- Family matching → Beneficiary records: searches matches
- Family matching → Family records: reads and writes
- Group management → Beneficiary groups: reads and writes
- Project management → Projects: reads and writes
- Training management → Training records: reads and writes
- Assistance management → Assistance records: reads and writes
- Operational monitoring → Beneficiary records: queries
- Operational monitoring → Beneficiary groups: queries
- Operational monitoring → Projects: queries
- Operational monitoring → Training records: queries
- Operational monitoring → Assistance records: queries
- Reports and exports → Beneficiary records: filters records
- Reports and exports → Beneficiary groups: filters records
- Reports and exports → Projects: filters records
- Reports and exports → Training records: filters records
- Reports and exports → Assistance records: filters records
- Reports and exports → Audit records: reads logs
- Reports and exports → Export formats: invokes exports
- Web routes → Inertia pages: renders pages
- User administration → Inertia pages: returns page data
- Role administration → Inertia pages: returns page data
- Beneficiary management → Inertia pages: returns page data
- Operational monitoring → Inertia pages: returns page data
- Reports and exports → Inertia pages: returns page data
- Notifications → Inertia pages: returns notifications
