# abidhasan7-it/msu_campus_event_management architecture

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

- Interactive diagram: https://gitdiagram.com/abidhasan7-it/msu_campus_event_management
- Repository: https://github.com/abidhasan7-it/msu_campus_event_management

## Overview

1. **Overall shape**
   - This is a classic server-rendered PHP monolith for an event management system.
   - There is no separate frontend/backend split; most user actions map directly to individual `.php` pages that render HTML, process forms, and talk to the database.

2. **Primary technology stack**
   - Backend: PHP.
   - Persistence: MySQL/MariaDB, with schema/data setup in `uevent.sql`.
   - UI: Bootstrap CSS plus a custom stylesheet in `css/style.css`.
   - Shared assets include `images/` and an `uploads/` subfolder, suggesting event or user image/file storage.

3. **Core architectural boundary: database access**
   - `classes/db1.php` is the central database helper/connection layer.
   - Most business pages likely include this file directly rather than using a broader service layer, so the database access boundary is thin and tightly coupled to page handlers.

4. **Authentication and session entry points**
   - `login_form.php`, `register.php`, and `logout.php` form the authentication boundary.
   - `index.php` is the public landing page, while authenticated areas branch into admin and role-specific pages after login.
   - The README exposes an admin credential pair (`admin / admin123`), indicating a built-in admin account for initial access or demo use.

5. **Admin subsystem**
   - `adminPage.php` is the main admin dashboard.
   - `createEventForm.php`, `deleteEvent.php`, `viewEvent.php`, and `RegisteredEvents.php` support event lifecycle management and monitoring.
   - `deleteStudent.php`, `updateStudent.php`, and `updateStaff.php` indicate admin-level CRUD operations over users/records.

6. **Role-specific coordinator flows**
   - `Staff_cordinator.php` and `Stu_cordinator.php` are separate coordinator-facing pages, implying role-based navigation and permissions.
   - These likely surface different views or responsibilities for staff coordinators versus student coordinators rather than a shared generic dashboard.

7. **Student/user data management**
   - `Stu_details.php`, `usn.php`, `register.php`, and `updateStudent.php` suggest a student record workflow centered on student identity/details.
   - The presence of update/delete pages implies the system maintains mutable user records in the database, not just event registrations.

8. **Event lifecycle flow**
   - Event creation begins in `createEventForm.php`, persists to the database, and is later consumed by `viewEvent.php` and `RegisteredEvents.php`.
   - `deleteEvent.php` handles removal, so events appear to be fully managed inside the app rather than synced to external systems.
   - This flow is likely the main business path: create event → register/view → manage registrations → delete when needed.

9. **Shared presentation layer**
   - `utils/header.php`, `utils/adminHeader.php`, `utils/footer.php`, and `utils/styles.php` provide reusable page chrome and styling hooks.
   - This indicates a shared layout pattern across pages, but still within a page-by-page PHP rendering model rather than a templating framework.

10. **Data/files on disk**
   - The `images/uploads` directory suggests uploaded artifacts are stored locally on the web server.
   - That makes file storage part of the application runtime boundary, alongside the database, rather than an external object store.

11. **Likely request/data flow**
   - Browser requests a PHP page → page includes shared header/db helper → page reads or writes MySQL data → page renders HTML back to the browser.
   - Form submissions are handled by the same page or a dedicated handler page, which keeps the architecture simple but tightly coupled.

12. **What to draw in an architecture diagram**
   - Show a single PHP web application boundary with:
     - Public/auth pages
     - Admin dashboard and CRUD handlers
     - Coordinator/student role pages
     - Shared UI includes
     - A MySQL database
     - Local upload storage
   - The important emphasis is that the app is a procedural, server-rendered CRUD system centered on events and user records, with role-based entry points layered over one shared database.

Main entry points: [`EventManagementSystems/classes/db1.php`](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/classes/db1.php) (DB helper), [`EventManagementSystems/adminPage.php`](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/adminPage.php) (Admin dashboard), [`EventManagementSystems/index.php`](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/index.php) (Home), [`EventManagementSystems/viewEvent.php`](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/viewEvent.php) (View event)

