# jorgiomer/student-conduct-management-system-scms- architecture

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

- Interactive diagram: https://gitdiagram.com/jorgiomer/student-conduct-management-system-scms-
- Repository: https://github.com/jorgiomer/student-conduct-management-system-scms-

## Overview

SCMS is a desktop student-conduct management application for recording and reviewing student slips. The apparent staff workflow is sign-in, record conduct or dispensation, then track cases and review reports. The tree also identifies student management, activity logging, dashboards, monthly analysis, settings, and PDF export as product areas. Source excerpts confirm application startup, account setup, slip-page behavior, and database access patterns; most page-to-backend wiring was not sampled, so those relationships are shown only where the module roles support the connection.

Main entry points: [`SCMS/ui/main_window.py`](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/main_window.py) (Main window), [`SCMS/backend/db_connection.py`](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_connection.py) (Database connections), [`SCMS/ui/login_window.py`](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/login_window.py) (Sign-in), [`SCMS/backend/db_students.py`](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_students.py) (Student records)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_app["Application"]
  node_main["App startup<br/>[main.py]"]
  node_login["Sign-in<br/>[login_window.py]"]
  node_window["Main window<br/>[main_window.py]"]
  node_settings["Settings<br/>[settings.py]"]
end

subgraph group_conduct["Conduct Records"]
  node_students["Student records<br/>[db_students.py]"]
  node_green["Green slips<br/>[green_slip.py]"]
  node_blue["Blue slips<br/>[blue_slip.py]"]
  node_pink["Pink slips<br/>[pink_slip.py]"]
end

subgraph group_review["Review and Reporting"]
  node_dashboard["Dashboard<br/>[dashboard.py]"]
  node_trackers["Record trackers<br/>[trackers.py]"]
  node_analysis["Monthly analysis"]
  node_reports["Reports<br/>[reports.py]"]
  node_pdf["PDF generation<br/>[pdf_export.py]"]
  node_preview["PDF preview"]
  node_activity["Activity logs<br/>[activity_logs.py]"]
end

subgraph group_data["Persistence"]
  node_studentstore[("Student database<br/>[SCMSDatabase.accdb]")]
  node_accounts["Staff accounts<br/>[db_accounts.py]"]
  node_greendb["Green slip records<br/>[db_green_slip.py]"]
  node_bluedb["Blue slip records<br/>[db_blue_slip.py]"]
  node_pinkdb["Pink slip records<br/>[db_pink_slip.py]"]
  node_logdb["Activity log storage<br/>[db_activity_log.py]"]
  node_connection["Database connections<br/>[db_connection.py]"]
  node_access[("Access database<br/>[SCMSDatabase.accdb]")]
end

node_staff(("Staff user"))

node_staff -->|"signs in"| node_login
node_main -->|"opens"| node_login
node_login -->|"ensures accounts"| node_accounts
node_login -->|"successful sign-in"| node_window
node_window -->|"shows"| node_dashboard
node_window -->|"opens"| node_green
node_window -->|"opens"| node_blue
node_window -->|"opens"| node_pink
node_window -->|"opens"| node_trackers
node_window -->|"opens"| node_analysis
node_window -->|"opens"| node_reports
node_window -->|"opens"| node_activity
node_window -->|"opens"| node_settings
node_green -->|"manages records"| node_greendb
node_blue -->|"manages records"| node_bluedb
node_pink -->|"manages records"| node_pinkdb
node_reports -->|"generates documents"| node_pdf
node_pdf -->|"previews PDF"| node_preview
node_activity -->|"reads logs"| node_logdb
node_accounts -->|"uses"| node_connection
node_greendb -->|"uses"| node_connection
node_bluedb -->|"uses"| node_connection
node_pinkdb -->|"uses"| node_connection
node_students -->|"uses"| node_connection
node_logdb -->|"uses"| node_connection
node_connection -->|"connects"| node_access
node_students -->|"reads and writes"| node_studentstore

