Introduction

University Management System

Complete University Management Solution for Admins and Students


Created: January 2026
By: Al-Hassan Technology
Email: support@alhassantechnology.com

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.

System Overview

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:

Admin Portal

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.

Student Portal

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.

Key Features

  • Admissions Module: Complete applicant tracking, document verification, status updates, matriculation number generation, and admission letter creation
  • Student Management: Comprehensive student profiles, department/level assignment, professional ID card generation, and academic record tracking
  • Academic Structure: Department and course management with proper academic hierarchy and course allocation
  • Timetable Management: Room scheduling with conflict detection and PDF timetable generation
  • Exams & Transcripts: Results entry, automatic GPA/CGPA calculation, official transcript generation, and statement of results
  • Finance Module: Payment processing, professional receipt generation, fee management, and outstanding balance tracking
  • Hostel Management: Gender-specific room allocation, maintenance request tracking, hostel fee management, and occupant monitoring
  • Library System: Book catalog management, department-specific resource uploads (PDF/DOCX), and borrow tracking
  • Notifications System: Announcement broadcasting with read tracking and priority levels
  • User Management: Role-based access control, staff profile management, and account activation/deactivation
  • ID Card System: Professional student ID card generation with security features and QR code verification
  • Security: Password hashing, session protection, XSS prevention, SQL injection protection, and secure file uploads

Admin Portal

Overview

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.

🎓 Admissions Module

The Admissions Module manages the entire admission process from application submission to enrollment. This module is primarily used by the Admissions Office staff.

Applicant Tracking

The system maintains a comprehensive database of all applicants with detailed status tracking:

  • Pending: Application received but not yet processed
  • Verified: Documents verified and application under review
  • Approved: Application approved and ready for matriculation
  • Rejected: Application rejected with reason provided
  • Enrolled: Student has completed registration and is active
Document Verification

Applicants can upload required documents during application, and admissions staff can verify these documents:

  • O'Level result certificates
  • JAMB/UTME result slip
  • Birth certificate or age declaration
  • Passport photograph
  • Local government identification

Staff can mark documents as "Verified" or "Rejected" with comments explaining the decision.

Status Updates

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.

Matriculation Number Generation

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).

Admission Letter Generation

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.

[Admissions Dashboard Screenshot]

Figure 1: Admissions dashboard with applicant tracking and document verification

👥 Student Management

The Student Management module provides comprehensive tools for managing student records throughout their academic journey.

Student Profiles

Complete student profiles include:

  • Personal information (name, date of birth, contact details)
  • Academic information (department, level, program)
  • Admission details (matric number, admission year, mode of entry)
  • Guardian information (name, relationship, contact details)
  • Academic history (courses taken, results, CGPA)
Department Assignment

Administrators can assign students to departments and levels, transfer students between departments, and update academic standing based on performance.

ID Card Generation

The system generates professional student ID cards with the following features:

  • Student photograph
  • Matriculation number
  • Full name and department
  • University logo and name
  • Barcode for easy scanning
  • QR code for digital verification
  • Expiration date (for session validity)

ID cards are generated in PDF format and can be printed on standard ID card stock or laminated for durability.

Academic Records

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.

Graduation Status

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.

🏫 Departments & Courses

This module manages the academic structure of the university, including departments, programs, and course offerings.

Department Management

Administrators can create and manage academic departments:

  • Department name and code (e.g., "Computer Science", "CS")
  • Capacity (maximum number of students)
  • Head of Department (HOD) assignment
  • Program offerings (BSc, MSc, PhD)
Course Catalog

The course catalog includes detailed information for each course:

  • Course code (e.g., CSC201)
  • Course title (e.g., "Introduction to Programming")
  • Credit hours
  • Department offering the course
  • Prerequisites (other courses that must be completed first)
  • Course description and objectives
Course Allocation

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.

Lecturer Assignment

(Optional) Lecturers can be assigned to specific courses, with the system preventing scheduling conflicts and ensuring appropriate workload distribution.

📅 Timetable Management

The Timetable Management module creates and maintains the weekly schedule for all courses and activities.

Room Scheduling

Courses are assigned to specific rooms and time slots based on:

  • Room capacity vs. class size
  • Room equipment requirements (computer labs, science labs, etc.)
  • Department preferences
  • Time slot availability
Conflict Detection

The system automatically detects and prevents scheduling conflicts:

  • Double-booking of rooms
  • Double-booking of lecturers
  • Overlapping time slots for the same course
PDF Generation

Professional timetable PDFs can be generated for:

  • Individual students (personalized schedule)
  • Departments (all courses for the department)
  • Entire university (master timetable)

PDF timetables include university branding, course details, room assignments, and lecturer information.

Student View

Students can view their personalized timetable in the Student Portal, with today's classes highlighted and room navigation information.

📝 Exams & Transcripts

