Wednesday, 8 July 2026

Build a School Management System in Laravel 13 | Filament + Tailwind CSS + Source Code

Build a School Management System in Laravel 13 | Filament + Tailwind CSS + Source Code

Introduction


Building a real-world web application from scratch is one of the fastest ways to level up as a Laravel developer. And nothing tests your skills across the full stack quite like a School Management System — a project that touches authentication, role-based access control, relational databases, PDF generation, file uploads, dashboards, and complex business logic all at once.

In this tutorial series, we build a complete School Management System (SMS) using Laravel 13, Filament 3, and Tailwind CSS — a modern, professional-grade tech stack used by thousands of production applications worldwide. Whether you are a student working on a college project, a freelancer building a portfolio, or a Laravel developer looking to master Filament, this project delivers everything you need.

The full source code is available — check the YouTube video description for the download link, and follow along with the video tutorial for a step-by-step walkthrough of every module.


What Is a School Management System?


A School Management System (SMS) — also called School ERP Software — is a web-based platform that digitises every administrative and academic operation of a school. From student admissions and attendance tracking to fee collection, examination results, timetable scheduling, library management, and payroll, a modern School ERP replaces paper registers and disconnected spreadsheets with a single, unified system.

This project covers a single-school deployment — the most common requirement for freelance projects and college submissions — but the architecture is clean enough to scale to multi-branch or SaaS use cases with minimal refactoring.

Who Is This Project For?


Audience How It Helps
Laravel beginners Real-world project covering CRUD, relationships, auth, and policies
Filament learners Complete Filament 3 resource, widget, and custom page examples
College students Full-featured PHP project for final year submission
Freelancers Ready-to-customise School ERP for client delivery
Portfolio builders Impressive, production-quality project to showcase
School administrators Deployable system for actual school operations

Project Overview


This Laravel School Management System is a multi-role, multi-module web application that manages the complete lifecycle of a school — from the moment a parent submits an enquiry to the day a student graduates.

The system is designed around the concept of Academic Year Scoping: every piece of transactional data (enrolments, attendance, marks, fees, timetables) is tied to an academic year. This makes historical reporting clean, year-end transitions smooth, and data integrity rock-solid.





Key highlights of this Laravel project:

  • 22+ fully functional modules covering every department of a school
  • 8 user roles with granular, permission-based access control
  • Filament 3 admin panel with a beautiful, responsive UI out of the box
  • Mobile-first design using Tailwind CSS — works perfectly on phones and tablets
  • PDF generation for report cards, fee receipts, certificates, and more
  • Excel import/export for bulk data operations
  • Role-based analytics dashboards — every role sees data relevant to their work
  • SMS and email notification hooks for absences, fee dues, and exam results
  • Full source code available — link in the YouTube video description

Modules Included in the System


1. Academic Year Management


The backbone of the entire system. Administrators create and manage academic years, define terms and semesters, and control year transitions. Only one year can be active at a time. Locking a past year makes it permanently read-only, protecting historical data from accidental edits.

Key features:

  • Create, edit, and delete academic years
  • Define terms (e.g., Term 1, Term 2, Term 3) per year
  • Activate a new year with a single click
  • Lock completed years to prevent data tampering
  • View a banner on every screen showing the current active year

2. Dashboard (Role-Specific Analytics)


Every user role gets a personalised dashboard packed with real-time KPI cards, charts, and alerts. No two roles see the same screen — the dashboard adapts to show exactly what each user needs.

  • Super Admin: Total students, staff, today's fee collection, pending admissions, monthly trends
  • Principal: Academic performance, class-wise attendance, discipline alerts
  • Teacher: Today's timetable, attendance status, pending homework, low-attendance students
  • Accountant: Collection vs target charts, dues aging, payment mode breakdown
  • Student: Attendance %, upcoming exams, fee dues, subject radar chart
  • Parent: Child's performance, fee timeline, absence alerts
  • Librarian: Books issued/returned today, overdue count, top borrowed books
  • Receptionist: Admission funnel, new enquiries, follow-up reminders

Charts are powered by ApexCharts via Filament's widget system. All KPI widgets are cached and update in real time for critical roles like Accountant.

3. Student Management


A permanent student profile system that stores identity data independently of academic year data.

  • Permanent profile: Name, date of birth, gender, blood group, religion, address, photo
  • Guardian management: Multiple guardians per student with relationship, phone, email, occupation
  • Document vault: Upload and categorise birth certificates, transfer certificates, medical documents
  • Student ID card: PDF generation with photo, class, section, and barcode
  • Search and filter: By class, section, status, admission year

4. Admissions Management


A three-stage admission pipeline that tracks every prospect from first contact to enrolled student.

Stage 1 — Enquiry: Parent name, phone, child name, date of birth, class applying for, source (walk-in, website, referral, phone, social media)

Stage 2 — Application: Full student details, document uploads, application review

Stage 3 — Enrolment: Admission number assigned, fee structure presented, first payment collected, student user account created

Status tracking: Enquiry → Application Received → Under Review → Approved → Enrolled → Rejected

5. Student Promotion & Transfer Engine


One of the most complex modules in any School ERP — handled elegantly with a multi-step Promotion Wizard.

Promotion Wizard steps:

  1. Select source year and target year
  2. Run automatic eligibility check per student (attendance %, failed subjects, fee dues)
  3. Review eligibility table — override individual students with a reason
  4. Confirmation screen with promoted/detained/TC/left counts
  5. Execute bulk promotion in a single DB transaction

Lateral Transfer: Mid-year class/section changes are fully supported. The old enrolment is end-dated and a new one created from the transfer date.

6. Attendance Management


Daily and period-wise attendance for every class.

  • Daily attendance: Class teacher marks Present / Absent / Late / On Leave per student
  • Period-wise attendance: Subject teachers mark attendance per period
  • Leave applications: Students/parents apply → class teacher approves
  • Holiday master: Define school holidays — excluded from attendance denominator automatically
  • Low attendance alerts: Students below threshold flagged on teacher and principal dashboards
  • SMS trigger: Queued job sends an SMS to the parent when a student is marked absent
  • Monthly report: Download class attendance report as PDF or Excel

7. Timetable Management


A visual timetable builder with automatic conflict detection.

  • Period master: Define period slots school-wide
  • Timetable builder: Assign subject + teacher to each period per day per class-section
  • Conflict detection: Prevents double-booking a teacher for two classes at the same time
  • Class view: Day-vs-period grid for any class
  • Teacher view: A teacher's complete weekly schedule across all their classes
  • Student view: Read-only timetable in the student portal

8. Fee Management


A complete billing and collection system for school fees.

  • Fee heads: Permanent categories (Tuition, Lab, Transport, Activity, Hostel)
  • Fee structures: Amounts per class per academic year
  • Bulk invoice generation: Generate all invoices for a class in one click
  • Concessions/Scholarships: Fixed or percentage discount per student per fee head
  • Payments: Record cash, UPI, cheque, online — partial payments supported
  • Late fine: Auto-calculated based on configurable grace days and fine-per-day rate
  • Fee receipt PDF: Professional receipt with school logo, student name, payment details
  • Defaulters report: Exportable list of overdue invoices with parent contact details
  • Dues aging: Categorised into 0–30, 31–60, and 60+ days overdue

9. Examinations & Grades


From scheduling exams to publishing report cards.

  • Exam types: Unit Test 1, Mid-term, Final — defined per academic year
  • Exam schedules: Date, subject, class, max marks, pass marks per exam
  • Mark entry: Spreadsheet-style grid — teachers enter marks per student in one screen
  • Bulk import: Upload marks via Excel template
  • Auto grading: Grades calculated automatically from configurable grade scales
  • Rank calculation: Student rank within class computed per exam
  • Co-scholastic grades: Sports, arts, behaviour — graded by letter, not marks
  • Report card PDF: Professional A4 report card with marks table, grades, rank, and attendance %
  • Publish action: Locks marks and sends notifications to students and parents

10. Student History Ledger


A consolidated, read-only view of a student's complete academic journey across all years.

  • Year-by-year card: class, section, attendance %, overall marks %, promotion outcome
  • Expandable year cards showing exam results and fee summary
  • Performance vs last year comparison chart
  • Available to Super Admin, Principal, and the student themselves

11. Communication & Notices


School-wide and targeted communication tools.

  • Notices: Post announcements targeted to all, a specific role group, a class, or a section
  • Priority levels: Normal or Urgent
  • SMS integration: Send bulk SMS to parents via MSG91 or Twilio
  • Email notifications: Laravel Mail for fee reminders, result publications, event notices
  • In-app notifications: Filament notification system for real-time alerts

12. Homework & Assignments


  • Teachers create homework per class-section-subject with due dates and file attachments
  • System auto-creates pending submission rows for every enrolled student
  • Students submit via the student portal (text + file upload)
  • Teachers grade submissions in a spreadsheet-style grid
  • Submission status: Pending / Submitted / Graded

