Skip to content

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Latest commit

Β 

History

8 Commits

Folders and files

Repository files navigation

πŸŽ“ FAST University β€” Academic Management System

A comprehensive, full-stack university management system built with PHP 8+, MySQL, and Tailwind CSS. Designed with role-based access control for administrators, instructors, students, and parents to manage academic activities end-to-end.

Course Project β€” Database Systems (FAST NUCES)


πŸ“‘ Table of Contents


✨ Features

1. Student Management

  • Add / edit / delete student profiles with full personal details
  • Store name, DOB, B-Form/CNIC, parent info, contact, address
  • Admission year, class, section assignment
  • Student status tracking (active, transferred, left)
  • Unique roll number generation per batch
  • Batch/year tagging for cohort management

2. Teacher (Instructor) Management

  • Add / edit / delete instructor profiles
  • Assign subjects, departments, and classes
  • Contact and employment information (qualification, specialization, hire date)
  • Designation tracking (Subject Teacher, Class Incharge, etc.)
  • Instructor login for result entry and class management

3. Parents Portal

  • Secure parent login with child-specific access
  • View child's profile, class, section, and assigned subjects
  • Access term-wise results with subject-wise marks, grades, and remarks
  • Attendance summary and exam schedules
  • Fee challan generation and payment status tracking
  • Multiple children under one parent account via parent_student_link

4. Class & Section Management

  • Create and manage classes (e.g., BSCS-1, BSCS-2, etc.)
  • Assign sections (A, B, C) with capacity management
  • Assign instructors to class sections
  • Room allocation and scheduling

5. Course/Subject Management

  • Add and manage courses with department assignment
  • Credit hours and fee configuration per course
  • Mark as compulsory or elective
  • Assign instructors to courses and classes
  • Prerequisite tracking

6. Term & Exam Management

  • Define exam types: quiz, midterm, final, assignment, project
  • Set total marks and passing marks per exam
  • Schedule exam dates with time slots and room assignment
  • Exam status tracking: scheduled β†’ ongoing β†’ completed β†’ cancelled
  • Lock/unlock exams for result entry

7. Student-Course Mapping (Enrollment)

  • Enroll students in class sections
  • Track enrollment status: enrolled, dropped, completed
  • Auto-link students to courses based on class enrollment
  • Teachers see only their assigned subjects/students

8. Marks & Result Management

  • Teachers enter marks per subject per student
  • Auto-calculate percentage and grade
  • Generate results per student, class, or subject
  • Store historical results term-wise and year-wise
  • Admin moderation and entered-by tracking

9. Grading & Evaluation Settings

  • Configurable grading criteria (A+ = 95%+, A = 90%+, etc.)
  • Pass/fail thresholds per subject
  • Remarks section per subject or overall
  • Pre-seeded grading scale in database

10. Reporting & Analytics

  • Admin dashboard with system-wide KPIs
  • Class-wise and subject-wise result summaries
  • Student performance trends across terms
  • Attendance analytics
  • Fee collection and overdue reports

11. Attendance Module

  • Daily attendance tracking per class section
  • Status options: present, absent, late, excused
  • Instructor-marked with audit trail (marked_by)
  • Unique constraint per student/class/date

12. Fee & Payment Management

  • Fee types: tuition, exam, library, lab, transport, other
  • Payment tracking with due date management
  • Fee status: pending, paid, overdue, waived
  • Semester-wise fee assignment

13. Notifications

  • System notifications for all user roles
  • Types: info, warning, success, error
  • Read/unread status tracking

14. Audit & Security

  • Session-based authentication with role validation
  • Password hashing with bcrypt
  • Role-based access control on every page
  • Database-level referential integrity with foreign keys
  • Indexed tables for query performance

πŸ” User Roles & Permissions

Role Access Level
Admin Full system access β€” manage users, courses, classes, enrollments, exams, results, fees, reports
Instructor View assigned classes, enter results, manage assignments, mark attendance, instructor dashboard
Student View own profile, enrolled courses, results, attendance, fee status, student dashboard
Parent Monitor child's academic progress, attendance, fees, notifications via parent dashboard

πŸ›  Tech Stack

Layer Technology
Backend PHP 8.0+
Database MySQL 5.7+ / 8.0+
Frontend HTML5, Tailwind CSS (CDN), JavaScript
Icons Google Material Symbols
Server Apache (XAMPP / WAMP / LAMP)
Architecture MVC-inspired with role-based access control

πŸ—„ Database Schema

Core Tables (16 tables)

