# vroa74/sco-ao architecture

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

## Overview

This Laravel application combines an administrator dashboard with workflows for managing users, agendas, user groups, catalogues, QR codes, and dashboard data. Users enter through web routes; controllers handle requests and render Blade or Livewire interfaces while Eloquent models persist domain state. Jetstream/Fortify supplies authentication and profile features. The excerpts confirm several controller-to-model calls, but do not expose all route, catalogue, and dashboard implementations, so those links are omitted or marked unverified.

Main entry points: [`routes/web.php`](https://github.com/vroa74/sco-ao/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/UserGroupController.php`](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/UserGroupController.php) (Group management), [`app/Http/Controllers/AgendaController.php`](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/AgendaController.php) (Agenda management), [`app/Models/User.php`](https://github.com/vroa74/sco-ao/blob/main/app/Models/User.php) (User accounts)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_web["Web entry and UI"]
  node_routes["Web routes<br/>[web.php]"]
  node_http["HTTP request handling<br/>[Kernel.php]"]
  node_blade["Blade interfaces"]
  node_agenda_ui["Agenda pages<br/>[index.blade.php]"]
  node_admin_ui["Admin user pages<br/>[index.blade.php]"]
  node_groups_ui["Group pages<br/>[index.blade.php]"]
  node_catalogue_ui["Catalogue page"]
  node_qr_ui["QR page<br/>[qr.blade.php]"]
end

subgraph group_domain["Administration workflows"]
  node_agenda["Agenda management"]
  node_agenda_model[("Agenda records<br/>[Agenda.php]")]
  node_qr["QR code endpoint"]
end

subgraph group_identity["Identity and groups"]
  node_users_admin["User administration"]
  node_user_model[("User accounts<br/>[User.php]")]
  node_groups_controller["Group management"]
  node_groups_model[("User groups<br/>[UserGroup.php]")]
  node_members_model[("Group memberships<br/>[GroupMember.php]")]
  node_auth["Authentication and profiles"]
  node_signup["Account creation<br/>[CreateNewUser.php]"]
end

subgraph group_dashboard["Dashboard and catalogues"]
  node_dashboard_controller["Dashboard data"]
  node_datafeed_controller["Data feed"]
  node_datafeed_model[("Dashboard data records<br/>[DataFeed.php]")]
  node_dashboard_ui["Dashboard cards"]
  node_catalogues["Catalogue views"]
end

node_visitor(("Web user"))

node_visitor -->|"requests pages"| node_routes
node_routes -->|"routes to"| node_agenda
node_routes -->|"routes to"| node_users_admin
node_routes -->|"routes to"| node_groups_controller
node_routes -->|"routes to"| node_dashboard_controller
node_routes -->|"routes to"| node_datafeed_controller
node_routes -->|"routes to"| node_qr
node_routes -.->|"uses middleware"| node_http
node_agenda -->|"queries and updates"| node_agenda_model
node_users_admin -->|"queries and updates"| node_user_model
node_groups_controller -->|"manages groups"| node_groups_model
node_groups_controller -->|"queries users"| node_user_model
node_groups_controller -.->|"manages memberships"| node_members_model
node_groups_model -->|"relates memberships"| node_members_model
node_user_model -->|"defines group relations"| node_groups_model
node_auth -->|"registers action"| node_signup
node_signup -->|"creates account"| node_user_model
node_agenda -->|"renders"| node_agenda_ui
node_users_admin -->|"renders"| node_admin_ui
node_groups_controller -->|"renders"| node_groups_ui
node_dashboard_controller -->|"loads dashboard data"| node_datafeed_model
node_datafeed_controller -->|"accesses feed"| node_datafeed_model
node_dashboard_controller -.->|"provides dashboard"| node_dashboard_ui
node_routes -.->|"routes to"| node_catalogues
node_catalogues -.->|"renders"| node_catalogue_ui
node_routes -.->|"serves page"| node_qr_ui
node_agenda -->|"renders views"| node_blade

click node_routes "https://github.com/vroa74/sco-ao/blob/main/routes/web.php"
click node_http "https://github.com/vroa74/sco-ao/blob/main/app/Http/Kernel.php"
click node_blade "https://github.com/vroa74/sco-ao/tree/main/resources/views"
click node_agenda "https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/AgendaController.php"
click node_agenda_model "https://github.com/vroa74/sco-ao/blob/main/app/Models/Agenda.php"
click node_users_admin "https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/Admin/UsuarioController.php"
click node_user_model "https://github.com/vroa74/sco-ao/blob/main/app/Models/User.php"
click node_groups_controller "https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/UserGroupController.php"
click node_groups_model "https://github.com/vroa74/sco-ao/blob/main/app/Models/UserGroup.php"
click node_members_model "https://github.com/vroa74/sco-ao/blob/main/app/Models/GroupMember.php"
click node_auth "https://github.com/vroa74/sco-ao/blob/main/app/Providers/FortifyServiceProvider.php"
click node_signup "https://github.com/vroa74/sco-ao/blob/main/app/Actions/Fortify/CreateNewUser.php"
click node_dashboard_controller "https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/DashboardController.php"
click node_datafeed_controller "https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/DataFeedController.php"
click node_datafeed_model "https://github.com/vroa74/sco-ao/blob/main/app/Models/DataFeed.php"
click node_dashboard_ui "https://github.com/vroa74/sco-ao/blob/main/resources/js/components/dashboard-card-01.js"
click node_catalogues "https://github.com/vroa74/sco-ao/tree/main/app/Livewire/Catalogo"
click node_qr "https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/QrCodeController.php"
click node_agenda_ui "https://github.com/vroa74/sco-ao/blob/main/resources/views/agenda/index.blade.php"
click node_admin_ui "https://github.com/vroa74/sco-ao/blob/main/resources/views/admin/usuarios/index.blade.php"
click node_groups_ui "https://github.com/vroa74/sco-ao/blob/main/resources/views/user-groups/index.blade.php"
click node_catalogue_ui "https://github.com/vroa74/sco-ao/blob/main/resources/views/catalogos/catalogos.blade.php"
click node_qr_ui "https://github.com/vroa74/sco-ao/blob/main/resources/views/pages/qr.blade.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_http,node_blade,node_agenda_ui,node_admin_ui,node_groups_ui,node_catalogue_ui,node_qr_ui,node_visitor toneBlue
class node_agenda,node_agenda_model,node_qr toneAmber
class node_users_admin,node_user_model,node_groups_controller,node_groups_model,node_members_model,node_auth,node_signup toneMint
class node_dashboard_controller,node_datafeed_controller,node_datafeed_model,node_dashboard_ui,node_catalogues toneRose
```

## Components

### Web entry and UI

- [Web routes](https://github.com/vroa74/sco-ao/blob/main/routes/web.php): `routes/web.php`
- [HTTP request handling](https://github.com/vroa74/sco-ao/blob/main/app/Http/Kernel.php): `app/Http/Kernel.php`
- [Blade interfaces](https://github.com/vroa74/sco-ao/tree/main/resources/views): `resources/views`
- [Agenda pages](https://github.com/vroa74/sco-ao/blob/main/resources/views/agenda/index.blade.php): `resources/views/agenda/index.blade.php`
- [Admin user pages](https://github.com/vroa74/sco-ao/blob/main/resources/views/admin/usuarios/index.blade.php): `resources/views/admin/usuarios/index.blade.php`
- [Group pages](https://github.com/vroa74/sco-ao/blob/main/resources/views/user-groups/index.blade.php): `resources/views/user-groups/index.blade.php`
- [Catalogue page](https://github.com/vroa74/sco-ao/blob/main/resources/views/catalogos/catalogos.blade.php): `resources/views/catalogos/catalogos.blade.php`
- [QR page](https://github.com/vroa74/sco-ao/blob/main/resources/views/pages/qr.blade.php): `resources/views/pages/qr.blade.php`

### Administration workflows

- [Agenda management](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/AgendaController.php): `app/Http/Controllers/AgendaController.php`
- [Agenda records](https://github.com/vroa74/sco-ao/blob/main/app/Models/Agenda.php): `app/Models/Agenda.php`
- [QR code endpoint](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/QrCodeController.php): `app/Http/Controllers/QrCodeController.php`

### Identity and groups

- [User administration](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/Admin/UsuarioController.php): `app/Http/Controllers/Admin/UsuarioController.php`
- [User accounts](https://github.com/vroa74/sco-ao/blob/main/app/Models/User.php): `app/Models/User.php`
- [Group management](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/UserGroupController.php): `app/Http/Controllers/UserGroupController.php`
- [User groups](https://github.com/vroa74/sco-ao/blob/main/app/Models/UserGroup.php): `app/Models/UserGroup.php`
- [Group memberships](https://github.com/vroa74/sco-ao/blob/main/app/Models/GroupMember.php): `app/Models/GroupMember.php`
- [Authentication and profiles](https://github.com/vroa74/sco-ao/blob/main/app/Providers/FortifyServiceProvider.php): `app/Providers/FortifyServiceProvider.php`
- [Account creation](https://github.com/vroa74/sco-ao/blob/main/app/Actions/Fortify/CreateNewUser.php): `app/Actions/Fortify/CreateNewUser.php`

### Dashboard and catalogues

- [Dashboard data](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/DashboardController.php): `app/Http/Controllers/DashboardController.php`
- [Data feed](https://github.com/vroa74/sco-ao/blob/main/app/Http/Controllers/DataFeedController.php): `app/Http/Controllers/DataFeedController.php`
- [Dashboard data records](https://github.com/vroa74/sco-ao/blob/main/app/Models/DataFeed.php): `app/Models/DataFeed.php`
- [Dashboard cards](https://github.com/vroa74/sco-ao/blob/main/resources/js/components/dashboard-card-01.js): `resources/js/components/dashboard-card-01.js`
- [Catalogue views](https://github.com/vroa74/sco-ao/tree/main/app/Livewire/Catalogo): `app/Livewire/Catalogo`

### Other components

- **Web user**

## Connections

- Web user → Web routes: requests pages (evidence: `routes/web.php`)
- Web routes → Agenda management: routes to (evidence: `routes/web.php`)
- Web routes → User administration: routes to (evidence: `routes/web.php`)
- Web routes → Group management: routes to (evidence: `routes/web.php`)
- Web routes → Dashboard data: routes to (evidence: `routes/web.php`)
- Web routes → Data feed: routes to (evidence: `routes/web.php`)
- Web routes → QR code endpoint: routes to (evidence: `routes/web.php`)
- Web routes → HTTP request handling: uses middleware
- Agenda management → Agenda records: queries and updates (evidence: `app/Http/Controllers/AgendaController.php`)
- User administration → User accounts: queries and updates (evidence: `app/Http/Controllers/Admin/UsuarioController.php`)
- Group management → User groups: manages groups (evidence: `app/Http/Controllers/UserGroupController.php`)
- Group management → User accounts: queries users (evidence: `app/Http/Controllers/UserGroupController.php`)
- Group management → Group memberships: manages memberships (evidence: `app/Http/Controllers/UserGroupController.php`)
- User groups → Group memberships: relates memberships (evidence: `app/Models/UserGroup.php`)
- User accounts → User groups: defines group relations (evidence: `app/Models/User.php`)
- Authentication and profiles → Account creation: registers action (evidence: `app/Providers/FortifyServiceProvider.php`)
- Account creation → User accounts: creates account (evidence: `app/Actions/Fortify/CreateNewUser.php`)
- Agenda management → Agenda pages: renders (evidence: `app/Http/Controllers/AgendaController.php`)
- User administration → Admin user pages: renders (evidence: `app/Http/Controllers/Admin/UsuarioController.php`)
- Group management → Group pages: renders (evidence: `app/Http/Controllers/UserGroupController.php`)
- Dashboard data → Dashboard data records: loads dashboard data (evidence: `app/Http/Controllers/DashboardController.php`)
- Data feed → Dashboard data records: accesses feed (evidence: `app/Http/Controllers/DataFeedController.php`)
- Dashboard data → Dashboard cards: provides dashboard
- Web routes → Catalogue views: routes to
- Catalogue views → Catalogue page: renders
- Web routes → QR page: serves page
- Agenda management → Blade interfaces: renders views (evidence: `app/Http/Controllers/AgendaController.php`)
