Skip to content
Alzubair Alojali
العربيةWhatsApp
ALL WORK · 03
Case study 03/04University system

Nexus

Client
Libyan International University
Status
Built end to end
Platform
Web
Stack
LaravelNext.jsSanctumRBACFeature testsBilingual RTL
Nexus · Admin dashboard: active students, open sections, pending requests, capacity alerts
Admin dashboard: active students, open sections, pending requests, capacity alerts

The brief

A course-registration system that enforces the rules automatically: prerequisites, timetable clashes, credit limits and section capacity, so advisors stop refereeing spreadsheets.

Course registration ran on advisors refereeing spreadsheets: prerequisites checked by hand, timetable clashes caught too late, credit limits enforced by memory, and no reliable record of who approved what.

What I built

A role-based academic platform with three separate experiences: students build a registration worksheet and submit it, advisors review a queue and resolve conflicts, and administrators run terms, catalogue, sections and capacity. A rules engine re-validates everything at submit time, and every privileged action is written to an append-only audit log.

Eligibility, decided by the engine

Courses are marked Eligible, Missing prerequisite or Completed before a student wastes time on them. The rules engine reads the transcript, not the other way round.

Nexus · The eligibility engine: courses marked Eligible / Missing prerequisite / Completed
The eligibility engine: courses marked Eligible / Missing prerequisite / Completed

A worksheet with a live conscience

Students build their registration with a live credit summary and projected total; over-limit submissions are blocked at the source, and everything re-validates at submit time.

Nexus · A student building a worksheet, with a live credit summary and projected total
A student building a worksheet, with a live credit summary and projected total

Advisors review a queue, not a spreadsheet

Requests arrive oldest-first with waiting-time badges; approve and reject decisions land in the record with the advisor attached.

Nexus · The advisor's review queue, oldest first, with waiting-time badges
The advisor's review queue, oldest first, with waiting-time badges

The log nobody can edit

Every privileged action is written to an append-only audit log: entries are never edited or deleted, so the record is the system of record.

Nexus · The append-only audit log: entries are never edited or deleted
The append-only audit log: entries are never edited or deleted

Timetables that build themselves

The weekly timetable is generated by room, with section capacity alerts firing before a room silently overflows.

Nexus · The generated weekly timetable by room
The generated weekly timetable by room

The hard part

A rules engine that re-validates eligibility and schedule conflicts at submit time, not just at add-to-cart. Prerequisite checks mark courses “Missing prerequisite” before a student wastes time on them, credit-limit enforcement blocks over-limit submissions, add/drop swaps commit or roll back atomically, and capacity alerts fire before sections overflow, feature-tested per domain.

LaravelNext.jsSanctumRBACFeature testsBilingual RTL

The result

Prerequisites, clashes, credit limits and capacity are enforced by the system, not by goodwill, and the append-only log is the system of record.

Outcome

Prerequisites, clashes and credit limits enforced by the system, not goodwill.

Outcome

Section capacity can't silently overflow.

Outcome

The append-only log is the system of record.

Status

Built end to end

Have something like this in mind?

Usually replies within a day.
PREVIOUS PROJECT · Al-Maaden · 02/15
NEXT PROJECT · Slinger Swap · 04/15

A marketplace where gamers trade and sell their games, with a moderated catalogue, offers, and push notifications when a deal lands.

READ THE CASE STUDY