# thirdytress/samss-main architecture

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

## Overview

SAMS appears to be a web-based student assistant management system: students apply, receive schedules, record attendance, and access dashboards, while administrators and supervisors manage placements and review attendance and reports. The tree also shows registration, announcements, evaluations, and NFC clocking. Source excerpts confirm shared bootstrap/authentication, database access, email use, and some live-update endpoints. Many listed product areas are unsampled, and the README is unreadable, so their internal connections are not asserted.

Main entry points: [`config/bootstrap.php`](https://github.com/thirdytress/samss-main/blob/main/config/bootstrap.php) (App bootstrap), [`config/database.php`](https://github.com/thirdytress/samss-main/blob/main/config/database.php) (SQL database), [`students/dashboard.php`](https://github.com/thirdytress/samss-main/blob/main/students/dashboard.php) (Student dashboard), [`admin/application.php`](https://github.com/thirdytress/samss-main/blob/main/admin/application.php) (Application review)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access and setup"]
  node_bootstrap["App bootstrap<br/>[bootstrap.php]"]
  node_auth["Authentication<br/>[auth.php]"]
  node_database[("SQL database<br/>[database.php]")]
  node_attendance_config["Attendance config<br/>[attendance.php]"]
  node_meetings_config["Meetings config<br/>[admin_meetings.php]"]
  node_registration["Registration<br/>[register2.php]"]
  node_registration_finish["Registration completion<br/>[register3.php]"]
end

subgraph group_placement["Applications and scheduling"]
  node_applications["Application review<br/>[application.php]"]
  node_scheduling["Duty scheduling<br/>[scheduling.php]"]
  node_mail["Email notifications<br/>[mail.php]"]
end

subgraph group_student["Student services"]
  node_student_dashboard["Student dashboard<br/>[dashboard.php]"]
  node_student_profile["Student profile<br/>[profile.php]"]
  node_student_schedule["Student schedule<br/>[schedule.php]"]
  node_availability["Availability<br/>[availability.php]"]
end

subgraph group_oversight["Administration and oversight"]
  node_admin_dashboard["Admin dashboard<br/>[dashboard.php]"]
  node_admin_reports["Reports<br/>[reports.php]"]
  node_supervisor_dashboard["Supervisor dashboard<br/>[dashboard.php]"]
  node_evaluation["Evaluations<br/>[evaluation.php]"]
end

subgraph group_attendance["Attendance and updates"]
  node_clock["Attendance clock<br/>[clock.php]"]
  node_attendance_stream["Attendance live stream"]
  node_attendance_history["Attendance history"]
  node_announcements_stream["Announcement stream<br/>[stream.php]"]
end

node_user(("SAMS user"))

node_bootstrap -->|"loads"| node_database
node_bootstrap -->|"loads"| node_auth
node_bootstrap -->|"loads"| node_attendance_config
node_bootstrap -->|"loads"| node_meetings_config
node_registration -->|"loads"| node_bootstrap
node_registration_finish -->|"loads"| node_bootstrap
node_applications -->|"loads"| node_bootstrap
node_applications -->|"loads"| node_mail
node_scheduling -->|"loads"| node_bootstrap
node_scheduling -->|"loads"| node_mail
node_student_dashboard -->|"loads"| node_bootstrap
node_student_dashboard -->|"opens stream"| node_announcements_stream
node_student_dashboard -->|"queries"| node_database
node_student_profile -->|"loads"| node_bootstrap
node_student_schedule -->|"loads"| node_bootstrap
node_supervisor_dashboard -->|"loads"| node_bootstrap
node_supervisor_dashboard -->|"queries"| node_database
node_evaluation -->|"loads"| node_bootstrap
node_clock -->|"loads"| node_bootstrap
node_clock -->|"reads and writes"| node_database
node_attendance_stream -->|"loads"| node_bootstrap
node_attendance_stream -->|"queries"| node_database
node_attendance_history -->|"loads"| node_bootstrap

click node_bootstrap "https://github.com/thirdytress/samss-main/blob/main/config/bootstrap.php"
click node_auth "https://github.com/thirdytress/samss-main/blob/main/config/auth.php"
click node_database "https://github.com/thirdytress/samss-main/blob/main/config/database.php"
click node_attendance_config "https://github.com/thirdytress/samss-main/blob/main/config/attendance.php"
click node_meetings_config "https://github.com/thirdytress/samss-main/blob/main/config/admin_meetings.php"
click node_registration "https://github.com/thirdytress/samss-main/blob/main/register2.php"
click node_registration_finish "https://github.com/thirdytress/samss-main/blob/main/register3.php"
click node_applications "https://github.com/thirdytress/samss-main/blob/main/admin/application.php"
click node_scheduling "https://github.com/thirdytress/samss-main/blob/main/admin/scheduling.php"
click node_mail "https://github.com/thirdytress/samss-main/blob/main/config/mail.php"
click node_student_dashboard "https://github.com/thirdytress/samss-main/blob/main/students/dashboard.php"
click node_student_profile "https://github.com/thirdytress/samss-main/blob/main/students/profile.php"
click node_student_schedule "https://github.com/thirdytress/samss-main/blob/main/students/schedule.php"
click node_availability "https://github.com/thirdytress/samss-main/blob/main/students/availability.php"
click node_admin_dashboard "https://github.com/thirdytress/samss-main/blob/main/admin/dashboard.php"
click node_admin_reports "https://github.com/thirdytress/samss-main/blob/main/admin/reports.php"
click node_supervisor_dashboard "https://github.com/thirdytress/samss-main/blob/main/supervisor/dashboard.php"
click node_evaluation "https://github.com/thirdytress/samss-main/blob/main/supervisor/evaluation.php"
click node_clock "https://github.com/thirdytress/samss-main/blob/main/attendance/clock.php"
click node_attendance_stream "https://github.com/thirdytress/samss-main/blob/main/api/attendance_stream.php"
click node_attendance_history "https://github.com/thirdytress/samss-main/blob/main/students/attendance_history.php"
click node_announcements_stream "https://github.com/thirdytress/samss-main/blob/main/api/announcements/stream.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_bootstrap,node_auth,node_database,node_attendance_config,node_meetings_config,node_registration,node_registration_finish,node_user toneBlue
class node_applications,node_scheduling,node_mail toneAmber
class node_student_dashboard,node_student_profile,node_student_schedule,node_availability toneMint
class node_admin_dashboard,node_admin_reports,node_supervisor_dashboard,node_evaluation toneRose
class node_clock,node_attendance_stream,node_attendance_history,node_announcements_stream toneIndigo
```

## Components

### Access and setup

- [App bootstrap](https://github.com/thirdytress/samss-main/blob/main/config/bootstrap.php): `config/bootstrap.php`
- [Authentication](https://github.com/thirdytress/samss-main/blob/main/config/auth.php): `config/auth.php`
- [SQL database](https://github.com/thirdytress/samss-main/blob/main/config/database.php): `config/database.php`
- [Attendance config](https://github.com/thirdytress/samss-main/blob/main/config/attendance.php): `config/attendance.php`
- [Meetings config](https://github.com/thirdytress/samss-main/blob/main/config/admin_meetings.php): `config/admin_meetings.php`
- [Registration](https://github.com/thirdytress/samss-main/blob/main/register2.php): `register2.php`
- [Registration completion](https://github.com/thirdytress/samss-main/blob/main/register3.php): `register3.php`

### Applications and scheduling

- [Application review](https://github.com/thirdytress/samss-main/blob/main/admin/application.php): `admin/application.php`
- [Duty scheduling](https://github.com/thirdytress/samss-main/blob/main/admin/scheduling.php): `admin/scheduling.php`
- [Email notifications](https://github.com/thirdytress/samss-main/blob/main/config/mail.php): `config/mail.php`

### Student services

- [Student dashboard](https://github.com/thirdytress/samss-main/blob/main/students/dashboard.php): `students/dashboard.php`
- [Student profile](https://github.com/thirdytress/samss-main/blob/main/students/profile.php): `students/profile.php`
- [Student schedule](https://github.com/thirdytress/samss-main/blob/main/students/schedule.php): `students/schedule.php`
- [Availability](https://github.com/thirdytress/samss-main/blob/main/students/availability.php): `students/availability.php`

### Administration and oversight

- [Admin dashboard](https://github.com/thirdytress/samss-main/blob/main/admin/dashboard.php): `admin/dashboard.php`
- [Reports](https://github.com/thirdytress/samss-main/blob/main/admin/reports.php): `admin/reports.php`
- [Supervisor dashboard](https://github.com/thirdytress/samss-main/blob/main/supervisor/dashboard.php): `supervisor/dashboard.php`
- [Evaluations](https://github.com/thirdytress/samss-main/blob/main/supervisor/evaluation.php): `supervisor/evaluation.php`

### Attendance and updates

- [Attendance clock](https://github.com/thirdytress/samss-main/blob/main/attendance/clock.php): `attendance/clock.php`
- [Attendance live stream](https://github.com/thirdytress/samss-main/blob/main/api/attendance_stream.php): `api/attendance_stream.php`
- [Attendance history](https://github.com/thirdytress/samss-main/blob/main/students/attendance_history.php): `students/attendance_history.php`
- [Announcement stream](https://github.com/thirdytress/samss-main/blob/main/api/announcements/stream.php): `api/announcements/stream.php`

### Other components

- **SAMS user**

## Connections

- App bootstrap → SQL database: loads (evidence: `config/bootstrap.php`)
- App bootstrap → Authentication: loads (evidence: `config/bootstrap.php`)
- App bootstrap → Attendance config: loads (evidence: `config/bootstrap.php`)
- App bootstrap → Meetings config: loads (evidence: `config/bootstrap.php`)
- Registration → App bootstrap: loads (evidence: `register2.php`)
- Registration completion → App bootstrap: loads (evidence: `register3.php`)
- Application review → App bootstrap: loads (evidence: `admin/application.php`)
- Application review → Email notifications: loads (evidence: `admin/application.php`)
- Duty scheduling → App bootstrap: loads (evidence: `admin/scheduling.php`)
- Duty scheduling → Email notifications: loads (evidence: `admin/scheduling.php`)
- Student dashboard → App bootstrap: loads (evidence: `students/dashboard.php`)
- Student dashboard → Announcement stream: opens stream (evidence: `students/dashboard.php`)
- Student dashboard → SQL database: queries (evidence: `students/dashboard.php`)
- Student profile → App bootstrap: loads (evidence: `students/profile.php`)
- Student schedule → App bootstrap: loads (evidence: `students/schedule.php`)
- Supervisor dashboard → App bootstrap: loads (evidence: `supervisor/dashboard.php`)
- Supervisor dashboard → SQL database: queries (evidence: `supervisor/dashboard.php`)
- Evaluations → App bootstrap: loads (evidence: `supervisor/evaluation.php`)
- Attendance clock → App bootstrap: loads (evidence: `attendance/clock.php`)
- Attendance clock → SQL database: reads and writes (evidence: `attendance/clock.php`)
- Attendance live stream → App bootstrap: loads (evidence: `api/attendance_stream.php`)
- Attendance live stream → SQL database: queries (evidence: `api/attendance_stream.php`)
- Attendance history → App bootstrap: loads (evidence: `students/attendance_history.php`)