This module handles all aspects of examination management and academic record keeping.

Results Entry

Examination officers can enter scores and grades for courses:

  • Continuous assessment scores
  • Examination scores
  • Final grades (A, B, C, D, E, F)
  • Remarks (Pass, Fail, Carryover)

The system validates score ranges and calculates final grades based on university grading policies.

Transcript Generation

Official academic transcripts are generated in PDF format with the following features:

  • University letterhead and seal
  • Student personal and academic information
  • Complete course history with scores and grades
  • Calculated GPA and CGPA
  • Registrar's signature (digital)
  • Unique transcript number for verification
  • Security watermark to prevent forgery
ID Card System

The ID Card System creates professional student identification cards:

  • Digital ID cards accessible from Student Portal
  • Print-ready PDF format
  • Security features including barcode and QR code
  • University branding and student information
  • Session validity period
Statement of Result

Semester-specific result statements can be generated showing only courses taken in a particular semester, useful for scholarship applications and progress tracking.

GPA/CGPA Calculation

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
[Transcript Generation Screenshot]

Figure 2: Transcript and ID card generation interface with security features

💰 Finance Module

The Finance Module handles all financial transactions related to student fees and payments.

Payment Processing

Financial officers can record payments for various fee categories:

  • Tuition fees
  • Acceptance fees
  • Hostel accommodation fees
  • Caution fees
  • Library fees
  • Examination fees
  • Miscellaneous fees

Payments can be recorded with payment method (Cash, Bank Transfer, POS, Online) and transaction reference numbers.

Receipt Generation

Professional PDF receipts are generated immediately upon payment recording:

  • Unique receipt number
  • Student information
  • Payment details (amount, method, date)
  • Fee category breakdown
  • Authorized signature
  • University logo and contact information
Fee Management

Fee structures can be defined for different programs, levels, and categories:

  • Program-specific fees (Science vs. Arts vs. Engineering)
  • Level-based fees (100L vs. 500L)
  • Hostel-specific fees (different hostels have different rates)
  • Session-based fee adjustments
Payment History

Complete payment history is maintained for each student, showing all transactions with dates, amounts, and payment methods.

Outstanding Balance

The system tracks unpaid fees and can generate reports of students with outstanding balances for follow-up and clearance purposes.

🏢 Hostel Management

The Hostel Management module handles all aspects of student accommodation and facility maintenance.

Room Allocation

Students are allocated to rooms with strict gender validation:

  • Male students can only be allocated to male hostels
  • Female students can only be allocated to female hostels
  • Mixed-gender allocation is prevented at the system level
  • Room capacity limits are enforced
Maintenance Tracking

Maintenance requests can be logged and tracked through their lifecycle:

  • Request submission (by students or staff)
  • Priority assignment (Low, Medium, High, Emergency)
  • Status tracking (Reported, Assigned, In Progress, Done)
  • Warden assignment for resolution
  • Completion verification and closure
Hostel Fees

Hostel-specific fees are managed separately from tuition fees:

  • Accommodation fees
  • Caution fees (refundable deposit)
  • Maintenance fees
  • Utility fees
Occupant Management

Room occupants can be viewed and managed:

  • View all students in a room
  • Remove students from rooms (for transfers or disciplinary actions)
  • Track room occupancy in real-time
  • Generate occupancy reports
Capacity Monitoring

Real-time monitoring of hostel capacity:

  • Total rooms vs. occupied rooms
  • Available rooms by type (single, double, quad)
  • Hostel-wise occupancy statistics
  • Capacity alerts when nearing full occupancy
[Hostel Management Screenshot]

Figure 3: Hostel room allocation with maintenance tracking and gender validation

📚 Library System

The Library System manages the university's book inventory and digital resources.

Book Management

Complete book catalog management:

  • Title, author, publisher, year published
  • ISBN for unique identification
  • Department and level classification
  • Category (General, Reference, Textbook, etc.)
  • Total copies and available copies tracking
Resource Uploads

Lecturers and library staff can upload digital resources for student access:

  • PDF lecture notes
  • DOCX assignment guidelines
  • Past examination questions
  • Research papers and journals
  • Study guides and textbooks

Resources are automatically filtered by department and level, ensuring students only see relevant materials.

Department Filtering

Students see only resources relevant to their department and level:

  • Computer Science students see CS resources
  • 100L students see 100L materials
  • General resources are visible to all students
Borrow Tracking

(Optional) Physical book borrowing can be tracked:

  • Borrow date and due date
  • Return date and condition
  • Overdue notifications
  • Fine calculation for late returns
Search Functionality

Comprehensive search capabilities:

  • Search by title, author, or ISBN
  • Filter by department, level, or category
  • Sort by publication year or availability

🔔 Notifications System

The Notifications System enables effective communication between administration and students.

Announcement Broadcasting