## Diagram (Mermaid)

```mermaid
flowchart TD

subgraph group_grp_public["Public & auth"]
  node_n_index["Home<br/>php page<br/>[index.php]"]
  node_n_login["Login<br/>auth page<br/>[login_form.php]"]
  node_n_register["Register<br/>signup page<br/>[register.php]"]
  node_n_logout["Logout<br/>session page<br/>[logout.php]"]
  node_n_about["About us<br/>info page<br/>[aboutus.php]"]
  node_n_contact["Contact<br/>info page<br/>[contact.php]"]
end

subgraph group_grp_admin["Admin & management"]
  node_n_admin["Admin dashboard<br/>admin page<br/>[adminPage.php]"]
  node_n_create_event["Create event<br/>event form"]
  node_n_view_event["View event<br/>event view<br/>[viewEvent.php]"]
  node_n_registered["Registrations<br/>admin listing"]
  node_n_delete_event["Delete event<br/>event action<br/>[deleteEvent.php]"]
  node_n_update_student["Update student<br/>user edit<br/>[updateStudent.php]"]
  node_n_delete_student["Delete student<br/>user action<br/>[deleteStudent.php]"]
  node_n_update_staff["Update staff<br/>user edit<br/>[updateStaff.php]"]
end

subgraph group_grp_role["Role portals"]
  node_n_staff_coord["Staff coordinator<br/>role portal"]
  node_n_stu_coord["Student coordinator<br/>role portal<br/>[Stu_cordinator.php]"]
  node_n_stu_details["Student details<br/>student page<br/>[Stu_details.php]"]
  node_n_usn["USN lookup<br/>student page<br/>[usn.php]"]
end

subgraph group_grp_shared["Shared app layer"]
  node_n_db[("DB helper<br/>php db<br/>[db1.php]")]
  node_n_header["Header<br/>shared include<br/>[header.php]"]
  node_n_admin_header["Admin header<br/>shared include<br/>[adminHeader.php]"]
  node_n_footer["Footer<br/>shared include<br/>[footer.php]"]
  node_n_styles["Styles<br/>shared include<br/>[styles.php]"]
end

subgraph group_grp_data["Local data"]
  node_n_sql[("Schema<br/>[uevent.sql]")]
  node_n_uploads["Uploads<br/>local files"]
end

node_n_index -->|"sign in"| node_n_login
node_n_index -->|"sign up"| node_n_register
node_n_index -->|"info"| node_n_about
node_n_index -->|"info"| node_n_contact
node_n_login -->|"auth query"| node_n_db
node_n_register -->|"insert user"| node_n_db
node_n_logout -.->|"return"| node_n_index
node_n_admin -->|"manage"| node_n_create_event
node_n_admin -->|"manage"| node_n_view_event
node_n_admin -->|"manage"| node_n_registered
node_n_admin -->|"manage"| node_n_update_student
node_n_admin -->|"manage"| node_n_delete_student
node_n_admin -->|"manage"| node_n_update_staff
node_n_create_event -->|"write event"| node_n_db
node_n_view_event -->|"read event"| node_n_db
node_n_registered -->|"read registrations"| node_n_db
node_n_delete_event -->|"delete event"| node_n_db
node_n_update_student -->|"update user"| node_n_db
node_n_delete_student -->|"delete user"| node_n_db
node_n_update_staff -->|"update user"| node_n_db
node_n_staff_coord -->|"browse"| node_n_view_event
node_n_staff_coord -->|"monitor"| node_n_registered
node_n_stu_coord -->|"manage"| node_n_stu_details
node_n_stu_coord -->|"lookup"| node_n_usn
node_n_stu_details -->|"read/write"| node_n_db
node_n_usn -->|"lookup"| node_n_db
node_n_header -->|"style"| node_n_styles
node_n_admin_header -->|"style"| node_n_styles
node_n_header -.->|"include"| node_n_db
node_n_admin_header -.->|"include"| node_n_db
node_n_index -.->|"include"| node_n_header
node_n_admin -.->|"include"| node_n_admin_header
node_n_index -.->|"include"| node_n_footer
node_n_login -.->|"include"| node_n_footer
node_n_register -.->|"include"| node_n_footer
node_n_admin -.->|"include"| node_n_footer
node_n_db -.->|"schema"| node_n_sql
node_n_create_event -->|"store files"| node_n_uploads
node_n_view_event -->|"serve files"| node_n_uploads

click node_n_index "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/index.php"
click node_n_login "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/login_form.php"
click node_n_register "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/register.php"
click node_n_logout "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/logout.php"
click node_n_about "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/aboutus.php"
click node_n_contact "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/contact.php"
click node_n_admin "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/adminPage.php"
click node_n_create_event "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/createEventForm.php"
click node_n_view_event "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/viewEvent.php"
click node_n_registered "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/RegisteredEvents.php"
click node_n_delete_event "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/deleteEvent.php"
click node_n_update_student "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/updateStudent.php"
click node_n_delete_student "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/deleteStudent.php"
click node_n_update_staff "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/updateStaff.php"
click node_n_staff_coord "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/Staff_cordinator.php"
click node_n_stu_coord "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/Stu_cordinator.php"
click node_n_stu_details "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/Stu_details.php"
click node_n_usn "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/usn.php"
click node_n_db "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/classes/db1.php"
click node_n_header "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/header.php"
click node_n_admin_header "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/adminHeader.php"
click node_n_footer "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/footer.php"
click node_n_styles "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/styles.php"
click node_n_sql "https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/uevent.sql"
click node_n_uploads "https://github.com/abidhasan7-it/msu_campus_event_management/tree/main/EventManagementSystems/images/uploads"

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_n_index,node_n_login,node_n_register,node_n_logout,node_n_about,node_n_contact toneBlue
class node_n_admin,node_n_create_event,node_n_view_event,node_n_registered,node_n_delete_event,node_n_update_student,node_n_delete_student,node_n_update_staff toneAmber
class node_n_staff_coord,node_n_stu_coord,node_n_stu_details,node_n_usn toneMint
class node_n_db,node_n_header,node_n_admin_header,node_n_footer,node_n_styles toneRose
class node_n_sql,node_n_uploads toneIndigo
```

