Modelling content that kept changing shape
Course structures varied between programmes. A rigid schema would have needed a migration for every new format, so the content hierarchy was kept generic with type-specific details held alongside it.
Education / EdTech
Courses, content structures, learner progress workflows and administrative dashboards.
A learning platform needed to manage users and cohorts, organise course content in a predictable structure, track learner progress through that content, and give administrators a view of who had completed what.
Work across an existing PHP application: user and cohort management, a course/module/lesson content model, progress tracking tied to that model, administrative dashboards and the APIs behind them.
A simplified, public-safe view of how the pieces fit together.
Clients
Course consumption and administration
Application
Controllers, validation, role checks
Domain
Course → module → lesson; completion state
Data
Users, cohorts, content, progress records
Course structures varied between programmes. A rigid schema would have needed a migration for every new format, so the content hierarchy was kept generic with type-specific details held alongside it.
Editing a published course risks invalidating existing progress. Tying progress to stable content identifiers, rather than to positions in a list, kept historical completion meaningful after reordering.
Administrators could manage content and see progress in one place, and learner state stayed consistent as courses were revised.
Keep reading
Workflow-driven clinical application with role-based access, dashboards and enterprise integrations.
Record management, multi-criteria filtering, reporting and role-scoped dashboards for internal business teams.