click node_main "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/main.py"
click node_login "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/login_window.py"
click node_window "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/main_window.py"
click node_dashboard "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/dashboard.py"
click node_students "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_students.py"
click node_studentstore "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/database/SCMSDatabase.accdb"
click node_accounts "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_accounts.py"
click node_green "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/green_slip.py"
click node_greendb "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_green_slip.py"
click node_blue "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/blue_slip.py"
click node_bluedb "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_blue_slip.py"
click node_pink "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/pink_slip.py"
click node_pinkdb "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_pink_slip.py"
click node_trackers "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/trackers.py"
click node_analysis "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/monthly_analysis.py"
click node_reports "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/reports.py"
click node_pdf "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/pdf_export.py"
click node_preview "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pdf_preview_dialog.py"
click node_activity "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/activity_logs.py"
click node_logdb "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_activity_log.py"
click node_settings "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/settings.py"
click node_connection "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_connection.py"
click node_access "https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/database/SCMSDatabase.accdb"

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_main,node_login,node_window,node_settings,node_staff toneBlue
class node_students,node_green,node_blue,node_pink toneAmber
class node_dashboard,node_trackers,node_analysis,node_reports,node_pdf,node_preview,node_activity toneMint
class node_studentstore,node_accounts,node_greendb,node_bluedb,node_pinkdb,node_logdb,node_connection,node_access toneRose
```

## Components

### Application

- [App startup](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/main.py): `SCMS/main.py`
- [Sign-in](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/login_window.py): `SCMS/ui/login_window.py`
- [Main window](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/main_window.py): `SCMS/ui/main_window.py`
- [Settings](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/settings.py): `SCMS/ui/pages/settings.py`

### Conduct Records

- [Student records](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_students.py): `SCMS/backend/db_students.py`
- [Green slips](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/green_slip.py): `SCMS/ui/pages/green_slip.py`
- [Blue slips](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/blue_slip.py): `SCMS/ui/pages/blue_slip.py`
- [Pink slips](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/pink_slip.py): `SCMS/ui/pages/pink_slip.py`

### Review and Reporting

- [Dashboard](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/dashboard.py): `SCMS/ui/pages/dashboard.py`
- [Record trackers](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/trackers.py): `SCMS/ui/pages/trackers.py`
- [Monthly analysis](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/monthly_analysis.py): `SCMS/ui/pages/monthly_analysis.py`
- [Reports](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/reports.py): `SCMS/ui/pages/reports.py`
- [PDF generation](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/pdf_export.py): `SCMS/backend/pdf_export.py`
- [PDF preview](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pdf_preview_dialog.py): `SCMS/ui/pdf_preview_dialog.py`
- [Activity logs](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/ui/pages/activity_logs.py): `SCMS/ui/pages/activity_logs.py`

### Persistence

- [Student database](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/database/SCMSDatabase.accdb): `SCMS/backend/database/SCMSDatabase.accdb`
- [Staff accounts](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_accounts.py): `SCMS/backend/db_accounts.py`
- [Green slip records](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_green_slip.py): `SCMS/backend/db_green_slip.py`
- [Blue slip records](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_blue_slip.py): `SCMS/backend/db_blue_slip.py`
- [Pink slip records](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_pink_slip.py): `SCMS/backend/db_pink_slip.py`
- [Activity log storage](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_activity_log.py): `SCMS/backend/db_activity_log.py`
- [Database connections](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/db_connection.py): `SCMS/backend/db_connection.py`
- [Access database](https://github.com/jorgiomer/student-conduct-management-system-scms-/blob/main/SCMS/backend/database/SCMSDatabase.accdb): `SCMS/backend/database/SCMSDatabase.accdb`

### Other components

- **Staff user**

## Connections

- Staff user → Sign-in: signs in
- App startup → Sign-in: opens
- Sign-in → Staff accounts: ensures accounts
- Sign-in → Main window: successful sign-in
- Main window → Dashboard: shows
- Main window → Green slips: opens
- Main window → Blue slips: opens
- Main window → Pink slips: opens
- Main window → Record trackers: opens
- Main window → Monthly analysis: opens
- Main window → Reports: opens
- Main window → Activity logs: opens
- Main window → Settings: opens
- Green slips → Green slip records: manages records
- Blue slips → Blue slip records: manages records
- Pink slips → Pink slip records: manages records
- Reports → PDF generation: generates documents
- PDF generation → PDF preview: previews PDF
- Activity logs → Activity log storage: reads logs
- Staff accounts → Database connections: uses
- Green slip records → Database connections: uses
- Blue slip records → Database connections: uses
- Pink slip records → Database connections: uses
- Student records → Database connections: uses
- Activity log storage → Database connections: uses
- Database connections → Access database: connects
- Student records → Student database: reads and writes
