Project Detail

University Management System (UMS)

A comprehensive web-based system designed to streamline and automate academic and administrative processes within a university, providing distinct, role-based interfaces for students, faculty, and administrators. Universities and educational institutions manage a vast amount of data and complex processes daily. Traditional manual methods are often inefficient, error-prone, and lead to difficulties in information retrieval and coordination. This project, the University Management System (UMS), addresses these challenges by providing a centralized, automated, role-based, and secure platform for managing student records, course enrollments, faculty details, exam schedules, fee payments, and result processing. Objectives: Develop a centralized database system for efficient data management. Automate core university processes (registration, enrollment, exams, fees, results). Enhance data security through distinct role-based access. Minimize manual errors and data redundancy with a well-structured relational schema and constraints. Provide intuitive user interfaces for Admin, Faculty, and Students. Create a scalable and maintainable system architecture. Implement automated email notifications for critical events.

University Management System (UMS)

features

Student Management Student registration and admin approval/rejection. Viewing and updating student profiles. Course enrollment and unenrollment. Viewing personalized dashboards (exams, results, fees). Simulated fee payment.
Faculty Management Faculty registration and admin approval/rejection. Viewing and updating faculty profiles. Managing assigned courses and viewing enrolled students. Managing exams (add, update, delete, schedule). Evaluating and publishing exam results (mark entry, grading, locking).
Admin Management CRUD operations for Students, Faculty, Courses, Departments, Exams, Fees, and Results. Managing user statuses (Student: Pending, Enrolled, Graduated, Restricted; Faculty: Pending, Active). Appointing Heads of Departments (HODs). Managing other Admin accounts (primary admin only). Filtering and sorting data in administrative tables. Viewing system audit logs. Database initialization scripts.
Course Management Admin creation, modification, and deletion of courses. Managing course details (ID, name, semester, credits, price).
Examination Management Faculty scheduling of exams (type, date, duration, venue). Admin overview and management of exams. Storing and managing exam results.
Fee Management Generating fee records based on registration, enrollment, and exams. Admin management of fee records (view, update, delete). Tracking fee payment status (Pending/Paid).
User Authentication & Authorization Secure login for Admin, Faculty, and Students using official university email. Role-based access control.
Email Notifications Automated emails for registration approval/rejection, credential delivery, and account status changes.

applications

Centralized Data Management Efficient handling of student records, faculty details, courses, exams, fees, and results in a relational database.
Process Automation Automating registration, enrollment, exam scheduling, result evaluation, and fee processing to reduce manual effort.
Role-Based Access Providing secure, tailored interfaces for students, faculty, and administrators to perform their respective tasks.
Scalable Architecture Built with Flask and MySQL for maintainability and future expansions like attendance tracking or library management.

current limitations

Attendance Tracking, Hostel Management, Library Management modules.
Integration with external learning platforms (Moodle, Blackboard, etc.).
Advanced reporting, analytics, and data visualization features.
Real-time payment gateway integration (payments are simulated).
SMS notifications.

future enhancements

Add Attendance Tracking Module.
Integrate Library and Hostel Management Modules.
Implement Advanced Reporting and Analytics with downloadable reports.
Integrate with a real-time payment gateway.
Add Timetable Management functionality.
Refine UI/UX and improve responsiveness.
Develop a RESTful API for external integration or mobile app support.
Enhance Security (password hashing, CSRF protection, input sanitization).
Implement Automated Testing.
Perform Database Performance Tuning and Caching.

Technologies Used

Backend Flask (Python Framework), PyMySQL (Database Connector), Flask-Mail (Email Handling), python-dotenv (Environment Variables)
Frontend HTML5, CSS3, JavaScript, Jinja2 (Templating Engine)
Database MySQL
Deployment Render (Cloud Platform), Aiven (Database Hosting)
Core Libraries datetime, re, ast, threading (Python)

system architecture

Presentation Tier (Client-Side) Handles the user interface (HTML pages). Styled using CSS (static/css/). Basic client-side interactions managed by JavaScript (static/scripts/). Dynamic content rendering via Jinja2 templates (templates/*.html). Accessed via web browsers.
Application Tier (Server-Side) Implemented using Flask (main.py). Processes HTTP requests and manages application logic (routing, form handling, validation, grading logic). Manages user sessions. Interacts with the database via PyMySQL. Handles email notifications via Flask-Mail.
Data Tier (Database) Stores all persistent data in a MySQL database hosted on Aiven cloud. The schema is defined in database_prerequisite.py. Data integrity is enforced through database constraints (PK, FK, UNIQUE, NOT NULL, ENUM, CHECK, ON DELETE). Includes custom database logic like triggers and stored procedures.

system design

1 / 1

interfaces

1 / 9