Skip to content

ayuzhjha/placement-management-system

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

XIM UMS Logo

🎓 University Placement Management System (PMS)

A comprehensive, full-stack relational database portal built for orchestrating automated university placement drives, managing student pipelines, handling company job postings, and enforcing administrative state-machine rules.

PHP MySQL HTML5 CSS3


📌 Project Overview

The Placement Management System (PMS) is a secure, role-based web application tailored exclusively to handle the lifecycle of standard university placement operations. It eliminates the standard paperwork errors by replacing them with an immutable, strict, state-machine backend.

It features dual-interface portals:

  1. 👨‍🎓 Student Portal: For students to build their active academic profiles, track live drive listings, securely execute job applications, monitor real-time placement status, and view standard global notifications.
  2. 🛡️ Administrator Portal: A highly protected management system allowing the university staff to control Student constraints, blacklist Companies, trigger application cascade rules, forcefully finalize placements, and view raw, immutable system audit logs.

✨ Core Features & Functionalities

👨‍🎓 For Students

  • Authentication: Secure login tied explicitly to their immutable university Roll Numbers. Time-restricted session cookies.
  • Live Job Dashboard: A dynamic UI board featuring active openings specifically filtered by eligibility and blacklisted companies.
  • Application Tracker: Acts as a local Finite State Machine. Students can natively execute, withdraw, and track their applications (e.g., AppliedSelectedOffer Accepted).
  • Profile Engine: A secure form allowing basic detail modifications. Crucial variables like CGPA are strictly tracked; tampering automatically logs an alert into the global DB logic.
  • Global Notice Board: Feeds all major placement events publicly across the campus in real-time.

🛡️ For Administrators

  • Super Admin Privilege: Dedicated locked portal with encrypted credentials.
  • Entity Manipulation: Total CRUD capabilities over Student Records and Company details, including recursive "Soft Deletions" (archiving past statistics safely).
  • Application Processing Engine: Admins selectively pass students through the hiring funnel. The FSM blocks illegal actions automatically (e.g., an admin cannot place a student whose initial application status isn't marked as Selected).
  • Immutable Audit Ledger: Every state change, modification, or action across the tables generates an undeletable append-only JSON log storing the exact Old_Value, New_Value, timestamp, and the actor's ID.

⚙️ Tech Stack & Architecture

  • Frontend: Pure HTML5 & Custom CSS3 Variables. No heavy Bootstrap frameworks. Utilizes responsive CSS Grid/Flexbox architecture mapping specifically to dynamic @media constraints. Icons rendered via FontAwesome.
  • Backend Core: Vanilla PHP 8+ executing strict Object-Oriented Logic wrappers (PlacementLogic.php, AuditLogger.php).
  • Database Engine: Securely parameterized MySQL (PDO) defending against SQL Injections.
  • Security Protocols: Standardized password_hash(PASSWORD_BCRYPT) hashing across both student and root-admin tiers.

🗄️ Database Architecture (RDBMS Logic)

The database (pms_db) is heavily tailored inside 3rd Normal Form (3NF) relying heavily on advanced schema design features.

  • Relational Mapping: Maps out complex 1:M and M:N constraints connecting the Jobs, Students, and Companies tables together without creating orphaned states.
  • ACID Transactions: Core state changes (like selecting an application that automatically kills all other active applications the student holds) are safely wrapped entirely inside BEGIN ... COMMIT SQL blocks. If a server disruption happens midway, the entire block undergoes an atomic ROLLBACK.
  • Soft Deletions: Rather than executing destructive hard DELETE queries that would corrupt past placement metrics, records contain an is_active boolean field. The application layer filters out standard views dynamically.

🚀 Installation & Setup

Prerequisites

  • XAMPP / MAMP / LAMP Stack running Apache and MySQL locally.
  • PHP Version 7.4 or greater.

Local Initialization

  1. Ensure your local MySQL module is running in XAMPP. You can test this opening http://localhost/phpmyadmin.
  2. Clone this GitHub repository natively inside your XAMPP installation's htdocs folder. Example path: C:/xampp/htdocs/PMS.
  3. Open phpMyAdmin, hit the SQL tab, and run CREATE DATABASE pms_db;.
  4. Import the database/schema.sql file first to officially provision all relations, tables, and keys.
  5. Import the database/data.sql file second to instantly populate your environment with functional mock student roll numbers, companies, jobs, and the default Super Admin credential.
  6. Make sure includes/Database.php has the hostname set to 127.0.0.1 and the database set to pms_db.
  7. Navigate to http://localhost/PMS to load the application portal!

Default Credentials

  • Student Logins: Refer to data.sql inside the DB for active test Student IDs. (Default test password matches the IDs).
  • Super Admin Login:
    • ID: UADM001
    • Password: NOT_GIVEN

☁️ Deployment Notes (InfinityFree / Live Hosting)

If you intend on transferring this repository directly onto a shared web host like InfinityFree, it comes inherently configured out of the box:

  • Modify your includes/Database.php specifically replacing SQL configurations with your newly provisioned web panel parameters (i.e. sqlxxx.infinityfree.com and your assigned vPanel password).
  • Import Note: Do not execute the generic CREATE DATABASE queries inside schema.sql. You must manually create the database using the remote Control Panel beforehand, select it in the remote phpMyAdmin, and directly import the files!

Developed specifically enforcing strict database engineering boundaries and state machine principles.

About

Placement Management System

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages