← Back to portfolio

Case study

SchoolMS — school management system

Phased build for an institution: distinct experiences for admin, teacher, student, parent, and transport with permissions and reporting built in Laravel.

Laravel 12 Livewire Spatie Permission Excel DomPDF Breeze

What it is

The codebase separates HTTP concerns by actor namespaces (admin, teacher, parent, …) and tracks delivery through phase documents. Spatie roles/gates centralize authorization; Maatwebsite and DomPDF cover operational exports families expect from school software.

Architecture

Vertical slices per role plus shared services/models. Livewire components own much of the interactive UI, so state stays close to Laravel validation and policies.

Highlights

  • Spatie Permission is a battle-tested RBAC baseline.
  • Livewire reduces JS sprawl for CRUD-heavy school workflows.
  • Excel + PDF match real admin habits (imports, printable lists).
  • Phase docs give auditability for long implementations.