# xname546/magangapp architecture

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

## Overview

This Laravel application appears to support a supervised program or internship lifecycle: participants explore divisions and request consultation, staff coordinate requests and verify registrations, and accepted participants work in rooms with schedules, attendance, discussions, tasks, and final reports. Administration also manages users, roles, content, and program setup; chat supports consultation and room collaboration. The tree and source index establish these capabilities, but many controllers and routes were not sampled, so some workflow links are shown only where documented or directly referenced in indexed source.

Main entry points: [`app/Models/Room.php`](https://github.com/xname546/magangapp/blob/main/app/Models/Room.php) (Program rooms), [`app/Models/ConsultationRequest.php`](https://github.com/xname546/magangapp/blob/main/app/Models/ConsultationRequest.php) (Consultation requests), [`app/Models/Division.php`](https://github.com/xname546/magangapp/blob/main/app/Models/Division.php) (Divisions and programs), [`app/Models/User.php`](https://github.com/xname546/magangapp/blob/main/app/Models/User.php) (Users and profiles)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Identity and access"]
  node_login["Authentication"]
  node_users[("Users and profiles<br/>[User.php]")]
  node_roles[("Roles and permissions<br/>[Role.php]")]
  node_profile[("Participant profiles")]
end

subgraph group_intake["Exploration and intake"]
  node_exploration["Program exploration"]
  node_divisions[("Divisions and programs<br/>[Division.php]")]
  node_roomsetup["Room setup"]
end

subgraph group_coordination["Consultation and coordination"]
  node_consultation[("Consultation requests")]
  node_consultationflow["Consultation handling"]
  node_supervision[("Supervision slots")]
  node_registration[("Room registration<br/>[Registration.php]")]
  node_verification["Registration verification"]
end

subgraph group_delivery["Room program delivery"]
  node_rooms[("Program rooms<br/>[Room.php]")]
  node_membership[("Room membership<br/>[RoomMember.php]")]
  node_activities[("Room activities<br/>[Section.php]")]
  node_schedules[("Room schedules<br/>[RoomSchedule.php]")]
  node_attendance[("Attendance<br/>[AttendanceForm.php]")]
  node_finalreport[("Final reports<br/>[FinalReport.php]")]
  node_memberwork["Member room dashboard"]
  node_adminwork["Admin room dashboard"]
end

subgraph group_platform["Shared platform"]
  node_chat[("Chat rooms<br/>[ChatRoom.php]")]
  node_chatui["Chat interface"]
  node_content["Articles and FAQs"]
  node_tagservice["Tag input service"]
end

node_participant(("Participant"))
node_staff(("Staff and admin"))

node_participant -.->|"signs in"| node_login
node_staff -.->|"signs in"| node_login
node_participant -.->|"explores programs"| node_exploration
node_participant -.->|"requests consultation"| node_consultationflow
node_staff -.->|"reviews applications"| node_verification
node_login -.->|"authenticates"| node_users
node_users -->|"checks permissions"| node_roles
node_users -->|"has profile"| node_profile
node_exploration -.->|"lists divisions"| node_divisions
node_roomsetup -->|"loads divisions"| node_divisions
node_roomsetup -->|"configures rooms"| node_rooms
node_consultationflow -->|"creates requests"| node_consultation
node_consultationflow -->|"creates chat room"| node_chat
node_consultation -->|"belongs to division"| node_divisions
node_consultation -->|"selects supervision slot"| node_supervision
node_registration -->|"references request"| node_consultation
node_registration -->|"registers for room"| node_rooms
node_verification -->|"reviews registration"| node_registration
node_verification -->|"loads room"| node_rooms
node_rooms -->|"has members"| node_membership
node_rooms -->|"has sections"| node_activities
node_rooms -->|"has schedules"| node_schedules
node_rooms -->|"has attendance forms"| node_attendance
node_rooms -->|"has final report"| node_finalreport
node_memberwork -->|"loads room tasks"| node_rooms
node_adminwork -->|"manages reports"| node_finalreport
node_consultation -->|"has consultation chat"| node_chat
node_chatui -.->|"uses chat rooms"| node_chat
node_divisions -->|"resolves tag input"| node_tagservice
node_content -.->|"publishes information"| node_participant

click node_login "https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Auth"
click node_users "https://github.com/xname546/magangapp/blob/main/app/Models/User.php"
click node_roles "https://github.com/xname546/magangapp/blob/main/app/Models/Role.php"
click node_profile "https://github.com/xname546/magangapp/blob/main/app/Models/ParticipantProfile.php"
click node_exploration "https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Members/Exploration"
click node_divisions "https://github.com/xname546/magangapp/blob/main/app/Models/Division.php"
click node_roomsetup "https://github.com/xname546/magangapp/blob/main/app/Http/Controllers/Admin/RoomManagement/RoomSettingController.php"
click node_consultation "https://github.com/xname546/magangapp/blob/main/app/Models/ConsultationRequest.php"
click node_consultationflow "https://github.com/xname546/magangapp/blob/main/app/Http/Controllers/Members/Consultation/ConsultationIntakeController.php"
click node_supervision "https://github.com/xname546/magangapp/blob/main/app/Models/StaffSupervisionSlot.php"
click node_registration "https://github.com/xname546/magangapp/blob/main/app/Models/Registration.php"
click node_verification "https://github.com/xname546/magangapp/blob/main/app/Http/Controllers/Admin/Registration/RoomRegistrationVerificationController.php"
click node_rooms "https://github.com/xname546/magangapp/blob/main/app/Models/Room.php"
click node_membership "https://github.com/xname546/magangapp/blob/main/app/Models/RoomMember.php"
click node_activities "https://github.com/xname546/magangapp/blob/main/app/Models/Section.php"
click node_schedules "https://github.com/xname546/magangapp/blob/main/app/Models/RoomSchedule.php"
click node_attendance "https://github.com/xname546/magangapp/blob/main/app/Models/AttendanceForm.php"
click node_finalreport "https://github.com/xname546/magangapp/blob/main/app/Models/FinalReport.php"
click node_memberwork "https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Members/RoomDashboard"
click node_adminwork "https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Admin/RoomDashboard"
click node_chat "https://github.com/xname546/magangapp/blob/main/app/Models/ChatRoom.php"
click node_chatui "https://github.com/xname546/magangapp/tree/main/app/Livewire/Chat"
click node_content "https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Admin/Content"
click node_tagservice "https://github.com/xname546/magangapp/blob/main/app/Services/TagInputService.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_login,node_users,node_roles,node_profile toneBlue
class node_exploration,node_divisions,node_roomsetup toneAmber
class node_consultation,node_consultationflow,node_supervision,node_registration,node_verification toneMint
class node_rooms,node_membership,node_activities,node_schedules,node_attendance,node_finalreport,node_memberwork,node_adminwork toneRose
class node_chat,node_chatui,node_content,node_tagservice,node_participant,node_staff toneIndigo
```

## Components

### Identity and access

- [Authentication](https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Auth): `app/Http/Controllers/Auth`
- [Users and profiles](https://github.com/xname546/magangapp/blob/main/app/Models/User.php): `app/Models/User.php`
- [Roles and permissions](https://github.com/xname546/magangapp/blob/main/app/Models/Role.php): `app/Models/Role.php`
- [Participant profiles](https://github.com/xname546/magangapp/blob/main/app/Models/ParticipantProfile.php): `app/Models/ParticipantProfile.php`

### Exploration and intake

- [Program exploration](https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Members/Exploration): `app/Http/Controllers/Members/Exploration`
- [Divisions and programs](https://github.com/xname546/magangapp/blob/main/app/Models/Division.php): `app/Models/Division.php`
- [Room setup](https://github.com/xname546/magangapp/blob/main/app/Http/Controllers/Admin/RoomManagement/RoomSettingController.php): `app/Http/Controllers/Admin/RoomManagement/RoomSettingController.php`

### Consultation and coordination

- [Consultation requests](https://github.com/xname546/magangapp/blob/main/app/Models/ConsultationRequest.php): `app/Models/ConsultationRequest.php`
- [Consultation handling](https://github.com/xname546/magangapp/blob/main/app/Http/Controllers/Members/Consultation/ConsultationIntakeController.php): `app/Http/Controllers/Members/Consultation/ConsultationIntakeController.php`
- [Supervision slots](https://github.com/xname546/magangapp/blob/main/app/Models/StaffSupervisionSlot.php): `app/Models/StaffSupervisionSlot.php`
- [Room registration](https://github.com/xname546/magangapp/blob/main/app/Models/Registration.php): `app/Models/Registration.php`
- [Registration verification](https://github.com/xname546/magangapp/blob/main/app/Http/Controllers/Admin/Registration/RoomRegistrationVerificationController.php): `app/Http/Controllers/Admin/Registration/RoomRegistrationVerificationController.php`

### Room program delivery

- [Program rooms](https://github.com/xname546/magangapp/blob/main/app/Models/Room.php): `app/Models/Room.php`
- [Room membership](https://github.com/xname546/magangapp/blob/main/app/Models/RoomMember.php): `app/Models/RoomMember.php`
- [Room activities](https://github.com/xname546/magangapp/blob/main/app/Models/Section.php): `app/Models/Section.php`
- [Room schedules](https://github.com/xname546/magangapp/blob/main/app/Models/RoomSchedule.php): `app/Models/RoomSchedule.php`
- [Attendance](https://github.com/xname546/magangapp/blob/main/app/Models/AttendanceForm.php): `app/Models/AttendanceForm.php`
- [Final reports](https://github.com/xname546/magangapp/blob/main/app/Models/FinalReport.php): `app/Models/FinalReport.php`
- [Member room dashboard](https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Members/RoomDashboard): `app/Http/Controllers/Members/RoomDashboard`
- [Admin room dashboard](https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Admin/RoomDashboard): `app/Http/Controllers/Admin/RoomDashboard`

### Shared platform

- [Chat rooms](https://github.com/xname546/magangapp/blob/main/app/Models/ChatRoom.php): `app/Models/ChatRoom.php`
- [Chat interface](https://github.com/xname546/magangapp/tree/main/app/Livewire/Chat): `app/Livewire/Chat`
- [Articles and FAQs](https://github.com/xname546/magangapp/tree/main/app/Http/Controllers/Admin/Content): `app/Http/Controllers/Admin/Content`
- [Tag input service](https://github.com/xname546/magangapp/blob/main/app/Services/TagInputService.php): `app/Services/TagInputService.php`

### Other components

- **Participant**
- **Staff and admin**

## Connections

- Participant → Authentication: signs in
- Staff and admin → Authentication: signs in
- Participant → Program exploration: explores programs
- Participant → Consultation handling: requests consultation
- Staff and admin → Registration verification: reviews applications
- Authentication → Users and profiles: authenticates
- Users and profiles → Roles and permissions: checks permissions (evidence: `app/Models/User.php`)
- Users and profiles → Participant profiles: has profile (evidence: `app/Models/User.php`)
- Program exploration → Divisions and programs: lists divisions
- Room setup → Divisions and programs: loads divisions (evidence: `app/Http/Controllers/Admin/RoomManagement/RoomSettingController.php`)
- Room setup → Program rooms: configures rooms (evidence: `app/Http/Controllers/Admin/RoomManagement/RoomSettingController.php`)
- Consultation handling → Consultation requests: creates requests (evidence: `app/Http/Controllers/Members/Consultation/ConsultationIntakeController.php`)
- Consultation handling → Chat rooms: creates chat room (evidence: `app/Http/Controllers/Members/Consultation/ConsultationIntakeController.php`)
- Consultation requests → Divisions and programs: belongs to division (evidence: `app/Models/ConsultationRequest.php`)
- Consultation requests → Supervision slots: selects supervision slot (evidence: `app/Models/ConsultationRequest.php`)
- Room registration → Consultation requests: references request (evidence: `app/Models/Registration.php`)
- Room registration → Program rooms: registers for room (evidence: `app/Models/Registration.php`)
- Registration verification → Room registration: reviews registration (evidence: `app/Http/Controllers/Admin/Registration/RoomRegistrationVerificationController.php`)
- Registration verification → Program rooms: loads room (evidence: `app/Http/Controllers/Admin/Registration/RoomRegistrationVerificationController.php`)
- Program rooms → Room membership: has members (evidence: `app/Models/Room.php`)
- Program rooms → Room activities: has sections (evidence: `app/Models/Room.php`)
- Program rooms → Room schedules: has schedules (evidence: `app/Models/Room.php`)
- Program rooms → Attendance: has attendance forms (evidence: `app/Models/Room.php`)
- Program rooms → Final reports: has final report (evidence: `app/Models/Room.php`)
- Member room dashboard → Program rooms: loads room tasks (evidence: `app/Http/Controllers/Members/RoomDashboard/MemberTaskController.php`)
- Admin room dashboard → Final reports: manages reports (evidence: `app/Http/Controllers/Admin/RoomDashboard/FinalReportController.php`)
- Consultation requests → Chat rooms: has consultation chat (evidence: `app/Models/ConsultationRequest.php`)
- Chat interface → Chat rooms: uses chat rooms
- Divisions and programs → Tag input service: resolves tag input (evidence: `app/Models/Division.php`)
- Articles and FAQs → Participant: publishes information