Administrators can send announcements to:

  • All students
  • Specific departments
  • Specific levels
  • Specific hostels
Alert Types

Four priority levels with appropriate styling:

  • Info: General information (blue)
  • Success: Positive updates (green)
  • Warning: Important notices (yellow)
  • Error: Critical alerts (red)
Read Tracking

The system tracks which students have read announcements:

  • Unread announcements are highlighted
  • Read/unread statistics for each announcement
  • Mark all as read functionality
Student Dashboard Integration

Announcements appear prominently on the student dashboard:

  • Latest announcements shown first
  • Unread count in navigation badge
  • Quick access to full announcement list

👥 User Management

The User Management module handles staff account administration.

Role-Based Access

Six predefined roles with specific permissions:

  • Super Admin: Full system access
  • Admission: Admissions module only
  • Exams: Results and transcripts only
  • Finance: Payment and receipt management only
  • Hostel: Hostel management only
  • Library: Library management only
Profile Management

Staff profiles include:

  • Username and email
  • Full name and contact information
  • Assigned role and department
  • Account status (active/inactive)
Account Activation

Accounts can be activated or deactivated as needed:

  • New staff accounts created as inactive by default
  • Active accounts can be deactivated for leave or termination
  • Inactive accounts cannot log in
Password Management

Secure password management:

  • Minimum 6 characters
  • Password reset functionality
  • Password change history

🔐 Security Features

The system implements comprehensive security measures to protect sensitive data.

Password Hashing

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 Protection

Session security is implemented through:

  • Session ID regeneration on login/logout
  • Session timeout after 30 minutes of inactivity
  • Session fixation prevention
  • Secure session cookie settings
XSS Prevention

All user outputs are sanitized using htmlspecialchars() to prevent Cross-Site Scripting attacks.

SQL Injection Prevention

All database queries use prepared statements with parameter binding to prevent SQL injection attacks.

File Upload Security

File uploads are secured through multiple layers:

  • Restricted file types (PDF, DOCX, DOC, ZIP only)
  • Maximum file size limit (10MB)
  • Files stored outside the web root directory
  • Randomized filenames to prevent path traversal
  • File content validation (MIME type checking)

Student Portal

Overview

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.

Registration & Login

Self-service account creation for admitted students ensures a smooth onboarding experience.

Matric Number Login

Students use their matriculation number as their username, which is consistent across all university systems and easy to remember.

Self-Registration

Admitted students can create their accounts by providing:

  • Matriculation number (must match admitted students database)
  • Email address (for notifications and password recovery)
  • Password (minimum 6 characters)

The system verifies that the matriculation number exists in the admitted students database before allowing account creation.

Separate Accounts Table

Student accounts are stored in a separate student_accounts table to prevent conflicts with admin user accounts and ensure proper separation of concerns.

Email Verification

(Optional) Email verification can be enabled to ensure valid email addresses are provided during registration.

[Student Login Screenshot]

Figure 4: Student login and registration page with matric number validation

Dashboard

The Student Dashboard provides a personalized overview of all relevant information.

Academic Stats

Quick view of key academic metrics:

  • Number of courses registered
  • Hostel room assignment status
  • Payment history summary
  • Borrowed books count
Recent Announcements

Latest school announcements with visual indicators:

  • Unread announcements highlighted with blue border
  • Announcement type badges (Info, Success, Warning, Error)
  • Publication date and time
  • One-click "Mark Read" functionality
Hostel Status

Current room assignment information:

  • Hostel name and type (male/female)
  • Room number
  • Allocation status (active/inactive)
  • Quick link to hostel details
Quick Actions

One-click access to frequently used features:

  • Timetable
  • Results
  • Hostel Information
  • Library Resources
Upcoming Events

Important dates and deadlines:

  • Semester examinations
  • Hostel inspections
  • Library closures
  • Fee payment deadlines
[Student Dashboard Screenshot]

Figure 5: Student Dashboard with personalized stats and quick actions

Profile Management

Students can view and update their personal information.

Personal Information

Editable personal details:

  • Phone number
  • Address
  • Date of birth
Password Change

Secure password change process:

  • Current password verification required
  • New password minimum 6 characters
  • Password confirmation
Academic Details

Read-only academic information:

  • Department
  • Level
  • Admission date
  • Matriculation number
Contact Information

Primary contact details:

  • Email address (from registration)
  • Phone number (editable)

Timetable

Weekly schedule with detailed room information.

Day-by-Day View

Organized by Monday through Friday with clear time slots:

  • Course code and title
  • Lecture start and end times
  • Room number and building
Room Information

Detailed room assignment information:

  • Room number
  • Hostel name
  • Building location
Today Highlight

Current day's lectures are highlighted with a special indicator to help students stay on track.

Course Details

Complete course information:

  • Course code (e.g., CSC201)
  • Course title (e.g., Introduction to Programming)
  • Credit hours
  • Department offering the course

