# michael0803-coder/mis_project architecture

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

- Interactive diagram: https://gitdiagram.com/michael0803-coder/mis_project
- Repository: https://github.com/michael0803-coder/mis_project

## Overview

MIS Project is a student-enrollment and academic-records management system: applicants submit applications, staff review and activate them, and activation provisions student accounts and sends credentials. Administrators also manage courses and settings and view enrollment reports; students have service, account, and academic-record views. The PHP API is the documented live backend, backed by MySQL, while React provides the portal. Some frontend and reporting implementations were not sampled, so those subsystem links reflect README documentation rather than inspected call sites.

Main entry points: [`src/assets/components/Admin`](https://github.com/michael0803-coder/mis_project/tree/main/src/assets/components/Admin) (Admin Workspace), [`api/db.php`](https://github.com/michael0803-coder/mis_project/blob/main/api/db.php) (PDO Connection), [`api/student_accounts.php`](https://github.com/michael0803-coder/mis_project/blob/main/api/student_accounts.php) (Account Provisioning), [`api/approve_enrollment.php`](https://github.com/michael0803-coder/mis_project/blob/main/api/approve_enrollment.php) (Approve Application)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_portal["React Portal"]
  node_portal_entry["Portal Entry<br/>[main.jsx]"]
  node_student_services["Student Services"]
  node_student_portal["Student Portal<br/>[student.jsx]"]
  node_academic_records["Academic Records"]
  node_admin_ui["Admin Workspace"]
end

subgraph group_enrollment["Enrollment Lifecycle"]
  node_login_api["Authentication<br/>[login.php]"]
  node_application_api["Applications"]
  node_approval_api["Approve Application"]
  node_status_api["Enrollment Status"]
  node_official_api["Official Enrollments"]
  node_student_accounts["Account Provisioning"]
  node_students_api["Student Records<br/>[students.php]"]
end

subgraph group_admin["Administration"]
  node_courses_api["Courses &amp; Curricula<br/>[courses.php]"]
  node_settings_api["System Settings<br/>[settings.php]"]
  node_reports_ui["Reports &amp; Analytics<br/>[Reports.jsx]"]
  node_admin_guard["Admin Session Guard<br/>[admin_guard.php]"]
end

subgraph group_platform["Platform Services"]
  node_settings_helper["Settings Helper"]
  node_mailer["Mail Delivery<br/>[mailer.php]"]
  node_mail_config["Mail Configuration<br/>[mail_config.php]"]
  node_database[("MySQL Database")]
  node_db_connection["PDO Connection<br/>[db.php]"]
end

node_applicant(("Applicant"))
node_staff(("Admin / Staff"))
node_student(("Student"))

node_portal_entry -->|"renders"| node_student_services
node_applicant -.->|"uses services"| node_student_services
node_staff -.->|"manages"| node_admin_ui
node_student -.->|"uses portal"| node_student_portal
node_student -.->|"views records"| node_academic_records
node_student_services -.->|"submits application"| node_application_api
node_admin_ui -.->|"authenticates"| node_login_api
node_admin_ui -.->|"lists applications"| node_application_api
node_admin_ui -.->|"approves application"| node_approval_api
node_admin_ui -.->|"changes status"| node_status_api
node_admin_ui -.->|"views enrolled"| node_official_api
node_admin_ui -.->|"manages courses"| node_courses_api
node_admin_ui -.->|"saves settings"| node_settings_api
node_admin_ui -.->|"views reports"| node_reports_ui
node_approval_api -->|"provisions account"| node_student_accounts
node_status_api -->|"provisions account"| node_student_accounts
node_student_accounts -->|"sends credentials"| node_mailer
node_mailer -->|"loads configuration"| node_mail_config
node_admin_guard -->|"reads settings"| node_settings_helper
node_courses_api -->|"requires session"| node_admin_guard
node_settings_api -->|"requires session"| node_admin_guard
node_application_api -->|"queries database"| node_db_connection
node_approval_api -->|"writes enrollment"| node_db_connection
node_status_api -->|"updates records"| node_db_connection
node_student_accounts -->|"updates accounts"| node_db_connection
node_courses_api -->|"queries catalog"| node_db_connection
node_settings_api -->|"reads and writes"| node_db_connection
node_db_connection -->|"connects PDO"| node_database

click node_portal_entry "https://github.com/michael0803-coder/mis_project/blob/main/src/main.jsx"
click node_student_services "https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Student%20Services/StudentServices.jsx"
click node_student_portal "https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Student/student.jsx"
click node_academic_records "https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Academic%20Record/Academic%20Record.jsx"
click node_admin_ui "https://github.com/michael0803-coder/mis_project/tree/main/src/assets/components/Admin"
click node_login_api "https://github.com/michael0803-coder/mis_project/blob/main/api/login.php"
click node_application_api "https://github.com/michael0803-coder/mis_project/blob/main/api/student_enrollments.php"
click node_approval_api "https://github.com/michael0803-coder/mis_project/blob/main/api/approve_enrollment.php"
click node_status_api "https://github.com/michael0803-coder/mis_project/blob/main/api/update_enrollment_status.php"
click node_official_api "https://github.com/michael0803-coder/mis_project/blob/main/api/official_enrollments.php"
click node_student_accounts "https://github.com/michael0803-coder/mis_project/blob/main/api/student_accounts.php"
click node_students_api "https://github.com/michael0803-coder/mis_project/blob/main/api/students.php"
click node_courses_api "https://github.com/michael0803-coder/mis_project/blob/main/api/courses.php"
click node_settings_api "https://github.com/michael0803-coder/mis_project/blob/main/api/settings.php"
click node_reports_ui "https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Admin/Reports.jsx"
click node_admin_guard "https://github.com/michael0803-coder/mis_project/blob/main/api/admin_guard.php"
click node_settings_helper "https://github.com/michael0803-coder/mis_project/blob/main/api/settings_helper.php"
click node_mailer "https://github.com/michael0803-coder/mis_project/blob/main/api/mailer.php"
click node_mail_config "https://github.com/michael0803-coder/mis_project/blob/main/api/mail_config.php"
click node_db_connection "https://github.com/michael0803-coder/mis_project/blob/main/api/db.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_portal_entry,node_student_services,node_student_portal,node_academic_records,node_admin_ui toneBlue
class node_login_api,node_application_api,node_approval_api,node_status_api,node_official_api,node_student_accounts,node_students_api toneAmber
class node_courses_api,node_settings_api,node_reports_ui,node_admin_guard toneMint
class node_settings_helper,node_mailer,node_mail_config,node_database,node_db_connection toneRose
class node_applicant,node_staff,node_student toneIndigo
```

## Components

### React Portal

- [Portal Entry](https://github.com/michael0803-coder/mis_project/blob/main/src/main.jsx): `src/main.jsx`
- [Student Services](https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Student%20Services/StudentServices.jsx): `src/assets/components/Student Services/StudentServices.jsx`
- [Student Portal](https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Student/student.jsx): `src/assets/components/Student/student.jsx`
- [Academic Records](https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Academic%20Record/Academic%20Record.jsx): `src/assets/components/Academic Record/Academic Record.jsx`
- [Admin Workspace](https://github.com/michael0803-coder/mis_project/tree/main/src/assets/components/Admin): `src/assets/components/Admin`

### Enrollment Lifecycle

- [Authentication](https://github.com/michael0803-coder/mis_project/blob/main/api/login.php): `api/login.php`
- [Applications](https://github.com/michael0803-coder/mis_project/blob/main/api/student_enrollments.php): `api/student_enrollments.php`
- [Approve Application](https://github.com/michael0803-coder/mis_project/blob/main/api/approve_enrollment.php): `api/approve_enrollment.php`
- [Enrollment Status](https://github.com/michael0803-coder/mis_project/blob/main/api/update_enrollment_status.php): `api/update_enrollment_status.php`
- [Official Enrollments](https://github.com/michael0803-coder/mis_project/blob/main/api/official_enrollments.php): `api/official_enrollments.php`
- [Account Provisioning](https://github.com/michael0803-coder/mis_project/blob/main/api/student_accounts.php): `api/student_accounts.php`
- [Student Records](https://github.com/michael0803-coder/mis_project/blob/main/api/students.php): `api/students.php`

### Administration

- [Courses & Curricula](https://github.com/michael0803-coder/mis_project/blob/main/api/courses.php): `api/courses.php`
- [System Settings](https://github.com/michael0803-coder/mis_project/blob/main/api/settings.php): `api/settings.php`
- [Reports & Analytics](https://github.com/michael0803-coder/mis_project/blob/main/src/assets/components/Admin/Reports.jsx): `src/assets/components/Admin/Reports.jsx`
- [Admin Session Guard](https://github.com/michael0803-coder/mis_project/blob/main/api/admin_guard.php): `api/admin_guard.php`

### Platform Services

- [Settings Helper](https://github.com/michael0803-coder/mis_project/blob/main/api/settings_helper.php): `api/settings_helper.php`
- [Mail Delivery](https://github.com/michael0803-coder/mis_project/blob/main/api/mailer.php): `api/mailer.php`
- [Mail Configuration](https://github.com/michael0803-coder/mis_project/blob/main/api/mail_config.php): `api/mail_config.php`
- **MySQL Database**
- [PDO Connection](https://github.com/michael0803-coder/mis_project/blob/main/api/db.php): `api/db.php`

### Other components

- **Applicant**
- **Admin / Staff**
- **Student**

## Connections

- Portal Entry → Student Services: renders (evidence: `src/main.jsx`)
- Applicant → Student Services: uses services
- Admin / Staff → Admin Workspace: manages
- Student → Student Portal: uses portal
- Student → Academic Records: views records (evidence: `README.md`)
- Student Services → Applications: submits application (evidence: `README.md`)
- Admin Workspace → Authentication: authenticates (evidence: `README.md`)
- Admin Workspace → Applications: lists applications (evidence: `README.md`)
- Admin Workspace → Approve Application: approves application (evidence: `README.md`)
- Admin Workspace → Enrollment Status: changes status (evidence: `README.md`)
- Admin Workspace → Official Enrollments: views enrolled (evidence: `README.md`)
- Admin Workspace → Courses & Curricula: manages courses (evidence: `README.md`)
- Admin Workspace → System Settings: saves settings (evidence: `README.md`)
- Admin Workspace → Reports & Analytics: views reports (evidence: `README.md`)
- Approve Application → Account Provisioning: provisions account (evidence: `api/approve_enrollment.php`)
- Enrollment Status → Account Provisioning: provisions account (evidence: `api/update_enrollment_status.php`)
- Account Provisioning → Mail Delivery: sends credentials (evidence: `api/student_accounts.php`)
- Mail Delivery → Mail Configuration: loads configuration (evidence: `api/mailer.php`)
- Admin Session Guard → Settings Helper: reads settings (evidence: `api/admin_guard.php`)
- Courses & Curricula → Admin Session Guard: requires session (evidence: `api/courses.php`)
- System Settings → Admin Session Guard: requires session (evidence: `api/settings.php`)
- Applications → PDO Connection: queries database (evidence: `api/student_enrollments.php`)
- Approve Application → PDO Connection: writes enrollment (evidence: `api/approve_enrollment.php`)
- Enrollment Status → PDO Connection: updates records (evidence: `api/update_enrollment_status.php`)
- Account Provisioning → PDO Connection: updates accounts (evidence: `api/student_accounts.php`)
- Courses & Curricula → PDO Connection: queries catalog (evidence: `api/courses.php`)
- System Settings → PDO Connection: reads and writes (evidence: `api/settings.php`)
- PDO Connection → MySQL Database: connects PDO (evidence: `api/db.php`)
