# dhonaa-wii/academic-research-presentation-queueing-and-rating-system architecture

> Architecture diagram of the GitHub repository dhonaa-wii/academic-research-presentation-queueing-and-rating-system, 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/dhonaa-wii/academic-research-presentation-queueing-and-rating-system
- Repository: https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system

## Overview

This Laravel application coordinates academic research presentations: students register groups into room-and-time slots, panelists manage the live queue and evaluate presentations, and administrators configure sessions and monitor/report activity. Edges cite route declarations or controller/model excerpts that establish the relationship. The README provides no capability detail, and several controllers and routes are unsampled, so those areas are represented only where the tree and index support them; uncertain wiring is omitted.

Main entry points: [`routes/web.php`](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/routes/web.php) (Web routes), [`app/Models/PresentationSetup.php`](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/PresentationSetup.php) (Session configuration), [`app/Models/ResearchGroup.php`](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/ResearchGroup.php) (Research groups), [`app/Models/Room.php`](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Room.php) (Presentation rooms)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_entry["Web entry"]
  node_laravel["Laravel request<br/>[index.php]"]
  node_routes["Web routes<br/>[web.php]"]
end

subgraph group_setup["Session administration"]
  node_adminsetup["Session setup"]
  node_categories[("Presentation categories<br/>[Category.php]")]
  node_setupdata[("Session configuration")]
  node_adminhome["Admin dashboard"]
  node_monitoring["Queue monitoring"]
  node_reports["Reports"]
  node_days[("Presentation days")]
end

subgraph group_queue["Registration and queue"]
  node_student["Student portal"]
  node_groups[("Research groups<br/>[ResearchGroup.php]")]
  node_members[("Group members<br/>[GroupMember.php]")]
  node_rooms[("Presentation rooms<br/>[Room.php]")]
end

subgraph group_panel["Panelist operations"]
  node_panelistlogin["Panelist access<br/>[AuthController.php]"]
  node_panelistdash["Panelist dashboard"]
  node_roomactions["Room controls"]
  node_panelists[("Panelists<br/>[Panelist.php]")]
end

subgraph group_identity["Identity and evaluation"]
  node_authroutes["Auth routes<br/>[auth.php]"]
  node_evaluation["Evaluation entry"]
  node_evaluations[("Evaluations<br/>[Evaluation.php]")]
  node_scores[("Evaluation scores")]
  node_users[("User accounts<br/>[User.php]")]
  node_registration["Account registration"]
  node_login["Login validation<br/>[LoginRequest.php]"]
end

node_visitor(("Web user"))

node_visitor -->|"sends request"| node_laravel
node_laravel -->|"loads routes"| node_routes
node_routes -.->|"routes requests"| node_student
node_routes -.->|"routes requests"| node_adminsetup
node_routes -.->|"routes requests"| node_monitoring
node_routes -.->|"routes requests"| node_reports
node_routes -.->|"routes requests"| node_panelistlogin
node_routes -.->|"routes requests"| node_panelistdash
node_routes -.->|"routes requests"| node_roomactions
node_authroutes -->|"routes requests"| node_registration
node_authroutes -->|"routes requests"| node_login
node_adminsetup -->|"creates and reads"| node_categories
node_adminsetup -->|"manages sessions"| node_setupdata
node_adminsetup -->|"synchronizes days"| node_days
node_adminsetup -->|"creates rooms"| node_rooms
node_adminsetup -->|"assigns panelists"| node_panelists
node_adminhome -->|"reads"| node_categories
node_adminhome -->|"reads"| node_setupdata
node_adminhome -->|"reads"| node_groups
node_adminhome -->|"reads"| node_rooms
node_monitoring -->|"reads"| node_setupdata
node_monitoring -->|"reads"| node_groups
node_monitoring -->|"reads"| node_rooms
node_student -->|"loads sessions"| node_setupdata
node_student -->|"registers and schedules"| node_groups
node_student -->|"creates members"| node_members
node_student -->|"reads room slots"| node_rooms
node_student -.->|"reads presentation days"| node_days
node_roomactions -->|"loads assigned panelist"| node_panelists
node_roomactions -->|"updates queue status"| node_groups
node_roomactions -->|"updates room status"| node_rooms
node_evaluation -->|"records evaluation"| node_evaluations
node_evaluation -->|"records scores"| node_scores
node_evaluation -->|"loads research group"| node_groups
node_evaluation -->|"loads panelist"| node_panelists
node_groups -->|"has members"| node_members
node_groups -->|"has evaluations"| node_evaluations
node_setupdata -->|"belongs to"| node_categories
node_setupdata -->|"has rooms"| node_rooms
node_setupdata -->|"has groups"| node_groups
node_setupdata -->|"has days"| node_days
node_rooms -->|"assigned panelists"| node_panelists
node_registration -->|"creates account"| node_users
node_login -.->|"authenticates"| node_users