Results & Transcripts

Comprehensive academic performance tracking.

Grade History

Complete record of all completed courses:

  • Course code and title
  • Score achieved
  • Grade awarded (A, B, C, D, E, F)
  • Credit hours
  • Grade points earned
GPA/CGPA Calculation

Automatic calculation displayed prominently:

  • Semester GPA
  • Cumulative CGPA
  • Total credit hours completed
  • Total grade points earned
PDF Downloads

Official documents available for download:

  • Academic transcripts
  • Statement of results
  • Student ID card
ID Card Access

Digital ID card available for viewing and downloading:

  • Professional design with university branding
  • Student photograph and details
  • Barcode and QR code for verification
  • Print-ready PDF format
Academic Summary

Overall academic performance metrics:

  • Total credit hours completed
  • Cumulative grade point average
  • Academic standing (Good Standing, Probation, etc.)
[Results Page Screenshot]

Figure 6: Results page with CGPA calculation and grade history

Hostel Information

Complete hostel and room details.

Assigned Room

Current room assignment information:

  • Room number
  • Hostel name
  • Building location
  • Allocation date
Maintenance Requests

Submit and track maintenance requests:

  • Description of issue
  • Priority selection (Low, Medium, High)
  • Request submission date
  • Status tracking (Reported, In Progress, Done)
Hostel Type

Clear indication of hostel gender type:

  • Male Hostel
  • Female Hostel
Room Status

Current allocation status:

  • Active (currently allocated)
  • Inactive (not currently allocated)

Library Resources

Access to department-specific learning materials.

Resource Downloads

Downloadable learning materials:

  • PDF lecture notes
  • DOCX assignment guidelines
  • Past examination questions
  • Study guides
Department Filtering

Resources automatically filtered by:

  • Student's department
  • Student's current level
  • General resources (available to all)
Borrowed Books

Currently borrowed physical books:

  • Book title and author
  • Borrow date
  • Due date
  • Return status
Library Contact

Library information and contact details:

  • Opening hours (Monday-Friday, Saturday)
  • Phone number
  • Email address
  • Physical location

Finance

Complete payment history and financial information.

Payment Records

All payments made by the student:

  • Payment date and time
  • Amount paid
  • Payment method (Cash, Bank Transfer, etc.)
  • Fee category (Tuition, Hostel, etc.)
  • Transaction reference
PDF Receipts

Official payment receipts available for download:

  • Professional design with university branding
  • Unique receipt number
  • Authorized signature
  • Print-ready format
Fee Schedule

Current fee structure for the student's program:

  • Tuition fees
  • Hostel fees
  • Acceptance fees
  • Other applicable fees
Payment Summary

Total payments by category:

  • Total tuition fees paid
  • Total hostel fees paid
  • Total other fees paid
  • Grand total paid

Course Allocation

Complete course registration information.

Filtering Options

View courses by different criteria:

  • Academic session (2024/2025, 2025/2026, etc.)
  • Level (100L, 200L, 300L, etc.)
  • Semester (First Semester, Second Semester)
Credit Hours Summary

Total credit hours for selected period:

  • Sum of credit hours for all courses
  • Average credit load per semester
PDF Export

Export course list to PDF:

  • Professional format with university branding
  • Complete course details
  • Student information header
  • Registration confirmation
Course Details

Complete information for each course:

  • Course code
  • Course title
  • Credit hours
  • Department
  • Level
  • Semester
[Course Allocation Screenshot]

Figure 7: Course allocation by semester/session with filtering options

Notifications

Complete announcement management.

Unread Indicators

Clear visual indicators for new announcements:

  • Blue left border for unread announcements
  • "New" badge for unread items
  • Unread count in navigation menu
Mark as Read

Easy announcement management:

  • Mark individual announcements as read
  • Mark all announcements as read
  • Read status persists across sessions
Announcement History

Complete history of all announcements:

  • Chronological listing
  • Announcement type filtering
  • Search by title or content
Priority Levels

Visual distinction by announcement type:

  • Info (blue): General information
  • Success (green): Positive updates
  • Warning (yellow): Important notices
  • Error (red): Critical alerts

ID Cards

Professional student identification system.

Digital ID Card

Access ID card from anywhere:

  • View ID card in browser
  • Download PDF for printing
  • Share digitally with QR code
Security Features

Multiple security measures to prevent forgery:

  • Student photograph
  • Unique matriculation number
  • Barcode for scanning
  • QR code for digital verification
  • University logo and seal
  • Session validity period
Print Ready

Optimized for physical printing:

  • Standard ID card dimensions
  • High-resolution output
  • CMYK color profile for professional printing
  • Bleed and safe zone considerations
Verification

Easy verification by university staff:

  • Scan barcode to verify authenticity
  • Scan QR code to view digital record
  • Check against central database
