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

UniLMS interface

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.