click node_laravel "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/public/index.php"
click node_routes "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/routes/web.php"
click node_authroutes "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/routes/auth.php"
click node_adminsetup "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/PresentationSetupController.php"
click node_categories "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Category.php"
click node_setupdata "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/PresentationSetup.php"
click node_adminhome "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/DashboardController.php"
click node_monitoring "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/MonitoringController.php"
click node_reports "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/ReportController.php"
click node_student "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Student/StudentPortalController.php"
click node_groups "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/ResearchGroup.php"
click node_members "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/GroupMember.php"
click node_rooms "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Room.php"
click node_days "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/PresentationDay.php"
click node_panelistlogin "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/AuthController.php"
click node_panelistdash "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/DashboardController.php"
click node_roomactions "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/RoomActionController.php"
click node_panelists "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Panelist.php"
click node_evaluation "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/EvaluationController.php"
click node_evaluations "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Evaluation.php"
click node_scores "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/EvaluationScore.php"
click node_users "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/User.php"
click node_registration "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php"
click node_login "https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Requests/Auth/LoginRequest.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_laravel,node_routes,node_visitor toneBlue
class node_adminsetup,node_categories,node_setupdata,node_adminhome,node_monitoring,node_reports,node_days toneAmber
class node_student,node_groups,node_members,node_rooms toneMint
class node_panelistlogin,node_panelistdash,node_roomactions,node_panelists toneRose
class node_authroutes,node_evaluation,node_evaluations,node_scores,node_users,node_registration,node_login toneIndigo
```

## Components

### Web entry

- [Laravel request](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/public/index.php): `public/index.php`
- [Web routes](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/routes/web.php): `routes/web.php`

### Session administration

- [Session setup](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/PresentationSetupController.php): `app/Http/Controllers/Admin/PresentationSetupController.php`
- [Presentation categories](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Category.php): `app/Models/Category.php`
- [Session configuration](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/PresentationSetup.php): `app/Models/PresentationSetup.php`
- [Admin dashboard](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/DashboardController.php): `app/Http/Controllers/Admin/DashboardController.php`
- [Queue monitoring](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/MonitoringController.php): `app/Http/Controllers/Admin/MonitoringController.php`
- [Reports](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Admin/ReportController.php): `app/Http/Controllers/Admin/ReportController.php`
- [Presentation days](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/PresentationDay.php): `app/Models/PresentationDay.php`

### Registration and queue

- [Student portal](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Student/StudentPortalController.php): `app/Http/Controllers/Student/StudentPortalController.php`
- [Research groups](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/ResearchGroup.php): `app/Models/ResearchGroup.php`
- [Group members](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/GroupMember.php): `app/Models/GroupMember.php`
- [Presentation rooms](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Room.php): `app/Models/Room.php`

### Panelist operations

- [Panelist access](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/AuthController.php): `app/Http/Controllers/Panelist/AuthController.php`
- [Panelist dashboard](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/DashboardController.php): `app/Http/Controllers/Panelist/DashboardController.php`
- [Room controls](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/RoomActionController.php): `app/Http/Controllers/Panelist/RoomActionController.php`
- [Panelists](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Panelist.php): `app/Models/Panelist.php`

### Identity and evaluation

- [Auth routes](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/routes/auth.php): `routes/auth.php`
- [Evaluation entry](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Panelist/EvaluationController.php): `app/Http/Controllers/Panelist/EvaluationController.php`
- [Evaluations](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/Evaluation.php): `app/Models/Evaluation.php`
- [Evaluation scores](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/EvaluationScore.php): `app/Models/EvaluationScore.php`
- [User accounts](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Models/User.php): `app/Models/User.php`
- [Account registration](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Controllers/Auth/RegisteredUserController.php): `app/Http/Controllers/Auth/RegisteredUserController.php`
- [Login validation](https://github.com/dhonaa-wii/academic-research-presentation-queueing-and-rating-system/blob/main/app/Http/Requests/Auth/LoginRequest.php): `app/Http/Requests/Auth/LoginRequest.php`

### Other components

- **Web user**

## Connections

- Web user → Laravel request: sends request (evidence: `public/index.php`)
- Laravel request → Web routes: loads routes
- Web routes → Student portal: routes requests
- Web routes → Session setup: routes requests
- Web routes → Queue monitoring: routes requests
- Web routes → Reports: routes requests
- Web routes → Panelist access: routes requests
- Web routes → Panelist dashboard: routes requests
- Web routes → Room controls: routes requests
- Auth routes → Account registration: routes requests (evidence: `routes/auth.php`)
- Auth routes → Login validation: routes requests (evidence: `routes/auth.php`)
- Session setup → Presentation categories: creates and reads (evidence: `app/Http/Controllers/Admin/PresentationSetupController.php`)
- Session setup → Session configuration: manages sessions (evidence: `app/Http/Controllers/Admin/PresentationSetupController.php`)
- Session setup → Presentation days: synchronizes days (evidence: `app/Http/Controllers/Admin/PresentationSetupController.php`)
- Session setup → Presentation rooms: creates rooms (evidence: `app/Http/Controllers/Admin/PresentationSetupController.php`)
- Session setup → Panelists: assigns panelists (evidence: `app/Http/Controllers/Admin/PresentationSetupController.php`)
- Admin dashboard → Presentation categories: reads (evidence: `app/Http/Controllers/Admin/DashboardController.php`)
- Admin dashboard → Session configuration: reads (evidence: `app/Http/Controllers/Admin/DashboardController.php`)
- Admin dashboard → Research groups: reads (evidence: `app/Http/Controllers/Admin/DashboardController.php`)
- Admin dashboard → Presentation rooms: reads (evidence: `app/Http/Controllers/Admin/DashboardController.php`)
- Queue monitoring → Session configuration: reads (evidence: `app/Http/Controllers/Admin/MonitoringController.php`)
- Queue monitoring → Research groups: reads (evidence: `app/Http/Controllers/Admin/MonitoringController.php`)
- Queue monitoring → Presentation rooms: reads (evidence: `app/Http/Controllers/Admin/MonitoringController.php`)
- Student portal → Session configuration: loads sessions (evidence: `app/Http/Controllers/Student/StudentPortalController.php`)
- Student portal → Research groups: registers and schedules (evidence: `app/Http/Controllers/Student/StudentPortalController.php`)
- Student portal → Group members: creates members (evidence: `app/Http/Controllers/Student/StudentPortalController.php`)
- Student portal → Presentation rooms: reads room slots (evidence: `app/Http/Controllers/Student/StudentPortalController.php`)
- Student portal → Presentation days: reads presentation days
- Room controls → Panelists: loads assigned panelist (evidence: `app/Http/Controllers/Panelist/RoomActionController.php`)
- Room controls → Research groups: updates queue status (evidence: `app/Http/Controllers/Panelist/RoomActionController.php`)
- Room controls → Presentation rooms: updates room status (evidence: `app/Http/Controllers/Panelist/RoomActionController.php`)
- Evaluation entry → Evaluations: records evaluation (evidence: `app/Http/Controllers/Panelist/EvaluationController.php`)
- Evaluation entry → Evaluation scores: records scores (evidence: `app/Http/Controllers/Panelist/EvaluationController.php`)
- Evaluation entry → Research groups: loads research group (evidence: `app/Http/Controllers/Panelist/EvaluationController.php`)
- Evaluation entry → Panelists: loads panelist (evidence: `app/Http/Controllers/Panelist/EvaluationController.php`)
- Research groups → Group members: has members (evidence: `app/Models/ResearchGroup.php`)
- Research groups → Evaluations: has evaluations (evidence: `app/Models/ResearchGroup.php`)
- Session configuration → Presentation categories: belongs to (evidence: `app/Models/PresentationSetup.php`)
- Session configuration → Presentation rooms: has rooms (evidence: `app/Models/PresentationSetup.php`)
- Session configuration → Research groups: has groups (evidence: `app/Models/PresentationSetup.php`)
- Session configuration → Presentation days: has days (evidence: `app/Models/PresentationSetup.php`)
- Presentation rooms → Panelists: assigned panelists (evidence: `app/Models/Room.php`)
- Account registration → User accounts: creates account (evidence: `app/Http/Controllers/Auth/RegisteredUserController.php`)
- Login validation → User accounts: authenticates
