# p1tp3t3/pilarpodhedms architecture

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

- Interactive diagram: https://gitdiagram.com/p1tp3t3/pilarpodhedms
- Repository: https://github.com/p1tp3t3/pilarpodhedms

## Overview

PilarPODHEDMS is a role-based higher-education discipline management system. Students and authorized staff submit and process incidents, violations, absences, appointments, and gate passes; staff then monitor cases, preserve records, and produce reports. Separate decision-support capabilities analyze complaint text and predict repeat-violation risk. The tree and README establish these product areas, while sampled controllers confirm selected account, complaint, appointment, reporting, administration, and prediction interactions; unsampled subsystem wiring is not inferred.

Main entry points: [`app/Models`](https://github.com/p1tp3t3/pilarpodhedms/tree/main/app/Models) (Discipline records), [`app/Http/Controllers/Modules/Complaint/ComplaintController.php`](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Complaint/ComplaintController.php) (Complaints), [`app/Http/Controllers/Modules/Violation/ViolationController.php`](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Violation/ViolationController.php) (Violation records), [`python-api/main.py`](https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/main.py) (Python analysis API)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Users and access"]
  node_accounts["Accounts and profiles"]
  node_identity["Authentication"]
end

subgraph group_cases["Cases and violations"]
  node_complaints["Complaints"]
  node_referrals["Referrals"]
  node_absences["Absent forms"]
  node_violations["Violation records"]
end

subgraph group_transactions["Requests and records"]
  node_appointments["Appointments"]
  node_gatepasses["Gate passes"]
  node_archive["Record archive"]
  node_records[("Discipline records")]
end

subgraph group_insight["Analysis and reporting"]
  node_textanalysis["Complaint text analysis"]
  node_prediction["Violation risk prediction"]
  node_pythonapi["Python analysis API<br/>[main.py]"]
  node_reports["Reports and statistics"]
  node_reportjob["Report generation"]
end

subgraph group_platform["Notifications and administration"]
  node_notifications["Notifications"]
  node_messages["Chat and messaging<br/>[ChatController.php]"]
  node_maintenance["System administration"]
end

node_users(("Students and staff"))
node_database[("Application database")]

node_users -->|"sign in"| node_identity
node_users -->|"manage accounts"| node_accounts
node_users -->|"submit cases"| node_complaints
node_users -->|"submit referrals"| node_referrals
node_users -->|"request absence"| node_absences
node_users -->|"schedule meetings"| node_appointments
node_users -->|"request passes"| node_gatepasses
node_users -->|"review history"| node_violations
node_complaints -.->|"analyze context"| node_textanalysis
node_violations -.->|"prepare risk inputs"| node_prediction
node_textanalysis -->|"served by"| node_pythonapi
node_prediction -->|"served by"| node_pythonapi
node_maintenance -.->|"updates violation data"| node_pythonapi
node_reports -->|"dispatches"| node_reportjob
node_complaints -->|"records cases"| node_records
node_referrals -->|"records referrals"| node_records
node_absences -->|"records absences"| node_records
node_violations -->|"records violations"| node_records
node_appointments -->|"records appointments"| node_records
node_gatepasses -->|"records passes"| node_records
node_archive -->|"archives records"| node_records
node_reports -->|"queries records"| node_records
node_accounts -->|"persists accounts"| node_database
node_notifications -->|"stores notifications"| node_database
node_messages -->|"stores messages"| node_database
node_maintenance -->|"manages configuration"| node_database

click node_accounts "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Account/AccountController.php"
click node_identity "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php"
click node_complaints "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Complaint/ComplaintController.php"
click node_referrals "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Referral/ReferralController.php"
click node_absences "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/AbsentForm/AbsentFormController.php"
click node_violations "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Violation/ViolationController.php"
click node_appointments "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Appointment/AppointmentController.php"
click node_gatepasses "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/GatePass/GatePassController.php"
click node_archive "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Report/ArchiveController.php"
click node_records "https://github.com/p1tp3t3/pilarpodhedms/tree/main/app/Models"
click node_textanalysis "https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/model_training/complaint_context_analyzer.py"
click node_prediction "https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/model_training/early_intervention_violation_predictor.py"
click node_pythonapi "https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/main.py"
click node_reports "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Report/ReportController.php"
click node_reportjob "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Jobs/GenerateReportJob.php"
click node_notifications "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/NotificationController.php"
click node_messages "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Chat/ChatController.php"
click node_maintenance "https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/System/MaintenanceController.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_accounts,node_identity toneBlue
class node_complaints,node_referrals,node_absences,node_violations,node_database toneAmber
class node_appointments,node_gatepasses,node_archive,node_records toneMint
class node_textanalysis,node_prediction,node_pythonapi,node_reports,node_reportjob toneRose
class node_notifications,node_messages,node_maintenance,node_users toneIndigo
```

## Components

### Users and access

- [Accounts and profiles](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Account/AccountController.php): `app/Http/Controllers/Modules/Account/AccountController.php`
- [Authentication](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Auth/AuthenticatedSessionController.php): `app/Http/Controllers/Auth/AuthenticatedSessionController.php`

### Cases and violations

- [Complaints](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Complaint/ComplaintController.php): `app/Http/Controllers/Modules/Complaint/ComplaintController.php`
- [Referrals](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Referral/ReferralController.php): `app/Http/Controllers/Modules/Referral/ReferralController.php`
- [Absent forms](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/AbsentForm/AbsentFormController.php): `app/Http/Controllers/Modules/AbsentForm/AbsentFormController.php`
- [Violation records](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Violation/ViolationController.php): `app/Http/Controllers/Modules/Violation/ViolationController.php`

### Requests and records

- [Appointments](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Appointment/AppointmentController.php): `app/Http/Controllers/Modules/Appointment/AppointmentController.php`
- [Gate passes](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/GatePass/GatePassController.php): `app/Http/Controllers/Modules/GatePass/GatePassController.php`
- [Record archive](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Report/ArchiveController.php): `app/Http/Controllers/Modules/Report/ArchiveController.php`
- [Discipline records](https://github.com/p1tp3t3/pilarpodhedms/tree/main/app/Models): `app/Models`

### Analysis and reporting

- [Complaint text analysis](https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/model_training/complaint_context_analyzer.py): `python-api/model_training/complaint_context_analyzer.py`
- [Violation risk prediction](https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/model_training/early_intervention_violation_predictor.py): `python-api/model_training/early_intervention_violation_predictor.py`
- [Python analysis API](https://github.com/p1tp3t3/pilarpodhedms/blob/main/python-api/main.py): `python-api/main.py`
- [Reports and statistics](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Report/ReportController.php): `app/Http/Controllers/Modules/Report/ReportController.php`
- [Report generation](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Jobs/GenerateReportJob.php): `app/Jobs/GenerateReportJob.php`

### Notifications and administration

- [Notifications](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/NotificationController.php): `app/Http/Controllers/NotificationController.php`
- [Chat and messaging](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/Chat/ChatController.php): `app/Http/Controllers/Modules/Chat/ChatController.php`
- [System administration](https://github.com/p1tp3t3/pilarpodhedms/blob/main/app/Http/Controllers/Modules/System/MaintenanceController.php): `app/Http/Controllers/Modules/System/MaintenanceController.php`

### Other components

- **Students and staff**
- **Application database**

## Connections

- Students and staff → Authentication: sign in
- Students and staff → Accounts and profiles: manage accounts
- Students and staff → Complaints: submit cases
- Students and staff → Referrals: submit referrals
- Students and staff → Absent forms: request absence
- Students and staff → Appointments: schedule meetings
- Students and staff → Gate passes: request passes
- Students and staff → Violation records: review history
- Complaints → Complaint text analysis: analyze context
- Violation records → Violation risk prediction: prepare risk inputs
- Complaint text analysis → Python analysis API: served by
- Violation risk prediction → Python analysis API: served by
- System administration → Python analysis API: updates violation data
- Reports and statistics → Report generation: dispatches
- Complaints → Discipline records: records cases
- Referrals → Discipline records: records referrals
- Absent forms → Discipline records: records absences
- Violation records → Discipline records: records violations
- Appointments → Discipline records: records appointments
- Gate passes → Discipline records: records passes
- Record archive → Discipline records: archives records
- Reports and statistics → Discipline records: queries records
- Accounts and profiles → Application database: persists accounts
- Notifications → Application database: stores notifications
- Chat and messaging → Application database: stores messages
- System administration → Application database: manages configuration
