Sumas
One system for a whole university, from the Senate down to first-year students. Seven roles, one source of truth, and sign-in with passkeys.

A university runs on approvals: courses, grades, policies, people. Sumas gives the State University of Medical and Applied Sciences (SUMAS) in Enugu State one system for all of it.
I built it full stack, with a Next.js and Radix UI frontend over a NestJS API.
- 7
- Roles, each with its own permissions
- 35
- Merged pull requests
What I built
Seven roles, one source of truth
Admin, Faculty Dean, HOD, Senate, Lecturer, Student and Staff, with hierarchical permissions. Lecturers grade and take attendance, HODs approve courses, and students enrol and see their grades.
Passwords optional
better-auth with email and password, plus passkeys for people who'd rather not remember another one.
An API with its guard up
NestJS on PostgreSQL and Prisma, auto-generated OpenAPI docs, and Helmet, CORS, rate limiting and input validation on every route.