Table Purpose
users Authentication and role management
students Student profiles with academic details
instructors Faculty profiles with qualifications
parents Parent/guardian profiles
parent_student_link M:N relationship between parents and students
courses Course catalog with credits and fees
classes Course sections with scheduling
student_class_enrollment Student enrollment in class sections
exams Exam scheduling and configuration
exam_results Student marks and grades per exam
assignments Class assignments with due dates
attendance Daily attendance records
fees Fee records per student per semester
payments Payment transactions against fees
notifications System messages for all users

Key Design Decisions

  • 3NF Normalized β€” No transitive dependencies
  • Referential Integrity β€” CASCADE/SET NULL on all foreign keys
  • Performance Indexed β€” Indexes on email, department, status, dates, and foreign keys
  • Audit Ready β€” entered_by tracking on results, marked_by on attendance

See ERD.md for the full Entity Relationship Diagram.


πŸ“ Project Structure

β”œβ”€β”€ .gitignore
β”œβ”€β”€ README.md
β”œβ”€β”€ ERD.md                          # Entity Relationship Diagram (Mermaid)
β”œβ”€β”€ database_schema.sql             # Complete schema + sample data
β”œβ”€β”€ setup.php                       # Browser-based DB setup utility
β”œβ”€β”€ index.php                       # Admin dashboard (entry point)
β”œβ”€β”€ assets/
β”‚   └── images/
β”‚       β”œβ”€β”€ logo.png                # University logo
β”‚       β”œβ”€β”€ campus1.jpg             # Login page background
β”‚       └── campus2.jpg             # Login page background
β”œβ”€β”€ auth/
β”‚   β”œβ”€β”€ login.php                   # Multi-role authentication
β”‚   └── logout.php                  # Session cleanup
β”œβ”€β”€ includes/
β”‚   β”œβ”€β”€ config.php                  # Session helpers & role checks
β”‚   β”œβ”€β”€ db.php                      # PDO database connection
β”‚   β”œβ”€β”€ header.php                  # HTML head + top navigation
β”‚   β”œβ”€β”€ sidebar.php                 # Role-aware sidebar navigation
β”‚   └── footer.php                  # Page footer
└── pages/
    β”œβ”€β”€ students.php                # Student CRUD management
    β”œβ”€β”€ instructors.php             # Instructor CRUD management
    β”œβ”€β”€ courses.php                 # Course CRUD management
    β”œβ”€β”€ classes.php                 # Class/section management
    β”œβ”€β”€ enrollments.php             # Student enrollment management
    β”œβ”€β”€ exams.php                   # Exam scheduling & results
    β”œβ”€β”€ reports.php                 # Analytics & reporting
    β”œβ”€β”€ instructor_dashboard.php    # Instructor portal
    β”œβ”€β”€ student_dashboard.php       # Student portal
    └── parent_dashboard.php        # Parent portal

πŸš€ Installation

Prerequisites

  • PHP 8.0+
  • MySQL 5.7+
  • Apache web server (XAMPP recommended for local dev)

Setup Steps

  1. Clone the repository

    git clone https://github.com/Mafnan12/-Academic-Management-System.git
    cd -Academic-Management-System
  2. Deploy to web server Copy the project to your Apache document root:

    # XAMPP (Windows)
    cp -r . C:/xampp/htdocs/fast_sms/
    
    # Or create a symlink
  3. Configure database connection Create includes/db.php with your credentials:

    <?php
    $host = 'localhost';
    $dbname = 'fast_university_management';
    $user = 'root';
    $pass = '';
    
    try {
        $pdo = new PDO("mysql:host=$host;dbname=$dbname;charset=utf8mb4", $user, $pass);
        $pdo->setAttribute(PDO::ATTR_ERRMODE, PDO::ERRMODE_EXCEPTION);
        $pdo->setAttribute(PDO::ATTR_DEFAULT_FETCH_MODE, PDO::FETCH_ASSOC);
    } catch (PDOException $e) {
        die("Connection failed: " . $e->getMessage());
    }
    ?>
  4. Initialize the database

    Option A β€” Browser setup (recommended):

    http://localhost/fast_sms/setup.php
    

    Option B β€” Direct SQL import:

    mysql -u root -p < database_schema.sql
  5. Login

    http://localhost/fast_sms/auth/login.php
    

πŸ”‘ Default Credentials

Role Username Password
Admin admin password123
Instructor instructor1 password123
Student student1 password123
Parent parent1 password123

⚠️ Change default passwords immediately in a production environment.


πŸ“Έ Screenshots

Screenshots of the login page, admin dashboard, student management, and result entry are available in the application itself. Run locally to preview.


πŸ“Š ERD

The full Entity Relationship Diagram is documented in ERD.md using Mermaid syntax, covering all 16 tables with their relationships, data types, and constraints.


πŸ‘¨β€πŸ’» Author

Muhammad Afnan β€” FAST NUCES


πŸ“„ License

This project is open source and available under the MIT License.

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages