Skip to content
Edson Francisco
  • Multi-tenant SaaS

Start Escolar

Multi-school management with enrolment, grades, payments and barcode or QR card attendance.

Period
2019–2022
Status
Archived
Role
Lead developer

Problem

Schools managed students, classes, grades, fees and attendance on paper or spreadsheets. Student and staff check-ins were tracked by hand.

Solution

A Laravel application where several schools share one installation. I built the card-reader API, receipts and invoices with the school logo and tax number (NUIT), assessments and grade entry, payments with financial history and the school year on enrolments. I also built the C-PRES module: attendance for students, teachers and staff by barcode card and, later, QR.

Technical decisions

  1. 01

    school_id on every operational table

    Attendance, check-ins, enrolments and payments carry the school, so several schools can share one installation without seeing each other's data.

  2. 02

    Dedicated endpoints for the card reader

    The device reads the card and calls the API to log the student's or staff member's entry, with a route to sync records. Same-day duplicate entries had to be fixed.

  3. 03

    Barcodes and QR codes generated on the server

    Cards are printed from the system itself, using milon/barcode and simple-qrcode, with no external tools.

  4. 04

    School year added while data was already live

    The school year was added to enrolments and class filters after the system already had data, with a documented manual migration and duplicate clean-up.

Images

No publishable screens: the system needs real data to run or is no longer online.

Technologies

  • Laravel
  • PHP
  • MySQL
  • JavaScript

Verifiable results

domain models (student, enrolment, grade, attendance…)
30

What I learned

This was my first time connecting hardware to a web app: a card reader forces you to think about duplicates, network failures and syncing from day one.

SDGs

  • SDG 4 · Quality Educationprimary

    Schools get enrolment, grades, payments and attendance in one system, with receipts and invoices bearing the tax number issued by the system itself.

  • SDG 8 · Decent Work and Economic Growthcomplementary

    One installation shared by several schools lowers the cost of digitising small schools' administration.