## Components

### Public & auth

Landing, login, registration, and general pages

- [Home](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/index.php): php page · Public landing page · `EventManagementSystems/index.php`
- [Login](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/login_form.php): auth page · User sign-in form · `EventManagementSystems/login_form.php`
- [Register](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/register.php): signup page · User registration page · `EventManagementSystems/register.php`
- [Logout](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/logout.php): session page · Ends the current session · `EventManagementSystems/logout.php`
- [About us](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/aboutus.php): info page · Static informational page · `EventManagementSystems/aboutus.php`
- [Contact](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/contact.php): info page · Static contact page · `EventManagementSystems/contact.php`

### Admin & management

Dashboard and CRUD pages for events and users

- [Admin dashboard](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/adminPage.php): admin page · Main admin entry point · `EventManagementSystems/adminPage.php`
- [Create event](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/createEventForm.php): event form · Creates new events · `EventManagementSystems/createEventForm.php`
- [View event](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/viewEvent.php): event view · Displays event records · `EventManagementSystems/viewEvent.php`
- [Registrations](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/RegisteredEvents.php): admin listing · Views registered events · `EventManagementSystems/RegisteredEvents.php`
- [Delete event](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/deleteEvent.php): event action · Removes events from the system · `EventManagementSystems/deleteEvent.php`
- [Update student](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/updateStudent.php): user edit · Edits student records · `EventManagementSystems/updateStudent.php`
- [Delete student](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/deleteStudent.php): user action · Removes student records · `EventManagementSystems/deleteStudent.php`
- [Update staff](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/updateStaff.php): user edit · Edits staff records · `EventManagementSystems/updateStaff.php`