[ID Card Screenshot]

Figure 8: Professional student ID card with security features and verification codes

Installation Guide

cPanel Installation Guide

This comprehensive guide walks you through installing University Management System on a cPanel hosting environment. Follow each step carefully to ensure successful installation.

Prerequisites

Before beginning the installation, ensure your hosting environment meets the following requirements:

  • Web Server: Apache with mod_rewrite enabled
  • PHP Version: 7.4 or higher
  • PHP Extensions: PDO, OpenSSL, GD Library, ZIP, mbstring
  • MySQL Version: 5.7 or higher
  • Disk Space: Minimum 100MB free space
  • Memory Limit: PHP memory_limit ≥ 128M

Step 1: Prepare Your Files

  1. Download the University Management System package from your purchase email or downloads section
  2. Save the ZIP file to a folder on your computer (e.g., Desktop)
  3. Extract the ZIP file using WinRAR, 7-Zip, or built-in extraction tools
  4. Locate the extracted folder containing all system files
  5. Verify that the following folders exist:
    • super/ - Admin portal files
    • student/ - Student portal files
    • includes/ - Shared include files
    • database/ - Database SQL file
    • uploads/ - File upload directories

Step 2: Connect via FileZilla

  1. Download and install FileZilla FTP client from filezilla-project.org
  2. Open FileZilla and go to File > Site Manager
  3. Click "New Site" and enter a name (e.g., "My University UMS")
  4. Enter your cPanel FTP credentials:
    • Protocol: FTP - File Transfer Protocol
    • Host: Your domain name (e.g., university.edu.ng) or server IP address
    • Port: 21 (default FTP port)
    • Logon Type: Normal
    • User: Your cPanel username (provided by hosting provider)
    • Password: Your cPanel password
  5. Click "Connect" to establish the FTP connection
  6. In the right panel (Remote site), navigate to public_html folder
  7. If you want to install in a subdirectory (e.g., public_html/ums), create the folder first
[FileZilla Connection Settings Screenshot]

Figure 9: FileZilla Site Manager with cPanel FTP settings

Step 3: Upload Files

  1. In the left panel (Local site), navigate to your extracted University Management System folder
  2. Select ALL files and folders inside the main folder (do not upload the parent folder itself)
  3. Drag and drop the selected files into the public_html folder on the right panel
  4. Wait for the upload to complete - this may take several minutes depending on your internet speed
  5. Verify that all files have been uploaded successfully by checking the transfer queue
  6. Common files to verify:
    • index.php (student login page)
    • super/index.php (admin login page)
    • includes/database.php (database configuration)
    • database/university_ums.sql (database file)
[FileZilla Upload Process Screenshot]

Figure 10: Uploading University Management System files via FileZilla

