UNITRACK
PROJECTSACTIVE

UNITRACK

Student academic management platform

full-stackreactnode.jspostgresql

UniTrack was born out of a real problem: university students and advisors were managing academic progress across a patchwork of spreadsheets, emails, and separate faculty portals. UniTrack brings everything into one place — course enrollment, grade tracking, advisor notes, and milestone alerts — with a clean interface that actually gets used.

Architecture Overview

UniTrack follows a standard three-tier architecture: a React frontend served via a CDN, a Node.js REST API layer, and a PostgreSQL database for persistent storage. The API is containerised with Docker and deployed on Railway. All inter-service communication is over HTTPS with JWT-based authentication. The frontend communicates with the API through a typed client generated from an OpenAPI spec — this has been the single biggest contributor to frontend/backend sync quality.

Key Features

The course enrollment module lets students search the full course catalogue, filter by department and semester, and enroll with advisor approval. The academic timeline view gives students a visual semester-by-semester map of their degree progress. Advisors have a dashboard showing all their advisees' current status, flagging anyone who is behind on units or hasn't booked a check-in. Email notifications are sent for grade updates, enrollment confirmations, and upcoming advisor deadlines.

Data Model

The core entities are Student, Course, Enrollment, and AdvisorRelationship. Enrollments have a status field (pending, approved, active, completed, withdrawn) and a grade field that's populated at semester end. We use PostgreSQL row-level security so advisors can only read their own advisees' data. A separate read-replica handles the analytics queries that power the admin dashboard without impacting transactional performance.

How to Contribute

Clone the repo and run `docker-compose up` to spin up the database and API locally. The frontend runs with `npm run dev` on port 3000. All open issues are labelled — look for `good first issue` to start. We do code review on all PRs and aim to review within 48 hours. Check CONTRIBUTING.md for our branch naming convention and commit message format before you open your first PR.

Rotating vector

JOIN US

Privacy policy

Cookie policy

Terms & Conditions

2024 DevSoc