Ensraf — School Attendance & Transport Network
School dismissal, attendance and bus transport: an admin panel and three apps
Visit live siteDesigned and delivered a school dismissal, attendance & transport system: a Laravel/Filament admin panel and three Flutter apps. The main app serves guardians, assistants and school supervisors: a guardian calls their child from the gate's green zone, tracks the bus live, and requests early pickup. The drivers app serves bus drivers and bus supervisors, with stop-by-stop student hand-off on a live map. The classroom app runs on a screen in each class, where the teacher releases each called student to the gate. Manages 47 domain entities including students, guardians, schools, classes, attendance, buses, routes, trips, drivers, and subscription plans.
Key highlights
- 1
Three Flutter apps on one Laravel API and Filament admin: the main app (guardians, assistants, school supervisors), the drivers app (bus drivers and bus supervisors), and the classroom app (teachers release called students). They are linked by REST and Firebase Cloud Messaging.
- 2
47-entity domain model covering schools, branches, grades, classes, students, guardians, attendance, transport, subscriptions, and call sessions.
- 3
Full bus transport network: routes, stops, trips, drivers, supervisors, and subscription plans with separate bus & transport tiers.
- 4
Student call state machine: prepare → leave → released from class → on the way to the gate → handed over; plus bus, morning-trip and early-pickup branches, a one-time exit QR valid for 10 minutes, and scheduled jobs for automatic attendance and delivery.
- 5
Academic time scheduling using AcademicBand × WeekDay × TimeSlot matrix supporting per-school custom schedules and holidays.
- 6
Geolocation + Google Maps integration for real-time bus tracking and student pickup zones.
Core modules
Architecture
How the system is put together — services, clients and data stores.