Skip to content

Latest commit

Β 

History

History
64 lines (50 loc) Β· 2.84 KB

File metadata and controls

64 lines (50 loc) Β· 2.84 KB

πŸ“š School Management System (PHP & MySQL)

This project is a comprehensive School Management System built with PHP, MySQL, and Bootstrap.
It’s designed to simplify day-to-day school operations like student registration, class management, teacher-subject assignments, term fees, and more β€” all from an easy-to-use admin dashboard.

✨ Project Overview

This is my first fully-featured complex PHP project, moving beyond simple CRUD apps to include:

  • Dynamic relationships between tables (students, classes, streams, subjects, teachers).
  • Real-time filters and dropdowns using AJAX.
  • Validation and duplicate checks to prevent data errors.
  • Clean UI with Toastr notifications for feedback.

πŸ› οΈ Admin Features

πŸ‘©β€πŸŽ“ Student Management

  • Add, edit, delete students with profile pictures.
  • View students table with instant filtering by class & stream.
  • Download student lists as CSV/Excel directly from the dashboard.

πŸ“š Class & Stream Management

  • Manage classes and streams.
  • Each class can have multiple streams linked dynamically.

πŸ§‘β€πŸ« Teacher-Subject Assignments

  • Assign teachers to classes, streams, and subjects.
  • Store teacher initials to display on report cards.
  • Prevent duplicate assignments with smart validation.
  • Edit or delete assignments when changes occur.

πŸ“ Subject & Curriculum Management

  • Assign subjects to classes (curriculum mapping).
  • Dynamically load only relevant subjects per class in forms.

πŸ’° Fees Management

  • Enter termly fees for each class (day & boarding).
  • Auto-check for existing class/term/year combinations:
    • Updates if found βœ…
    • Inserts if not found βž•
  • Allows future updates without losing history.

πŸ“Š Dashboard Analytics

  • Display total students, teachers, gender breakdown (male/female).
  • Dynamic graph showing students per class.

⏳ Term Management

  • Manage school terms and academic years.
  • Automatically link term info to fees and reporting.

πŸš€ What Makes It Unique

  • AJAX-powered dropdowns for real-time filtering (e.g., streams load only when class is selected).
  • Dynamic report generation with correct teacher initials per subject.
  • Data integrity first: prevents duplicate entries and keeps term history intact.
  • User-friendly feedback: Toastr alerts for success, errors, and warnings.
  • Scalable design: easy to extend with new modules (like exams, grading, or timetables).

πŸ–₯️ Tech Stack

  • Backend: PHP 8.x, MySQL
  • Frontend: Bootstrap 5, jQuery, AJAX
  • Extras: DataTables for filtering & exporting, Toastr for notifications

πŸ™Œ Author

Developed by katojkalemba β€” this project pushed my PHP skills to a new level, from basic CRUD to building a full, multi-table, interactive school system.
More features & improvements coming soon πŸš€