Case study
UniLMS
University learning management system covering course delivery, assignments, assessments, and student progress tracking.
- Role
- Full-Stack Developer
- Year
- 2024
- Status
- Live
- Stack
- Next.js · TypeScript · Prisma

Overview
A learning management system built around the way a university term actually runs: courses, enrolment, assignments with deadlines, assessments, and progress visible to both students and staff.
What it does
- 01
Course delivery with structured modules and materials
- 02
Assignment submission with deadline handling
- 03
Assessments and automatic grade rollup
- 04
Separate student and lecturer views over the same data
The hard part
Access control. Every query needed to answer 'who is asking' before 'what did they ask for', which pushed the permission checks down into the data layer rather than the UI.
What it taught me
Model permissions once, at the boundary. Scattering role checks through components is how data leaks.