Overview
ExamGrid is an examination logistics and staff administration dashboard built for college examination departments. It streamlines scheduling invigilators, assigning exam halls, tracking daily faculty attendance, and generating duty rosters.
Problem & Approach
University examination committees manage dozens of exam rooms and hundreds of faculty duties using disjointed manual spreadsheets, leading to double-booked invigilators and attendance tracking errors.
Built a responsive Next.js web application connected to Supabase PostgreSQL, incorporating conflict-detection validation when assigning faculty to rooms and shifts.
System Architecture
- Frontend UI
- Next.js, React, and Tailwind CSS with responsive table and grid components.
- Backend & Database
- Supabase PostgreSQL with relational foreign keys linking teachers, shifts, and rooms.
Features & Deliverables
- 01Interactive Examination Scheduling GridImplemented
Visual timetable for mapping dates, subjects, session times, and room allocations.
- 02Conflict Detection EngineImplemented
Validates teacher allocations in real time, preventing simultaneous duty assignments across different halls.
- 03Staff Attendance LoggingImplemented
Quick-toggle attendance tracking for reporting duty presence, substitutions, and absences.
- 04Test Account CredentialsImplemented
Configured public demonstration access (test@gmail.com / password-password) for evaluation.
Technical Challenges
ProblemHandling complex date-time overlap queries efficiently without locking database records.
Resolution:Implemented client-side preemptive conflict checks backed by composite database constraints on teacher and session slots.
Contributions & Takeaways
My Contributions
- Architected and implemented the full dashboard UI and scheduling grid.
- Designed the Supabase relational database schema and security rules.
- Built authentication, test credentials, and roster export views.
Key Learnings
- Clear administrative tabular interfaces with immediate validation save hours of manual cross-referencing.
- Preemptive client-side validation paired with database constraints prevents concurrency conflicts.
Interested in discussing this project or working together?
Get in touch