Back to projects
FULL STACK2026Completed

Attendix

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

Attendix interface

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.

Command Palette

Search for a command to run...