
01Overview
ClassTrack monitors whether scheduled classes are conducted according to the approved routine, and manages what happens when they are not: late arrivals, missed classes, gaps in staff checking, makeup scheduling and online-class approval. It ingests the department's routine PDF, generates every class for the semester, gives office staff a fast checking interface, and produces teacher-wise and summary reports. I designed and built the system end to end — the FastAPI backend and its status engine, the Next.js dashboards for department heads, staff and teachers, routine ingestion, reporting and the Docker deployment.
02What it does
- 1Routine PDF ingestion with a review step before a routine goes live
- 2Status engine that separates teacher absence from classes nobody checked
- 3Staff checking, late-arrival tracking and missed-class follow-up
- 4Makeup scheduling with room-conflict checks and online-class approval
- 5Teacher-wise and summary reports by term, exported as PDF
- 6Role-based dashboards for department heads, coordinators, staff and teachers
03The challenge
Reporting had to be fair to teachers. A class is only marked missed on positive evidence that the teacher was absent; a class nobody checked is a monitoring gap on the staff side, never the teacher's fault. Keeping six independent questions — conducted, late, checked, recovered, physical or online, approved — from collapsing into a single status shaped the status engine. Modelling the routine as a fixed 6 × 6 grid of days and slots turned conflict detection into indexed lookups instead of interval arithmetic.
04The outcome
Live at class.bitstreamhq.com. Version 1 covers every module in the requirements end to end, with all ten acceptance criteria verified and 25 automated tests passing.
05Built with
- Next.js
- TypeScript
- Tailwind CSS
- FastAPI
- Python
- SQLAlchemy
- SQLite
- pdfplumber
- Docker
Next project — N°01
Obelytics
A full-stack OBE and accreditation management platform for academic planning, attainment analysis and institutional reporting.
