Childcare Management System
Project
Childcare Management System — daycare ops + parent iOS PWA
Full-stack engineer
A client-built daycare-operations platform — one repo shipping three deployable surfaces: a Laravel 7 / OAuth2 REST API, a Nuxt 2 + Vuetify admin web app for daycare staff, and a Nuxt 2 + Framework7 iOS-installable PWA for parents. Runs the full child pipeline (enrolment, waitlist, termination), weekly billing for parents and hourly payroll for employees on one polymorphic ledger, attendance check-in / check-out, multi-facility maps, digital signatures, immunisation records, and reporting dashboards — with passwordless email-code login for parents.
Designed the data model and Laravel 7 / OAuth2 API, then built two Nuxt 2 frontends on top of it — a Vuetify admin web app for daycare staff and a Framework7 iOS-installable PWA for parents — and shipped the passwordless email-code login that the parent app uses, the polymorphic billing ledger that books both weekly parent billing and hourly employee payroll, and the GCP + Nginx + Netlify deployment that runs all three surfaces in production.
- Designed the relational schema for the full daycare-operations domain from scratch — facilities (with map coordinates and a per-facility require-signatures flag), families as the billing and consent unit, guardians with email-code login, children with enrolment / waitlist / termination lifecycle plus JSON allergies and immunisation records, employees with hire / termination dates and hourly rates, attendance sheets as a first-class entity, and a polymorphic payments ledger that backs children, families, and employees on one schema.
- Built the Laravel 7 API with OAuth2 (Passport), role-based access via Spatie Permission enforced at the route-group edge across five roles (super-admin, admin, user, worker, guardian), Spatie Media Library uploads with server-side image variants, soft-delete-with-restore archives via soft-cascade across every meaningful entity, and dompdf-rendered PDF exports.
- Shipped the children pipeline end-to-end — enrolled / waitlisted / terminated / paid / not-paid slices, per-week mark-paid / mark-not-paid keyed by (week, year), per-week no-charge, per-child weekly-rate and discount-percentage overrides, plus check-in / check-out and per-day attendance correction.
- Built the hourly payroll flow on the same polymorphic ledger — per-employee mark-paid per (week, year, rate, hoursWorked), per-week no-pay, employee termination, and per-employee document uploads — so children's weekly billing and employees' hourly payroll share one queryable history.
- Built the Nuxt 2 + Vuetify admin web app on top of the API — facility selection for multi-facility owners, the daycare-facilities CRUD, the facility-scoped operational view, multi-facility map view on Leaflet + Google Maps, vue-signature for family agreements, ApexCharts + Chart.js reporting dashboards backed by per-year and per-range API endpoints, and CSV exports for accounting.
- Built the Nuxt 2 + Framework7 iOS-installable PWA for parents — login + use-code two-step email-code flow, child profiles and attendance history, payment balance and history, family co-guardians, facility-level expense transparency, parent-readable reporting — with vue-browser-geolocation, mobile-device-detect, and vue-signature wired in.
- Wired the passwordless email-code login end-to-end — request-code and verify-code endpoints on the API, the matching guardians.verification_code column, and the two-step use-code flow on the mobile app — so parents authenticate without ever managing a password.
- Deployed and maintained the system in production — Laravel API on GCP Compute Engine behind Nginx (php7.4-fpm), the admin web app on Netlify, and the iOS PWA on Netlify, with the CORS contract, OAuth keys, and database stability owned end-to-end through the engagement.