Attendix
A system designed to simplify attendance tracking for educational institutions and small businesses.

01. The Problem
Teachers and administrators in small educational institutions were recording attendance on paper registers and then manually transferring data to spreadsheets for reporting — a time-consuming, error-prone process.
02. The Solution
A web-based attendance system where teachers can mark attendance digitally in seconds, and administrators get an instant dashboard with attendance rates per student, class, and course — plus exportable reports.
03. Architecture & Tech Decisions
Three-tier architecture: React dashboard, Node.js/Express REST API, and a MySQL relational database. Chose MySQL over NoSQL due to the relational nature of the data — students belong to classes, classes belong to courses, attendance records join all three.
04. Testing Strategy
Unit tests for attendance calculation logic. Integration tests for the bulk-mark API endpoint to ensure partial failures didn't corrupt records. Manual testing of edge cases like holidays and makeup classes.
05. Deployment
Hosted on a shared Linux server. The Node.js process managed with PM2 for auto-restart. MySQL database backed up nightly via cron job.
06. Lessons Learned
Database design decisions made early have long-lasting consequences. The initial schema didn't account for the concept of academic terms, requiring a non-trivial migration midway through development.