13. Certificates & Documents


  • Bonafide Certificate: Confirms student is enrolled at the school
  • Transfer Certificate (TC): Issued when a student leaves
  • Conduct Certificate: Character reference for a student
  • Issuance log with date, issued by, and purpose

14. HR & Staff Management


  • Staff permanent profiles: designation, department, joining date, qualifications
  • Leave types and leave balance management
  • Leave application and approval workflow
  • Experience letter generation

15. Payroll & Expenses


  • Salary structures with allowances and deductions
  • Monthly salary disbursements with slip generation
  • Expense heads and voucher recording
  • Salary register Excel export

16. Library Management


  • Book catalogue: Categories, books, multiple copies per book, shelf location
  • Memberships: Year-scoped membership for students and staff
  • Issue & Return: Lock-safe issue preventing over-issue
  • Reservations: Reserve a book when all copies are on loan
  • Fines: Per-day fine calculated on return
  • Reports: Overdue list, inventory, popular books, fine collection

17. Transport Management


  • Route master with start/end points and stops
  • Vehicle master (number, capacity, driver)
  • Student transport allocations per year
  • Route-wise student list for drivers

18. Hostel Management


  • Block and room master (room number, type, capacity)
  • Student hostel allocations per year
  • Room occupancy tracking

19. Health & Medical


  • Permanent student health record: allergies, medical conditions, blood group
  • Sick visit log: date, symptoms, diagnosis, treatment, follow-up
  • Vaccination records with due-date reminders

20. Discipline & Awards


  • Incident types with configurable point deductions
  • Discipline incident logging with action taken and approval workflow
  • Award types with point additions
  • Student conduct score calculated automatically
  • Co-curricular activity tracking (sports, arts, clubs)

21. Events, Gallery & Calendar


  • School event creation with organiser, dates, description, publish control
  • Photo gallery per event (multi-photo upload)
  • Visual calendar view showing events and holidays
  • Student portal events page

22. Reports & Analytics


  • Financial Report: Date-range fee collection with Excel + PDF export
  • Academic Report: Class-wise result analysis, subject performance
  • Attendance Report: Monthly class attendance, low-attendance student list
  • Library Report: Overdue books, inventory, popular books
  • Admissions Report: Enquiry register, conversion funnel, seat availability

System Users and Role-Based Access


This School Management System implements 8 user roles using Spatie Laravel Permission — the most popular role and permission package in the Laravel ecosystem.

Super Admin


The highest privilege level. Super Admin bypasses all permission checks — no individual permission assignments needed.

  • Full access to every module without restriction
  • Academic year management: create, activate, lock years
  • User and role management: create staff accounts, assign roles
  • Run the Student Promotion Engine at year end
  • View all analytics and generate all reports

Principal


School-level oversight with read-heavy, approval-heavy access.

  • Approve discipline incidents and staff leave applications
  • Publish exam results
  • View all class and subject performance reports
  • Post school-wide notices
  • Generate academic report cards

Teacher


Scoped strictly to their own assigned classes and subjects.

  • Mark daily attendance for their class
  • Enter marks for their assigned subjects
  • Create and grade homework assignments
  • Log discipline incidents for their students
  • View their own class performance analytics
  • Cannot view other classes' data — hard-scoped in the backend

Student


Read-only access to their own academic data via a dedicated student portal (/student).

  • View and download report cards (PDF)
  • Download fee receipts (PDF)
  • Submit homework assignments (file + text)
  • Apply for leave
  • Request attendance or bonafide certificate

Parent


Mirror of the Student role — same data, parent's perspective. Supports multiple children via a child-selector tab.

  • Switch between multiple children instantly
  • View child's attendance, marks, fee status
  • Receive SMS/email alerts for absences, fee dues, exam results

Accountant


Full access to financial modules only.

  • Generate bulk fee invoices for a class
  • Record fee payments and issue receipts
  • Grant concessions/scholarships
  • Process monthly payroll
  • Generate day book, defaulters list, collection reports
  • Export all financial data to Excel or PDF

Librarian


Scoped entirely to the library module.

  • Issue and return books
  • Manage book catalogue and copy inventory
  • Create and renew library memberships
  • Collect and record fines
  • Generate overdue and inventory reports

Receptionist


Front desk operations — admissions and communication.

  • Log new admission enquiries
  • Move applications through the pipeline stages
  • Issue bonafide, TC, and conduct certificates
  • Post school notices
  • View seat availability per class

Technology Stack


Laravel 13


Laravel is the most popular PHP framework in the world. This project uses Laravel's full feature set: Eloquent ORM, Queue system, Mail, Storage, Policies, Observers, Scopes, Service classes, and Form Requests.

