• Python
  • Django
  • PostgreSQL
  • Docker

School attendance and timetabling

Fingerprint sign-in at the gate, registers complete before the first lesson, and timetables that survive a teacher calling in absent.

Students sign in at a fingerprint reader on the way into the yard, so a class register is complete before the first lesson starts and no lesson time goes on calling names. Attendance and the timetable are one system on purpose: knowing a student is absent is only useful next to knowing which lesson they are absent from.

Features

  • Fingerprint sign-in at the gate, each reader holding a local copy of its roll
  • Class registers complete before the first lesson of either shift
  • Timetables per shift, per class and per teacher, with clash detection
  • Substitution handling that fills a gap when a teacher calls in absent
  • Absence and lateness summaries a head teacher can read in a minute
  • A message to a guardian on the second consecutive day, not the first
  • Exam and term dates on the same calendar as lessons
  • Per-class and per-student attendance history across a term

Fingerprints are stored as templates that cannot be turned back into an image, and no fingerprint picture is ever kept. A dropped connection does not stop the gate, because each reader can decide on its own and sync afterwards.