Thank you for purchasing University Management System. This comprehensive solution includes both Admin Portal for university staff and Student Portal for enrolled students. If you have any questions beyond this documentation, please contact our support team.
University Management System (UMS) is a complete web-based solution designed to streamline and automate all aspects of university administration. The system consists of two main portals:
The Admin Portal provides university staff with complete control over all university operations including admissions, student management, academic scheduling, finance, hostel management, library services, and user administration. The portal is role-based, ensuring that staff members only have access to the modules relevant to their responsibilities.
The Student Portal provides enrolled students with personalized access to their academic and administrative information. Students can view their timetable, results, hostel information, library resources, payment history, and receive important announcements from the university administration.
The Admin Portal provides university staff with complete control over all university operations. Accessible only to authorized roles (super_admin, hostel, library, finance, admission, exams). Each role has specific permissions tailored to their responsibilities.
The Admissions Module manages the entire admission process from application submission to enrollment. This module is primarily used by the Admissions Office staff.
The system maintains a comprehensive database of all applicants with detailed status tracking:
Applicants can upload required documents during application, and admissions staff can verify these documents:
Staff can mark documents as "Verified" or "Rejected" with comments explaining the decision.
Admissions staff can update applicant status with detailed comments and reasons. The system maintains a complete audit trail of all status changes with timestamps and staff member identification.
Upon approval, the system automatically generates unique matriculation numbers following the university's numbering convention (e.g., CS2025001 for Computer Science, 2025 admission year, student 001).
The system generates professional PDF admission letters with university letterhead, applicant details, program of study, and reporting instructions. Letters can be downloaded or emailed directly to applicants.
Figure 1: Admissions dashboard with applicant tracking and document verification
The Student Management module provides comprehensive tools for managing student records throughout their academic journey.
Complete student profiles include:
Administrators can assign students to departments and levels, transfer students between departments, and update academic standing based on performance.
The system generates professional student ID cards with the following features:
ID cards are generated in PDF format and can be printed on standard ID card stock or laminated for durability.
The system maintains complete academic records for each student, including courses taken, scores, grades, and calculated GPA/CGPA. Administrators can view semester-by-semester performance and generate academic transcripts.
Students can be marked as "Graduated" upon completion of their program requirements. Graduated students retain access to their academic records but are moved to an alumni database.
This module manages the academic structure of the university, including departments, programs, and course offerings.
Administrators can create and manage academic departments:
The course catalog includes detailed information for each course:
Courses are allocated to specific levels and semesters based on the academic calendar. The system ensures that courses are offered at the appropriate time in the curriculum sequence.
(Optional) Lecturers can be assigned to specific courses, with the system preventing scheduling conflicts and ensuring appropriate workload distribution.
The Timetable Management module creates and maintains the weekly schedule for all courses and activities.
Courses are assigned to specific rooms and time slots based on:
The system automatically detects and prevents scheduling conflicts:
Professional timetable PDFs can be generated for:
PDF timetables include university branding, course details, room assignments, and lecturer information.
Students can view their personalized timetable in the Student Portal, with today's classes highlighted and room navigation information.
This module handles all aspects of examination management and academic record keeping.
Examination officers can enter scores and grades for courses:
The system validates score ranges and calculates final grades based on university grading policies.
Official academic transcripts are generated in PDF format with the following features:
The ID Card System creates professional student identification cards:
Semester-specific result statements can be generated showing only courses taken in a particular semester, useful for scholarship applications and progress tracking.
The system automatically calculates Grade Point Average (GPA) and Cumulative Grade Point Average (CGPA) based on the university's grading scale:
| Grade | Score Range | Grade Points |
|---|---|---|
| A | 70-100 | 5 |
| B | 60-69 | 4 |
| C | 50-59 | 3 |
| D | 45-49 | 2 |
| E | 40-44 | 1 |
| F | 0-39 | 0 |
Figure 2: Transcript and ID card generation interface with security features
The Finance Module handles all financial transactions related to student fees and payments.
Financial officers can record payments for various fee categories:
Payments can be recorded with payment method (Cash, Bank Transfer, POS, Online) and transaction reference numbers.
Professional PDF receipts are generated immediately upon payment recording:
Fee structures can be defined for different programs, levels, and categories:
Complete payment history is maintained for each student, showing all transactions with dates, amounts, and payment methods.
The system tracks unpaid fees and can generate reports of students with outstanding balances for follow-up and clearance purposes.
The Hostel Management module handles all aspects of student accommodation and facility maintenance.
Students are allocated to rooms with strict gender validation:
Maintenance requests can be logged and tracked through their lifecycle:
Hostel-specific fees are managed separately from tuition fees:
Room occupants can be viewed and managed:
Real-time monitoring of hostel capacity:
Figure 3: Hostel room allocation with maintenance tracking and gender validation
The Library System manages the university's book inventory and digital resources.
Complete book catalog management:
Lecturers and library staff can upload digital resources for student access:
Resources are automatically filtered by department and level, ensuring students only see relevant materials.
Students see only resources relevant to their department and level:
(Optional) Physical book borrowing can be tracked:
Comprehensive search capabilities:
The Notifications System enables effective communication between administration and students.
Administrators can send announcements to:
Four priority levels with appropriate styling:
The system tracks which students have read announcements:
Announcements appear prominently on the student dashboard:
The User Management module handles staff account administration.
Six predefined roles with specific permissions:
Staff profiles include:
Accounts can be activated or deactivated as needed:
Secure password management:
The system implements comprehensive security measures to protect sensitive data.
All passwords are stored using PHP's password_hash() function with the PASSWORD_DEFAULT algorithm, which currently uses bcrypt but will automatically upgrade to stronger algorithms as they become available.
Session security is implemented through:
All user outputs are sanitized using htmlspecialchars() to prevent Cross-Site Scripting attacks.
All database queries use prepared statements with parameter binding to prevent SQL injection attacks.
File uploads are secured through multiple layers:
The Student Portal provides enrolled students with personalized access to their academic and administrative information. Students log in using their matriculation number and can access all relevant information in one place.
Self-service account creation for admitted students ensures a smooth onboarding experience.
Students use their matriculation number as their username, which is consistent across all university systems and easy to remember.
Admitted students can create their accounts by providing:
The system verifies that the matriculation number exists in the admitted students database before allowing account creation.
Student accounts are stored in a separate student_accounts table to prevent conflicts with admin user accounts and ensure proper separation of concerns.
(Optional) Email verification can be enabled to ensure valid email addresses are provided during registration.
Figure 4: Student login and registration page with matric number validation
The Student Dashboard provides a personalized overview of all relevant information.
Quick view of key academic metrics:
Latest school announcements with visual indicators:
Current room assignment information:
One-click access to frequently used features:
Important dates and deadlines:
Figure 5: Student Dashboard with personalized stats and quick actions
Students can view and update their personal information.
Editable personal details:
Secure password change process:
Read-only academic information:
Primary contact details:
Weekly schedule with detailed room information.
Organized by Monday through Friday with clear time slots:
Detailed room assignment information:
Current day's lectures are highlighted with a special indicator to help students stay on track.
Complete course information:
Comprehensive academic performance tracking.
Complete record of all completed courses:
Automatic calculation displayed prominently:
Official documents available for download:
Digital ID card available for viewing and downloading:
Overall academic performance metrics:
Figure 6: Results page with CGPA calculation and grade history
Complete hostel and room details.
Current room assignment information:
Submit and track maintenance requests:
Clear indication of hostel gender type:
Current allocation status:
Access to department-specific learning materials.
Downloadable learning materials:
Resources automatically filtered by:
Currently borrowed physical books:
Library information and contact details:
Complete payment history and financial information.
All payments made by the student:
Official payment receipts available for download:
Current fee structure for the student's program:
Total payments by category:
Complete course registration information.
View courses by different criteria:
Total credit hours for selected period:
Export course list to PDF:
Complete information for each course:
Figure 7: Course allocation by semester/session with filtering options
Complete announcement management.
Clear visual indicators for new announcements:
Easy announcement management:
Complete history of all announcements:
Visual distinction by announcement type:
Professional student identification system.
Access ID card from anywhere:
Multiple security measures to prevent forgery:
Optimized for physical printing:
Easy verification by university staff:
Figure 8: Professional student ID card with security features and verification codes
This comprehensive guide walks you through installing University Management System on a cPanel hosting environment. Follow each step carefully to ensure successful installation.
Before beginning the installation, ensure your hosting environment meets the following requirements:
super/ - Admin portal filesstudent/ - Student portal filesincludes/ - Shared include filesdatabase/ - Database SQL fileuploads/ - File upload directoriespublic_html folderpublic_html/ums), create the folder firstFigure 9: FileZilla Site Manager with cPanel FTP settings
public_html folder on the right panelindex.php (student login page)super/index.php (admin login page)includes/database.php (database configuration)database/university_ums.sql (database file)Figure 10: Uploading University Management System files via FileZilla
https://yourdomain.com/cpanel)university_ums)cpaneluser_university_ums)Figure 11: Creating a new MySQL database in cPanel
ums_user)cpaneluser_ums_user)cpaneluser_ums_user)cpaneluser_university_ums)Figure 12: Adding database user with ALL PRIVILEGES in cPanel
cpaneluser_university_ums)database/university_ums.sqlFigure 13: Importing University Management System database via phpMyAdmin
public_html/includes/ folderdatabase.php file and select "View/Edit"private $host = 'localhost'; (usually remains localhost)private $db_name = 'cpanelusername_university_ums'; (include cPanel prefix)private $username = 'cpanelusername_ums_user'; (include cPanel prefix)private $password = 'your_strong_password'; (the password you set in Step 5)Figure 14: Configuring database connection in database.php file
public_html folder755 for the following directories:
uploads/library/uploads/students/receipts/Figure 15: Setting directory permissions to 755 in FileZilla
https://yourdomain.com/https://yourdomain.com/super/adminadmin123The system comes with the following default credentials for initial setup:
| Portal | Username | Password | Role |
|---|---|---|---|
| Admin Portal | admin |
admin123 |
Super Admin |
| Student Portal | CS2025001 |
student123 |
Student |
Important Security Note: Change the default admin password immediately after your first login! The student account is for demonstration purposes only and should be deleted or updated with real student data.
Some cPanel hosting providers have additional security measures that may affect installation:
exec, system, and shell_exec are not disabled if you plan to use PDF generation features.memory_limit to 256M if needed.upload_max_filesize and post_max_size in PHP settings if you encounter upload issues.The University Management System uses a normalized database structure with 14 core tables that handle all system functionality.
| Table | Description | Key Fields |
|---|---|---|
students |
Student records with personal and academic information | matric_no, first_name, last_name, email, phone, address, dob, department_id, level, is_admitted, admission_date |
courses |
Course catalog with academic details | id, code, title, credit_hours, department_id, level, session, semester |
rooms |
Hostel rooms with capacity and status information | id, room_number, type, max_occupancy, current_occupancy, status, hostel_id |
books |
Library inventory with digital resource links | id, title, author, isbn, department_id, level, file_path, file_type, file_size |
payments |
Financial transactions with receipt information | id, student_id, amount_paid, discount, payment_method, type, receipt_no, paid_at, verified_by |
announcements |
Broadcast messages to students | id, title, message, type, icon, created_by, created_at |
student_accounts |
Student login credentials separate from admin users | id, matric_no, email, password, is_active, last_login, created_at |
users |
Admin and staff accounts with role-based access | username, email, password, role, department, status, created_at |
departments |
Academic departments with capacity information | id, name, code, capacity |
hostels |
Hostel information with gender type | id, name, code, type, capacity |
room_allocations |
Student room assignments with check-in/out dates | id, student_id, room_id, check_in, check_out, status |
results |
Student exam results with grade information | id, student_id, course_id, score, grade, session |
maintenance_logs |
Hostel maintenance requests with status tracking | id, room_id, issue, priority, status, created_by, created_at |
timetable |
Course scheduling with room and time assignments | id, course_id, room_id, day, start_time, end_time, department_id, level |
The database follows a normalized structure with proper foreign key relationships to maintain data integrity.
Figure 16: Complete database schema relationships with foreign key constraints
Performance-critical columns are indexed for fast query execution:
students.matric_no - Primary key for student identificationstudents.department_id - Index for department-based queriescourses.department_id - Index for course department filteringpayments.student_id - Index for student payment historyroom_allocations.student_id - Index for student room assignmentsannouncements.created_at - Index for announcement sortingThe included university_ums.sql file contains sample data to demonstrate system functionality:
This sample data allows you to test all system features immediately after installation.
The system uses CSS variables for easy color customization. Edit the :root section in any page's <style> tag or create a global CSS file.
:root {
--primary: #4285f4; /* Main brand color */
--primary-container: #ddeeff; /* Light primary background */
--surface: #ffffff; /* Card backgrounds */
--surface-variant: #f8fafc; /* Subtle backgrounds */
--outline: #94a3b8; /* Border colors */
--shadow: rgba(0, 0, 0, 0.08); /* Shadow colors */
--success: #34a853; /* Success/green */
--warning: #fbbc04; /* Warning/yellow */
--error: #ea4335; /* Error/red */
}
Replace the hex color codes with your university's brand colors. The system will automatically update all components that use these variables.
To add new functionality to the system, follow this structured approach:
super/ (e.g., research/) for your moduleincludes/sidebar.php to add a navigation link to your new moduleTo add multi-language support to the system:
lang/ directory in the root folderlang/en.php, lang/fr.php)
<?php
// lang/fr.php
$lang = [
'dashboard' => 'Tableau de bord',
'students' => 'Étudiants',
'courses' => 'Cours'
];
?>
<?php
$language = $_SESSION['language'] ?? 'en';
require_once "lang/{$language}.php";
?>
<h2><?= $lang['dashboard'] ?></h2>
Customize the system to match your university's branding:
images/logo.png with your university logo (PNG format, transparent background recommended)includes/sidebar.php and dashboard headersCustomize student ID cards to match your university's design standards:
transcripts/id-card-template.phpThe ID card template uses TCPDF for PDF generation, so you can leverage all TCPDF features for advanced customization.
Customize all PDF documents (receipts, transcripts, admission letters):
receipts/receipt-template.phptranscripts/transcript-template.phpadmissions/admission-letter-template.phpcourses/course-registration-template.phpAll templates use TCPDF with HTML/CSS support, allowing for professional document design.
Customize email notifications sent by the system:
emails/ directoryadmission-approved.html)The University Management System implements comprehensive security measures to protect sensitive student and university data.
All passwords are stored using PHP's password_hash() function with the PASSWORD_DEFAULT algorithm:
password_verify() for secure comparison
// Password hashing during registration
$hashed_password = password_hash($password, PASSWORD_DEFAULT);
// Password verification during login
if (password_verify($password, $hashed_password)) {
// Password is correct
}
All database queries use prepared statements with parameter binding:
// Secure database query with prepared statement
$stmt = $pdo->prepare("SELECT * FROM students WHERE matric_no = ?");
$stmt->execute([$matric_no]);
$student = $stmt->fetch();
All user outputs are sanitized using htmlspecialchars():
// Safe output of user data
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');
Session management follows security best practices:
// Regenerate session ID on login
session_regenerate_id(true);
// Clear session on logout
$_SESSION = array();
session_destroy();
File uploads are secured through multiple validation layers:
// File upload validation
$allowed_types = ['pdf', 'docx', 'doc', 'zip'];
$file_ext = strtolower(pathinfo($_FILES['file']['name'], PATHINFO_EXTENSION));
if (!in_array($file_ext, $allowed_types)) {
throw new Exception("Invalid file type");
}
if ($_FILES['file']['size'] > 10 * 1024 * 1024) {
throw new Exception("File too large (max 10MB)");
}
Strict permission checks on every admin page:
// Role verification at top of admin pages
if (!isset($_SESSION['logged_in']) || $_SESSION['role'] !== 'super_admin') {
header('Location: ../index.php?error=Access denied.');
exit;
}
Form submissions are protected against Cross-Site Request Forgery:
Additional security measures to implement at the server level:
# .htaccess HTTPS redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]
display_errors = Off in php.inilog_errors = Onexec, system, shell_exec, passthrusession.cookie_httponly = 1session.cookie_secure = 1 (when using HTTPS)This section covers common installation and usage issues with their solutions.
| Issue | Possible Cause | Solution |
|---|---|---|
| White screen after installation | PHP error with display_errors off | Check PHP error logs; verify database.php credentials; ensure PHP version ≥ 7.4 |
| "Access denied" errors | Incorrect file permissions or session issues | Set uploads/ directories to 755; ensure session directory is writable; check role assignments |
| File upload failures | PHP upload limits or permission issues | |
| Missing styles/images | Incomplete file upload or incorrect paths | Clear browser cache; verify all files uploaded completely; check file paths in HTML; ensure .htaccess is present |
| Duplicate entry errors | Unique constraint violations in database | Run provided SQL fixes for unique constraints; ensure no duplicate matric numbers; check email uniqueness settings |
| PDF generation failures | Writable directory permissions or memory limits | Ensure receipts/ directory is writable (755); increase PHP memory_limit to 256M; check disk space |
| Login not working | Database connection or student admission status | Verify database connection; check if student is admitted (is_admitted = 1); reset password if needed; check student_accounts table |
| Database connection failed | cPanel database name prefixing | cPanel automatically prefixes database names with your username (e.g., cpaneluser_database). Update database.php with full prefixed name. |
| mod_rewrite not working | Apache handlers not enabled | In cPanel, go to "Apache Handlers" and ensure .htaccess is enabled; contact hosting provider if issues persist |
| Session timeout too short | PHP session.gc_maxlifetime setting | Increase session.gc_maxlifetime in php.ini or use ini_set() in code; contact hosting provider for server-level changes |
Enable debug mode to get detailed error messages instead of generic ones.
includes/database.phpprivate $debug = false;private $debug = true;This will display detailed error messages including SQL queries and stack traces, which is helpful for development but should be disabled in production.
Common issues specific to cPanel hosting environments:
cPanel automatically prefixes database names and usernames with your cPanel username. For example:
university_umscpaneluser_university_umsdatabase.phpSome cPanel hosts have strict file permission policies. If FileZilla fails to set permissions:
If clean URLs aren't working:
PDF generation and large file uploads may require more memory:
Some issues may be browser-specific:
If you encounter display issues, try clearing your browser cache or testing in an incognito/private window.
We offer 6 months of free support for all buyers. Our support team is dedicated to helping you successfully implement and use University Management System.
Our free support includes assistance with:
The following services are not included in free support and may require paid customization:
To ensure we can help you efficiently, please complete the following steps before submitting a support request:
We strive to respond to all support requests within 24-48 business hours. Complex issues may require additional time for investigation and resolution. During peak periods (back-to-school, exam seasons), response times may be slightly longer.
After the initial 6-month period, extended support is available through our premium support plans:
Contact us for more information about extended support options.
In addition to direct support, we provide community resources: