# jhayzamora200027-hash/stbip architecture

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

- Interactive diagram: https://gitdiagram.com/jhayzamora200027-hash/stbip
- Repository: https://github.com/jhayzamora200027-hash/stbip

## Overview

STBIP is a Laravel web portal for managing social technology records and related regional master data, documents, reports, and user access. Users enter through the web application and routed controllers; those controllers perform domain work and return dashboard or administrative views. The graph preserves the major workflows visible in the routes and source index. Several controller implementations and views were not sampled, so their internal calls are not inferred; edges between routed components are supported by the route declarations.

Main entry points: [`routes/web.php`](https://github.com/jhayzamora200027-hash/stbip/blob/main/routes/web.php) (Web routes), [`app/Http/Controllers/MasterDataController.php`](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/MasterDataController.php) (Master data), [`app/Http/Controllers/MainReportController.php`](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/MainReportController.php) (Main reports), [`app/Services/RegionSheetImportService.php`](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Services/RegionSheetImportService.php) (Sheet import)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web entry"]
  node_front["HTTP entry<br/>[index.php]"]
  node_bootstrap["App bootstrap<br/>[app.php]"]
  node_routes["Web routes<br/>[web.php]"]
end

subgraph group_records["Technology records"]
  node_social["Social technologies"]
  node_titles[("Technology titles")]
  node_gallery["Gallery records"]
  node_gallerychildren["Gallery documents"]
  node_attachments["ST attachments"]
  node_attachmentdata[("Attachment records<br/>[StsAttachment.php]")]
end

subgraph group_regional["Regional data"]
  node_master["Master data"]
  node_regions[("Regions<br/>[Region.php]")]
  node_regionitems[("Regional items<br/>[RegionItem.php]")]
  node_sheetimport["Sheet import"]
end

subgraph group_insights["Reports and files"]
  node_reports["Main reports"]
  node_reportdownload["Report exports"]
  node_excel["Excel operations"]
end

subgraph group_access["Access and administration"]
  node_users["Account management<br/>[UserController.php]"]
  node_userrecords[("User accounts<br/>[User.php]")]
  node_approvals["User approvals"]
  node_logs["Activity logs<br/>[LogsController.php]"]
  node_replication["Replication settings"]
  node_settings[("App settings<br/>[AppSetting.php]")]
end

node_visitor(("Portal user"))

node_visitor -->|"sends requests"| node_front
node_front -->|"boots app"| node_bootstrap
node_bootstrap -->|"loads routes"| node_routes
node_routes -->|"routes requests"| node_social
node_routes -->|"routes requests"| node_gallery
node_routes -->|"routes requests"| node_gallerychildren
node_routes -->|"routes requests"| node_attachments
node_routes -->|"routes requests"| node_master
node_routes -->|"routes requests"| node_reports
node_routes -->|"routes requests"| node_reportdownload
node_routes -->|"routes requests"| node_excel
node_routes -->|"routes requests"| node_users
node_routes -->|"routes requests"| node_approvals
node_routes -->|"routes requests"| node_logs
node_routes -->|"routes requests"| node_replication
node_social -->|"manages titles"| node_titles
node_gallerychildren -->|"uses gallery cards"| node_gallery
node_attachments -.->|"manages records"| node_attachmentdata
node_master -->|"reads regions"| node_regions
node_master -->|"reads and updates"| node_regionitems
node_master -->|"invokes import"| node_sheetimport
node_sheetimport -->|"updates items"| node_regionitems
node_sheetimport -->|"resolves regions"| node_regions
node_reports -->|"reads attachments"| node_attachmentdata
node_reports -->|"reads regional data"| node_regionitems
node_reports -->|"reads user names"| node_userrecords
node_users -->|"manages accounts"| node_userrecords
node_approvals -.->|"reviews accounts"| node_userrecords
node_replication -->|"reads settings"| node_settings

click node_front "https://github.com/jhayzamora200027-hash/stbip/blob/main/public/index.php"
click node_bootstrap "https://github.com/jhayzamora200027-hash/stbip/blob/main/bootstrap/app.php"
click node_routes "https://github.com/jhayzamora200027-hash/stbip/blob/main/routes/web.php"
click node_social "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/SocialTechnologyController.php"
click node_titles "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/SocialTechnologyTitle.php"
click node_gallery "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/GalleryCardController.php"
click node_gallerychildren "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/GalleryChildController.php"
click node_attachments "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/StsAttachmentController.php"
click node_attachmentdata "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/StsAttachment.php"
click node_master "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/MasterDataController.php"
click node_regions "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/Region.php"
click node_regionitems "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/RegionItem.php"
click node_sheetimport "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Services/RegionSheetImportService.php"
click node_reports "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/MainReportController.php"
click node_reportdownload "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/STsReportController.php"
click node_excel "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/ExcelController.php"
click node_users "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/UserController.php"
click node_userrecords "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/User.php"
click node_approvals "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/UserApprovalController.php"
click node_logs "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/Admin/LogsController.php"
click node_replication "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/ReplicationSettingsController.php"
click node_settings "https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/AppSetting.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_routes,node_visitor toneBlue
class node_social,node_titles,node_gallery,node_gallerychildren,node_attachments,node_attachmentdata toneAmber
class node_master,node_regions,node_regionitems,node_sheetimport toneMint
class node_reports,node_reportdownload,node_excel toneRose
class node_users,node_userrecords,node_approvals,node_logs,node_replication,node_settings toneIndigo
```

## Components

### Web entry

- [HTTP entry](https://github.com/jhayzamora200027-hash/stbip/blob/main/public/index.php): `public/index.php`
- [App bootstrap](https://github.com/jhayzamora200027-hash/stbip/blob/main/bootstrap/app.php): `bootstrap/app.php`
- [Web routes](https://github.com/jhayzamora200027-hash/stbip/blob/main/routes/web.php): `routes/web.php`

### Technology records

- [Social technologies](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/SocialTechnologyController.php): `app/Http/Controllers/SocialTechnologyController.php`
- [Technology titles](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/SocialTechnologyTitle.php): `app/Models/SocialTechnologyTitle.php`
- [Gallery records](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/GalleryCardController.php): `app/Http/Controllers/GalleryCardController.php`
- [Gallery documents](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/GalleryChildController.php): `app/Http/Controllers/GalleryChildController.php`
- [ST attachments](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/StsAttachmentController.php): `app/Http/Controllers/StsAttachmentController.php`
- [Attachment records](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/StsAttachment.php): `app/Models/StsAttachment.php`

### Regional data

- [Master data](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/MasterDataController.php): `app/Http/Controllers/MasterDataController.php`
- [Regions](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/Region.php): `app/Models/Region.php`
- [Regional items](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/RegionItem.php): `app/Models/RegionItem.php`
- [Sheet import](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Services/RegionSheetImportService.php): `app/Services/RegionSheetImportService.php`

### Reports and files

- [Main reports](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/MainReportController.php): `app/Http/Controllers/MainReportController.php`
- [Report exports](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/STsReportController.php): `app/Http/Controllers/STsReportController.php`
- [Excel operations](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/ExcelController.php): `app/Http/Controllers/ExcelController.php`

### Access and administration

- [Account management](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/UserController.php): `app/Http/Controllers/UserController.php`
- [User accounts](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/User.php): `app/Models/User.php`
- [User approvals](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/UserApprovalController.php): `app/Http/Controllers/UserApprovalController.php`
- [Activity logs](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/Admin/LogsController.php): `app/Http/Controllers/Admin/LogsController.php`
- [Replication settings](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Http/Controllers/ReplicationSettingsController.php): `app/Http/Controllers/ReplicationSettingsController.php`
- [App settings](https://github.com/jhayzamora200027-hash/stbip/blob/main/app/Models/AppSetting.php): `app/Models/AppSetting.php`

### Other components

- **Portal user**

## Connections

- Portal user → HTTP entry: sends requests
- HTTP entry → App bootstrap: boots app (evidence: `public/index.php`)
- App bootstrap → Web routes: loads routes (evidence: `bootstrap/app.php`)
- Web routes → Social technologies: routes requests (evidence: `routes/web.php`)
- Web routes → Gallery records: routes requests (evidence: `routes/web.php`)
- Web routes → Gallery documents: routes requests (evidence: `routes/web.php`)
- Web routes → ST attachments: routes requests (evidence: `routes/web.php`)
- Web routes → Master data: routes requests (evidence: `routes/web.php`)
- Web routes → Main reports: routes requests (evidence: `routes/web.php`)
- Web routes → Report exports: routes requests (evidence: `routes/web.php`)
- Web routes → Excel operations: routes requests (evidence: `routes/web.php`)
- Web routes → Account management: routes requests (evidence: `routes/web.php`)
- Web routes → User approvals: routes requests (evidence: `routes/web.php`)
- Web routes → Activity logs: routes requests (evidence: `routes/web.php`)
- Web routes → Replication settings: routes requests (evidence: `routes/web.php`)
- Social technologies → Technology titles: manages titles (evidence: `app/Http/Controllers/SocialTechnologyController.php`)
- Gallery documents → Gallery records: uses gallery cards (evidence: `app/Http/Controllers/GalleryChildController.php`)
- ST attachments → Attachment records: manages records
- Master data → Regions: reads regions (evidence: `app/Http/Controllers/MasterDataController.php`)
- Master data → Regional items: reads and updates (evidence: `app/Http/Controllers/MasterDataController.php`)
- Master data → Sheet import: invokes import (evidence: `app/Http/Controllers/MasterDataController.php`)
- Sheet import → Regional items: updates items (evidence: `app/Services/RegionSheetImportService.php`)
- Sheet import → Regions: resolves regions (evidence: `app/Services/RegionSheetImportService.php`)
- Main reports → Attachment records: reads attachments (evidence: `app/Http/Controllers/MainReportController.php`)
- Main reports → Regional items: reads regional data (evidence: `app/Http/Controllers/MainReportController.php`)
- Main reports → User accounts: reads user names (evidence: `app/Http/Controllers/MainReportController.php`)
- Account management → User accounts: manages accounts (evidence: `app/Http/Controllers/UserController.php`)
- User approvals → User accounts: reviews accounts
- Replication settings → App settings: reads settings (evidence: `app/Http/Controllers/ReplicationSettingsController.php`)