Step 4: Create Database

  1. Log in to your cPanel account using the URL provided by your hosting provider (usually https://yourdomain.com/cpanel)
  2. Scroll down to the "Databases" section and click "MySQL Databases"
  3. Under "Create New Database", enter a descriptive database name (e.g., university_ums)
  4. Click "Create Database" button
  5. Wait for the success message confirming database creation
  6. Note: cPanel will automatically prefix your database name with your cPanel username (e.g., cpaneluser_university_ums)
[cPanel MySQL Databases Screenshot]

Figure 11: Creating a new MySQL database in cPanel

Step 5: Create Database User

  1. In the same "MySQL Databases" page, scroll down to "MySQL Users" section
  2. Enter a username for your database user (e.g., ums_user)
  3. Enter a strong password (use cPanel's password generator for security)
  4. Click "Create User" button
  5. Wait for the success message confirming user creation
  6. Note: cPanel will automatically prefix your username with your cPanel username (e.g., cpaneluser_ums_user)

Step 6: Add User to Database

  1. Scroll down to "Add User to Database" section
  2. Select your newly created user from the first dropdown (e.g., cpaneluser_ums_user)
  3. Select your database from the second dropdown (e.g., cpaneluser_university_ums)
  4. Click "Add" button
  5. On the next screen, check "ALL PRIVILEGES" to give the user full access to the database
  6. Click "Make Changes" button
  7. Wait for the success message confirming user privileges
[cPanel Add User to Database Screenshot]

Figure 12: Adding database user with ALL PRIVILEGES in cPanel

Step 7: Import Database

  1. In cPanel, scroll to the "Databases" section and click "phpMyAdmin"
  2. In phpMyAdmin, select your newly created database from the left sidebar (e.g., cpaneluser_university_ums)
  3. Click the "Import" tab at the top of the page
  4. Click "Choose File" and navigate to your downloaded University Management System package
  5. Select the file database/university_ums.sql
  6. Ensure "Format" is set to "SQL"
  7. Leave other settings as default
  8. Click "Go" button to start the import process
  9. Wait for the success message confirming database import
  10. The database will now contain all tables and sample data required for the system
[phpMyAdmin Import Screenshot]

Figure 13: Importing University Management System database via phpMyAdmin

Step 8: Configure Database Connection

  1. In FileZilla, navigate to public_html/includes/ folder
  2. Right-click on database.php file and select "View/Edit"
  3. Notepad++ or your default text editor will open the file
  4. Update the following values with your actual database credentials:
    • 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)
  5. Save the file and close your text editor
  6. When FileZilla prompts you to upload the changed file back to the server, click "Yes"
  7. Wait for the upload confirmation
[Database Configuration File Screenshot]

Figure 14: Configuring database connection in database.php file

Step 9: Set File Permissions

  1. In FileZilla, navigate to the following directories in your public_html folder
  2. Right-click on each directory and select "File permissions"
  3. Set permissions to 755 for the following directories:
    • uploads/library/
    • uploads/students/
    • receipts/
  4. Ensure "Recurse into subdirectories" is checked if available
  5. Click "OK" to apply the permission changes
  6. These permissions allow the system to write files (uploads, receipts) while maintaining security
[File Permissions Screenshot]

Figure 15: Setting directory permissions to 755 in FileZilla

Step 10: Test Your Installation

  1. Open your web browser and navigate to your domain:
    • Student Portal: https://yourdomain.com/
    • Admin Portal: https://yourdomain.com/super/
  2. You should see the login pages for both portals
  3. Test the default admin login:
    • Username: admin
    • Password: admin123
  4. If you can log in successfully, your installation is complete!
  5. If you encounter errors, check the troubleshooting section below

Default Credentials

The 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.

cPanel Specific Considerations

Some cPanel hosting providers have additional security measures that may affect installation:

  • ModSecurity: May block certain form submissions. If you encounter unexpected errors, contact your hosting provider to whitelist your domain.
  • PHP Settings: Some hosts disable certain PHP functions. Ensure exec, system, and shell_exec are not disabled if you plan to use PDF generation features.
  • Memory Limits: Large file uploads or PDF generation may require increased memory. Contact your host to increase memory_limit to 256M if needed.
  • File Size Limits: Check upload_max_filesize and post_max_size in PHP settings if you encounter upload issues.

Database Structure

Core Tables

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

Entity Relationship Diagram

The database follows a normalized structure with proper foreign key relationships to maintain data integrity.

[Database ERD Screenshot]

Figure 16: Complete database schema relationships with foreign key constraints

Database Indexes

Performance-critical columns are indexed for fast query execution:

  • students.matric_no - Primary key for student identification
  • students.department_id - Index for department-based queries
  • courses.department_id - Index for course department filtering
  • payments.student_id - Index for student payment history
  • room_allocations.student_id - Index for student room assignments
  • announcements.created_at - Index for announcement sorting

Sample Data

The included university_ums.sql file contains sample data to demonstrate system functionality:

  • 1 Super Admin user
  • 5 Department records (Computer Science, Engineering, etc.)
  • 10 Sample student records
  • 20 Course records across different levels
  • 2 Hostel records (Male and Female)
  • 10 Room records
  • 5 Sample book records with PDF resources
  • 10 Payment records
  • 5 Sample announcements

This sample data allows you to test all system features immediately after installation.

Customization Guide

Changing Colors

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.

Adding New Modules

To add new functionality to the system, follow this structured approach:

  1. Create Database Table: Design your table structure following existing patterns with proper foreign keys and indexes
  2. Create Directory: Create a new directory in super/ (e.g., research/) for your module
  3. Add Menu Item: Edit includes/sidebar.php to add a navigation link to your new module
  4. Implement CRUD Operations: Create files for Create, Read, Update, Delete operations following existing code patterns
  5. Add Role Permissions: Update role-based access control in your module files
  6. Style Consistently: Use the existing CSS classes and Android 15 design patterns

Language Support

To add multi-language support to the system:

  1. Create a lang/ directory in the root folder
  2. Create language files (e.g., lang/en.php, lang/fr.php)
  3. Define language arrays in each file: <?php
    // lang/fr.php
    $lang = [
      'dashboard' => 'Tableau de bord',
      'students' => 'Étudiants',
      'courses' => 'Cours'
    ];
    ?>
  4. Include the language file in your pages: <?php
    $language = $_SESSION['language'] ?? 'en';
    require_once "lang/{$language}.php";
    ?>
  5. Replace static text with language variables: <h2><?= $lang['dashboard'] ?></h2>
  6. Add a language switcher in the navbar

Branding

Customize the system to match your university's branding:

  • Logo Replacement: Replace images/logo.png with your university logo (PNG format, transparent background recommended)
  • University Name: Update university name in includes/sidebar.php and dashboard headers
  • Color Scheme: Update CSS variables to match your university colors
  • Contact Information: Update contact details in footer and support pages
  • Domain Configuration: Update any hardcoded URLs to match your domain

ID Card Customization

Customize student ID cards to match your university's design standards:

  1. Edit transcripts/id-card-template.php
  2. Replace university logo placeholder with your actual logo
  3. Adjust layout, colors, and information fields as needed
  4. Add university motto or additional security features
  5. Modify barcode and QR code placement
  6. Adjust dimensions for your ID card stock size

The ID card template uses TCPDF for PDF generation, so you can leverage all TCPDF features for advanced customization.

PDF Template Customization

Customize all PDF documents (receipts, transcripts, admission letters):

  • Receipt Templates: Edit receipts/receipt-template.php
  • Transcript Templates: Edit transcripts/transcript-template.php
  • Admission Letter Templates: Edit admissions/admission-letter-template.php
  • Course Registration Templates: Edit courses/course-registration-template.php

All templates use TCPDF with HTML/CSS support, allowing for professional document design.

Email Template Customization

Customize email notifications sent by the system:

  • Create an emails/ directory
  • Create HTML email templates (e.g., admission-approved.html)
  • Use your university's email branding
  • Include dynamic placeholders for student information
  • Update email sending functions to use your templates

Security Features

Implemented Protections

The University Management System implements comprehensive security measures to protect sensitive student and university data.

Password Hashing

All passwords are stored using PHP's password_hash() function with the PASSWORD_DEFAULT algorithm:

  • Currently uses bcrypt with cost factor 10
  • Automatically upgrades to stronger algorithms as they become available
  • Password verification uses password_verify() for secure comparison
  • Minimum password length of 6 characters enforced
// Password hashing during registration
$hashed_password = password_hash($password, PASSWORD_DEFAULT);

// Password verification during login
if (password_verify($password, $hashed_password)) {
  // Password is correct
}

SQL Injection Prevention

All database queries use prepared statements with parameter binding:

  • No direct user input in SQL queries
  • Parameter binding separates data from SQL commands
  • Works with both MySQLi and PDO
  • Prevents all forms of SQL injection attacks
// Secure database query with prepared statement
$stmt = $pdo->prepare("SELECT * FROM students WHERE matric_no = ?");
$stmt->execute([$matric_no]);
$student = $stmt->fetch();

XSS Prevention

All user outputs are sanitized using htmlspecialchars():

  • Converts special characters to HTML entities
  • Prevents script injection in output
  • Applied to all user-generated content
  • Double encoding prevention
// Safe output of user data
echo htmlspecialchars($user_input, ENT_QUOTES, 'UTF-8');

Session Security

Session management follows security best practices:

  • Session ID regeneration on login/logout to prevent fixation
  • Session timeout after 30 minutes of inactivity
  • Secure session cookie settings (HttpOnly, Secure when HTTPS)
  • Session data cleared on logout
  • IP address validation (optional enhancement)
// Regenerate session ID on login
session_regenerate_id(true);

// Clear session on logout
$_SESSION = array();
session_destroy();

File Upload Security

File uploads are secured through multiple validation layers:

  • File Type Validation: Only PDF, DOCX, DOC, ZIP files allowed
  • File Size Limits: Maximum 10MB per file
  • Storage Location: Files stored outside web root directory
  • Filename Randomization: Original filenames replaced with random strings
  • MIME Type Validation: File content validated against declared type
  • Extension Validation: Double extension prevention
// 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)");
}

