Skip to content

A comprehensive Learning Management System built with Core PHP & MySQL. Features include Smart Room Booking with conflict logic, Automated PDF Vouchers using FPDF, and Role-Based Access Control (RBAC) for Faculty and Admins.

License

Notifications You must be signed in to change notification settings

aliza-dev/learning-management-system-php

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

🏛️ University Resource Management Ecosystem

A Logic-Driven LMS, Smart Booking & Faculty Management System
Developed under the mentorship of Sir Ali Bashir

Key FeaturesBooking EngineArchitectureHow to Run


🚀 Why this project is different? This isn't just a CRUD app. It is a connected Campus Ecosystem where Students, Faculty, and Admins operate with real permissions. It moves beyond basic features to handle Concurrency, Database Triggers, and Smart Resource Allocation.


🔥 The "Wow" Factor: Smart Booking & Logic

1. 📅 Visual Availability Calendar (Booking Engine)

Solves real-world concurrency for venues like Auditoriums & Conference Rooms. Focal Persons use a Color-Coded Dashboard:

Visual Indicator Status Logic
🟡 Yellow Available Slot is open (e.g., 8:00 AM - 9:00 AM)
🟢 Green Booked Request Approved by Admin (Locked for others)
🔴 Red Denied Request Rejected (Reason visible in history)

🧠 Zero-Conflict Rule: If a room is pending or booked for "9-10 AM", the system automatically disables the selection for others to prevent double-booking.

2. 📄 Automated PDF Voucher Generation

  • Instant Documentation: Uses FPDF Library to auto-generate downloadable Booking Vouchers.
  • Proof of Request: Contains Title, No. of Persons, Time Slot, and Department details.

3. 👑 The "Focal Person" Trigger Logic

Unlike standard systems, this application enforces strict academic rules via Database Triggers:

  • Conflict-Free Assignment: The system guarantees only one Focal Person per department.
  • Auto-Demotion: Assigning a new focal person automatically revokes rights from the previous holder instantly.

⚡ Workflow Architecture

Here is how the system handles a Booking Request cycle:

graph LR
A[Focal Person] -- Selects Room & Time --> B(System Checks Availability)
B -- Slot Free --> C{Generate PDF Request}
C --> D[Admin Dashboard]
D -- Grant Access --> E((🟢 Booking Confirmed))
D -- Deny Access --> F((🔴 Request Rejected))

🛠️ Key Modules & Features (RBAC)
🛡️ Admin Command Center
Request Handling: Admins don't just "delete" requests. They Approve or Reject them.

State Retention: Rejected requests remain in the database history with a "Denied" status for transparency.

Faculty Onboarding: Add faculty members with specific privileges (HOD, Lecturer).

🎓 Focal Person Dashboard
Exclusive Access: Can manage News, Notices, Events, and Notifications.

Resource Booking: Access to the Booking Engine and PDF generation.

🎒 Student Portal
Context-Aware: View department-specific news, faculty lists, and announcements dynamically.

💻 Tech Stack:
Component,Technology,Description
Backend,Core PHP (Functional),"Server-side logic, Session Management"
Database,MySQL (Relational),"Triggers, Complex Queries, Stored Procedures"
Frontend,"HTML5, Tailwind CSS, JS",Responsive UI and visual components
Libraries,FPDF,For dynamic PDF generation
Server,XAMPP,Apache Server

⚙️ Installation (Localhost)
Clone the Repo:
git clone https://github.com/aliza-dev/learning-management-system-php.git

Setup Database:

Open phpMyAdmin.

Create a database named university_db.

Import the .sql file located in the database/ folder.

Note: Ensure triggers are imported correctly.

Configure:

Open db_connect.php and check credentials.

Run:

Place the folder in C:/xampp/htdocs/.

Visit: http://localhost/university

<div align="center"> <h3>📬 Contact & Credits</h3> <p>Developed with ❤️ by <strong>Aliza Tariq</strong></p> <p>Special thanks to <strong>Sir Ali Bashir</strong> for pushing us beyond "Submit & Forget" to "Logic & Architecture".</p>

<p> <a href="https://linkedin.com/in/aliza-tariq-dev"> <img src="https://img.shields.io/badge/LinkedIn-Connect-blue?style=for-the-badge&logo=linkedin" /> </a> <a href="https://github.com/aliza-dev"> <img src="https://img.shields.io/badge/GitHub-Follow-black?style=for-the-badge&logo=github" /> </a> </p> </div>
Loading

About

A comprehensive Learning Management System built with Core PHP & MySQL. Features include Smart Room Booking with conflict logic, Automated PDF Vouchers using FPDF, and Role-Based Access Control (RBAC) for Faculty and Admins.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published