# mafnan12/-academic-management-system architecture

> Architecture diagram of the GitHub repository mafnan12/-academic-management-system, 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/mafnan12/-academic-management-system
- Repository: https://github.com/mafnan12/-academic-management-system

## Overview

FAST University is a role-based academic management web application. Users sign in and are routed to role-specific dashboards or administration pages; those pages manage academic records and present results from MySQL. The README documents broader attendance, fees, grading, notifications, and reporting capabilities than the sampled source shows, so those are represented at the documented subsystem level. Wiring beyond the excerpts is not inferred.

Main entry points: [`includes/db.php`](https://github.com/mafnan12/-academic-management-system/blob/main/includes/db.php) (PDO connection), [`auth/login.php`](https://github.com/mafnan12/-academic-management-system/blob/main/auth/login.php) (Role login), [`index.php`](https://github.com/mafnan12/-academic-management-system/blob/main/index.php) (Admin dashboard), [`includes/config.php`](https://github.com/mafnan12/-academic-management-system/blob/main/includes/config.php) (Session access)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_access["Access &amp; Dashboards"]
  node_login["Role login<br/>[login.php]"]
  node_access_rules["Session access<br/>[config.php]"]
  node_admin_home["Admin dashboard<br/>[index.php]"]
  node_role_dashboards["Role dashboards"]
end

subgraph group_academics["Academic Administration"]
  node_students["Student records<br/>[students.php]"]
  node_instructors["Instructor records<br/>[instructors.php]"]
  node_courses["Course catalog<br/>[courses.php]"]
  node_classes["Class sections<br/>[classes.php]"]
  node_enrollments["Student enrollment<br/>[enrollments.php]"]
  node_exams_results["Exams &amp; results<br/>[exams.php]"]
  node_reports["Analytics reports<br/>[reports.php]"]
end

subgraph group_student_services["Student Services"]
  node_attendance["Attendance tracking"]
  node_fees["Fees &amp; payments"]
  node_notifications["Role notifications"]
end

subgraph group_platform["Persistence"]
  node_db_connection["PDO connection<br/>[db.php]"]
  node_academic_store[("Academic database")]
end

node_user(("University users"))

node_user -->|"submits credentials"| node_login
node_login -->|"checks session"| node_access_rules
node_login -->|"queries users"| node_db_connection
node_login -->|"routes admin"| node_admin_home
node_login -->|"routes other roles"| node_role_dashboards
node_admin_home -->|"checks login"| node_access_rules
node_admin_home -->|"queries summaries"| node_db_connection
node_admin_home -->|"links reports"| node_reports
node_role_dashboards -->|"checks role"| node_access_rules
node_role_dashboards -->|"loads portal data"| node_db_connection
node_students -->|"checks login"| node_access_rules
node_students -->|"manages records"| node_db_connection
node_instructors -->|"manages records"| node_db_connection
node_courses -->|"manages catalog"| node_db_connection
node_classes -->|"manages sections"| node_db_connection
node_enrollments -->|"writes enrollment"| node_db_connection
node_exams_results -->|"manages exams"| node_db_connection
node_reports -->|"queries analytics"| node_db_connection
node_attendance -.->|"stores attendance"| node_academic_store
node_fees -.->|"stores payments"| node_academic_store
node_notifications -.->|"stores messages"| node_academic_store
node_db_connection -->|"connects PDO"| node_academic_store

click node_login "https://github.com/mafnan12/-academic-management-system/blob/main/auth/login.php"
click node_access_rules "https://github.com/mafnan12/-academic-management-system/blob/main/includes/config.php"
click node_admin_home "https://github.com/mafnan12/-academic-management-system/blob/main/index.php"
click node_role_dashboards "https://github.com/mafnan12/-academic-management-system/tree/main/pages"
click node_students "https://github.com/mafnan12/-academic-management-system/blob/main/pages/students.php"
click node_instructors "https://github.com/mafnan12/-academic-management-system/blob/main/pages/instructors.php"
click node_courses "https://github.com/mafnan12/-academic-management-system/blob/main/pages/courses.php"
click node_classes "https://github.com/mafnan12/-academic-management-system/blob/main/pages/classes.php"
click node_enrollments "https://github.com/mafnan12/-academic-management-system/blob/main/pages/enrollments.php"
click node_exams_results "https://github.com/mafnan12/-academic-management-system/blob/main/pages/exams.php"
click node_reports "https://github.com/mafnan12/-academic-management-system/blob/main/pages/reports.php"
click node_attendance "https://github.com/mafnan12/-academic-management-system/tree/main/pages"
click node_fees "https://github.com/mafnan12/-academic-management-system/tree/main/pages"
click node_notifications "https://github.com/mafnan12/-academic-management-system/blob/main/database_schema.sql"
click node_db_connection "https://github.com/mafnan12/-academic-management-system/blob/main/includes/db.php"
click node_academic_store "https://github.com/mafnan12/-academic-management-system/blob/main/database_schema.sql"

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_login,node_access_rules,node_admin_home,node_role_dashboards,node_user toneBlue
class node_students,node_instructors,node_courses,node_classes,node_enrollments,node_exams_results,node_reports toneAmber
class node_attendance,node_fees,node_notifications toneMint
class node_db_connection,node_academic_store toneRose
```

## Components

### Access & Dashboards

- [Role login](https://github.com/mafnan12/-academic-management-system/blob/main/auth/login.php): `auth/login.php`
- [Session access](https://github.com/mafnan12/-academic-management-system/blob/main/includes/config.php): `includes/config.php`
- [Admin dashboard](https://github.com/mafnan12/-academic-management-system/blob/main/index.php): `index.php`
- [Role dashboards](https://github.com/mafnan12/-academic-management-system/tree/main/pages): `pages`

### Academic Administration

- [Student records](https://github.com/mafnan12/-academic-management-system/blob/main/pages/students.php): `pages/students.php`
- [Instructor records](https://github.com/mafnan12/-academic-management-system/blob/main/pages/instructors.php): `pages/instructors.php`
- [Course catalog](https://github.com/mafnan12/-academic-management-system/blob/main/pages/courses.php): `pages/courses.php`
- [Class sections](https://github.com/mafnan12/-academic-management-system/blob/main/pages/classes.php): `pages/classes.php`
- [Student enrollment](https://github.com/mafnan12/-academic-management-system/blob/main/pages/enrollments.php): `pages/enrollments.php`
- [Exams & results](https://github.com/mafnan12/-academic-management-system/blob/main/pages/exams.php): `pages/exams.php`
- [Analytics reports](https://github.com/mafnan12/-academic-management-system/blob/main/pages/reports.php): `pages/reports.php`

### Student Services

- [Attendance tracking](https://github.com/mafnan12/-academic-management-system/tree/main/pages): `pages`
- [Fees & payments](https://github.com/mafnan12/-academic-management-system/tree/main/pages): `pages`
- [Role notifications](https://github.com/mafnan12/-academic-management-system/blob/main/database_schema.sql): `database_schema.sql`

### Persistence

- [PDO connection](https://github.com/mafnan12/-academic-management-system/blob/main/includes/db.php): `includes/db.php`
- [Academic database](https://github.com/mafnan12/-academic-management-system/blob/main/database_schema.sql): `database_schema.sql`

### Other components

- **University users**

## Connections

- University users → Role login: submits credentials
- Role login → Session access: checks session
- Role login → PDO connection: queries users
- Role login → Admin dashboard: routes admin
- Role login → Role dashboards: routes other roles
- Admin dashboard → Session access: checks login
- Admin dashboard → PDO connection: queries summaries
- Admin dashboard → Analytics reports: links reports
- Role dashboards → Session access: checks role
- Role dashboards → PDO connection: loads portal data
- Student records → Session access: checks login
- Student records → PDO connection: manages records
- Instructor records → PDO connection: manages records
- Course catalog → PDO connection: manages catalog
- Class sections → PDO connection: manages sections
- Student enrollment → PDO connection: writes enrollment
- Exams & results → PDO connection: manages exams
- Analytics reports → PDO connection: queries analytics
- Attendance tracking → Academic database: stores attendance
- Fees & payments → Academic database: stores payments
- Role notifications → Academic database: stores messages
- PDO connection → Academic database: connects PDO