Role-Based Access Control

Strict permission checks on every admin page:

  • Each page verifies user role before allowing access
  • Super Admin has full access
  • Module-specific roles have limited access
  • Unauthorized access attempts are logged
  • Session validation on every request
// Role verification at top of admin pages
if (!isset($_SESSION['logged_in']) || $_SESSION['role'] !== 'super_admin') {
  header('Location: ../index.php?error=Access denied.');
  exit;
}

CSRF Protection

Form submissions are protected against Cross-Site Request Forgery:

  • Action tokens validate form submissions
  • Tokens regenerated on each form display
  • Token validation before processing
  • Prevents unauthorized form submissions

Recommended Server Hardening

Additional security measures to implement at the server level:

HTTPS Implementation

  • Install SSL certificate (Let's Encrypt is free)
  • Force HTTPS redirection in .htaccess
  • Update all internal links to use HTTPS
  • Set secure cookie flags
# .htaccess HTTPS redirect
RewriteEngine On
RewriteCond %{HTTPS} off
RewriteRule ^(.*)$ https://%{HTTP_HOST}%{REQUEST_URI} [L,R=301]

PHP Security Settings

  • Set display_errors = Off in php.ini
  • Set log_errors = On
  • Disable dangerous functions: exec, system, shell_exec, passthru
  • Set session.cookie_httponly = 1
  • Set session.cookie_secure = 1 (when using HTTPS)

File Permissions

  • Directories: 755 (rwxr-xr-x)
  • Files: 644 (rw-r--r--)
  • Writable directories: 755 (uploads, receipts)
  • Configuration files: 600 (rw-------) for sensitive files

Regular Updates

  • Keep PHP version updated to latest stable release
  • Keep MySQL/MariaDB updated
  • Monitor for security vulnerabilities in dependencies
  • Apply security patches promptly

Backup Strategy

  • Automated daily database backups
  • Weekly full file backups
  • Off-site backup storage
  • Regular backup restoration testing

Troubleshooting

Common Issues

This section covers common installation and usage issues with their solutions.

  • Confirm uploads/ permissions (755)
  • Check PHP upload_max_filesize and post_max_size
  • Verify disk space availability
  • Check file type restrictions
  • 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

    Debug Mode

    Enable debug mode to get detailed error messages instead of generic ones.

    1. Open includes/database.php
    2. Find the line: private $debug = false;
    3. Change it to: private $debug = true;
    4. Save the file

    This will display detailed error messages including SQL queries and stack traces, which is helpful for development but should be disabled in production.

    cPanel Specific Issues

    Common issues specific to cPanel hosting environments:

    Database Connection Failed

    cPanel automatically prefixes database names and usernames with your cPanel username. For example:

    • You create database: university_ums
    • cPanel stores it as: cpaneluser_university_ums
    • You must use the full prefixed name in database.php

    File Permission Errors

    Some cPanel hosts have strict file permission policies. If FileZilla fails to set permissions:

    1. Log in to cPanel
    2. Go to "File Manager"
    3. Navigate to your University Management System directory
    4. Right-click on the problematic directory
    5. Select "Change Permissions"
    6. Set to 755 and click "Change Permissions"

    mod_rewrite Issues

    If clean URLs aren't working:

    1. In cPanel, go to "Apache Handlers"
    2. Ensure that .htaccess files are enabled
    3. If you don't see .htaccess in the list, contact your hosting provider
    4. Verify that the .htaccess file was uploaded correctly

    Memory Limit Errors

    PDF generation and large file uploads may require more memory:

    1. In cPanel, go to "Select PHP Version"
    2. Click "Switch To PHP Options"
    3. Find "memory_limit" and increase it to 256M
    4. Click "Apply"

    Browser-Specific Issues

    Some issues may be browser-specific:

    • Chrome/Firefox: Generally work well with modern JavaScript
    • Safari: May have issues with some CSS properties; test thoroughly
    • Internet Explorer: Not supported; requires Edge or modern browser
    • Mobile Browsers: Fully responsive but test on actual devices

    If you encounter display issues, try clearing your browser cache or testing in an incognito/private window.

    Support

    Getting Help

    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.

    Contact Methods

    What’s Included in Support

    Our free support includes assistance with:

    • Bug Fixes: Resolution of bugs in the core functionality as documented
    • Installation Assistance: Help with installation on standard hosting environments (cPanel, Plesk)
    • Minor Customization Guidance: Advice on customizing within the existing framework
    • Documentation Clarifications: Explanation of features and usage instructions
    • cPanel Installation Troubleshooting: Specific help with cPanel hosting issues
    • Database Setup Assistance: Help with database creation and import

    What’s Not Included

    The following services are not included in free support and may require paid customization:

    • Major Feature Additions: Development of new modules or significant functionality
    • Third-Party Plugin Integration: Integration with external services or APIs
    • Server Environment Configuration: Server setup, optimization, or security hardening
    • Custom Design Work: Extensive UI modifications or custom theme development
    • Content Creation: Data entry, student record migration, or content population
    • Mobile App Development: Native mobile application development
    • Extended Support: Support beyond the 6-month period

    Before Contacting Support

    To ensure we can help you efficiently, please complete the following steps before submitting a support request:

    1. Read Documentation: Thoroughly review this entire documentation
    2. Check Error Logs: Review your server error logs for specific error messages
    3. Verify Requirements: Ensure your hosting meets minimum system requirements
    4. Test Default Settings: Reproduce the issue with unmodified files
    5. Clear Cache: Clear browser cache and any server-side caching
    6. Provide Details: Include error messages, screenshots, and steps to reproduce

    Support Response Time

    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.

    Extended Support Options

    After the initial 6-month period, extended support is available through our premium support plans:

    • Basic Plan: $29/month - Email support, bug fixes, minor updates
    • Professional Plan: $79/month - Priority support, customization assistance, monthly updates
    • Enterprise Plan: $199/month - Dedicated support, custom development, SLA guarantees

    Contact us for more information about extended support options.

    Community Resources

    In addition to direct support, we provide community resources:

    • Knowledge Base: Extensive documentation and tutorials
    • Video Guides: Step-by-step installation and usage videos
    • Community Forum: Peer-to-peer support and discussions
    • Regular Updates: Feature enhancements and security patches