Filament 3


Filament is a rapid application development framework built on top of Laravel and Livewire. It generates a complete, beautiful admin panel with minimal boilerplate. This project uses Filament for all admin panel CRUD resources, custom pages, dashboard widgets, actions, and a separate student portal panel.

Tailwind CSS


Tailwind CSS is a utility-first CSS framework that ships with Filament out of the box. Every UI component is styled with Tailwind utility classes following a consistent design language.

PHP 8.4


This project uses PHP 8.1+ backed enums for all status fields, making status values type-safe and self-documenting.

MySQL 8.4


All data is stored in MySQL 8.4 with proper indexing for analytics queries and a strict academic year scoping pattern.

Key Packages


Package Purpose
spatie/laravel-permission Roles and permission management
barryvdh/laravel-dompdf PDF generation (report cards, receipts, certificates)
maatwebsite/laravel-excel Excel import/export (marks, fee defaulters, reports)
intervention/image Photo resizing and processing

Why Use This Project?


For Laravel Beginners


This project teaches you how Laravel applications are structured in the real world — not a simple todo app, but a full production system with services, observers, policies, jobs, notifications, and custom Filament pages. Every major Laravel concept appears in context.

For Filament Learners


There is no better way to learn Filament 3 than to see it applied across 22 modules. This project covers every major Filament primitive: Resources, RelationManagers, Custom Pages, Actions, Widgets, Notifications, and Panel Providers.

For College Students


A School Management System hits every checkbox on a final-year project rubric: authentication, RBAC, CRUD operations, reporting, file handling, PDF generation, and a polished UI. This project is ready to present.

For Freelancers


Need to deliver a School ERP to a client? This codebase gives you a solid, well-architected foundation. Customise the modules, add the school's branding, and deploy.

For Portfolio Builders


A School Management System demonstrates breadth: database design, backend logic, frontend UI, PDF generation, Excel integration, role-based access, analytics — all in one project.

For Understanding School ERP Systems


If you want to understand how enterprise resource planning systems work in the education sector, this project is a clean, readable, well-documented implementation. The patterns here apply directly to hospital management systems, hotel management systems, and any other multi-role ERP domain.


Source Code Download


The complete source code for this School Management System is available for download. You will find the download link in the description of the YouTube tutorial video.

The source code includes:

  • All migrations, models, and seeders (including demo data with 270 realistic students)
  • All Filament resources, pages, and widgets for every module
  • All service classes and business logic
  • PDF Blade templates for report cards, receipts, and certificates
  • Student portal with mobile-first design
  • .env.example with all required configuration keys

To get the source code:






Getting Started — Quick Setup


Once you have downloaded the source code, getting the project running locally takes just a few minutes:

# 1. Install dependencies
  composer install
  npm install

  # 2. Copy environment file and configure your database
  cp .env.example .env
  php artisan key:generate

  # 3. Run migrations and seed demo data
  php artisan migrate
  php artisan db:seed

  # 4. Create storage symlink
  php artisan storage:link

  # 5. Start the development server
  php artisan serve
  

Then open http://localhost:8000/admin and log in with the demo credentials provided in the video.

The demo seeder populates the system with 270 realistic students across Grades 1–8, two academic years of historical data, complete attendance records, exam results, fee transactions, and more — so every dashboard shows live, meaningful data from the moment you log in.


Conclusion


This Laravel 13 School Management System is one of the most complete PHP projects available for learning and real-world deployment. Built on Filament 3, styled with Tailwind CSS, and powered by a carefully designed MySQL database, it covers every aspect of school administration in a single, unified platform.

Whether you are building your first Laravel project, preparing a final-year submission, expanding your freelance portfolio, or evaluating Filament as an admin panel framework — this project delivers.

Here is what to do next:

  1. Watch the YouTube tutorial — a full step-by-step walkthrough of every module
  2. Download the source code — link in the video description
  3. Run the project locally — follow the quick setup above
  4. Explore and customise — modify modules, add features, make it your own
  5. Share this article — help other Laravel developers discover this resource
  6. Leave a comment — ask questions, share what you built, give feedback
  7. Subscribe — more Laravel tutorials, Filament deep-dives, and PHP projects are coming

Thank you for reading. Now go build something great.


Tags: Laravel 13, Filament, Tailwind CSS, School Management System, Laravel Project, Laravel Source Code, Filament Admin Panel, Laravel CRUD, Student Management System, PHP Project, School ERP, Laravel Tutorial, School ERP Software, School Management Software, Laravel Filament Tutorial, PHP School Project

0 comments:

Post a Comment