Academic Operations
Attendance Management System
Teacher-facing attendance tracking with automated WhatsApp reporting to parents.
Overview
Problem
Teachers recorded attendance on paper or disconnected spreadsheets, and parents only found out about absences if a teacher followed up individually.
Solution
A fast teacher dashboard for marking daily attendance that automatically sends a WhatsApp report to parents, so communication happens by default.
Architecture
Client
React teacher dashboard for daily class attendance entry.
API
Node.js/Express backend handling records and report triggers.
Messaging
WhatsApp Business API sending automated reports to parents.
Data
MongoDB storing attendance records per class, per day.
Feature Breakdown
- Daily attendance entry built for speed during a live classroom session
- Automatic WhatsApp report to parents on marked absence
- Historical attendance reporting per student and per class
Implementation Detail
async function markAttendance(classId: string, entries: AttendanceEntry[]) {
await db.attendance.insertMany(entries);
const absentees = entries.filter((e) => e.status === "absent");
reportQueue.enqueue(absentees.map((e) => ({ studentId: e.studentId, classId })));
return { saved: entries.length };
}Challenge & Solution
Attendance marking needed to stay fast during a live class, without blocking on a WhatsApp API call.
Built a keyboard-friendly marking UI with an async report queue, so attendance saves instantly and messages send in the background.
Results
- Parents get a same-day absence notification by default.
- A full term of attendance is now one queryable record instead of paper registers.