### Role portals

Coordinator and student-facing entry pages

- [Staff coordinator](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/Staff_cordinator.php): role portal · Staff coordinator entry page · `EventManagementSystems/Staff_cordinator.php`
- [Student coordinator](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/Stu_cordinator.php): role portal · Student coordinator entry page · `EventManagementSystems/Stu_cordinator.php`
- [Student details](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/Stu_details.php): student page · Student details workflow · `EventManagementSystems/Stu_details.php`
- [USN lookup](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/usn.php): student page · Student identifier lookup · `EventManagementSystems/usn.php`

### Shared app layer

Common includes, styling, and database helper

- [DB helper](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/classes/db1.php): php db · Central database connection/helper · `EventManagementSystems/classes/db1.php`
- [Header](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/header.php): shared include · Common page header · `EventManagementSystems/utils/header.php`
- [Admin header](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/adminHeader.php): shared include · Admin page chrome · `EventManagementSystems/utils/adminHeader.php`
- [Footer](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/footer.php): shared include · Common page footer · `EventManagementSystems/utils/footer.php`
- [Styles](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/utils/styles.php): shared include · Shared style hooks · `EventManagementSystems/utils/styles.php`

### Local data

Database schema and uploaded files

- [Schema](https://github.com/abidhasan7-it/msu_campus_event_management/blob/main/EventManagementSystems/uevent.sql): mysql schema · Database schema and seed data · `EventManagementSystems/uevent.sql`
- [Uploads](https://github.com/abidhasan7-it/msu_campus_event_management/tree/main/EventManagementSystems/images/uploads): local files · Stored uploaded files and images · `EventManagementSystems/images/uploads`

## Connections

- Home → Login: sign in · Public entry to authentication
- Home → Register: sign up · Public entry to account creation
- Home → About us: info · Static navigation
- Home → Contact: info · Static navigation
- Login → DB helper: auth query · Validates credentials against the database
- Register → DB helper: insert user · Creates new user records
- Logout → Home: return · Ends session and returns to public page
- Admin dashboard → Create event: manage · Admin event creation path
- Admin dashboard → View event: manage · Admin event inspection path
- Admin dashboard → Registrations: manage · Admin registration monitoring path
- Admin dashboard → Update student: manage · Student CRUD from admin dashboard
- Admin dashboard → Delete student: manage · Student removal from admin dashboard
- Admin dashboard → Update staff: manage · Staff CRUD from admin dashboard
- Create event → DB helper: write event · Persists created events
- View event → DB helper: read event · Loads event data for display
- Registrations → DB helper: read registrations · Queries registered event records
- Delete event → DB helper: delete event · Removes event rows
- Update student → DB helper: update user · Modifies student records
- Delete student → DB helper: delete user · Removes student records
- Update staff → DB helper: update user · Modifies staff records
- Staff coordinator → View event: browse · Role-specific event access
- Staff coordinator → Registrations: monitor · Role-specific registration view
- Student coordinator → Student details: manage · Student coordinator workflow
- Student coordinator → USN lookup: lookup · USN-based student lookup
- Student details → DB helper: read/write · Student detail persistence
- USN lookup → DB helper: lookup · Retrieves student identity data
- Header → Styles: style · Shared UI composition
- Admin header → Styles: style · Admin UI composition
- Header → DB helper: include · Shared include used by pages that access data
- Admin header → DB helper: include · Admin include used by management pages
- Home → Header: include · Common page chrome
- Admin dashboard → Admin header: include · Admin page chrome
- Home → Footer: include · Common page footer
- Login → Footer: include · Common page footer
- Register → Footer: include · Common page footer
- Admin dashboard → Footer: include · Common page footer
- DB helper → Schema: schema · Database structure defined in SQL dump
- Create event → Uploads: store files · Event assets or uploads kept locally
- View event → Uploads: serve files · Displays stored uploaded assets
