Attendance Tracker – Taking Attendance

The Attendance Tracker I’ve been working on is currently primarily focused on the relation between an Attendee, Activity, and Attendance records. The main input of the program, the data that fuels everything, is the attendance tracking. This is how I take attendance and store it.

Attendance Tracker – Activity Attendance Attendee Diagram – DBeaver

Attendance Process

During an activity, attendance will usually be taken multiple times throughout. I initially thought the attendance would be a list of attendees and their statuses, but that’s not quite how it works.

When an event starts, the attendance is taken. All the attendees that are present are marked as present. Everyone else is marked as absent. If someone shows up, we initially think that the status changes to being late. But whats really happening is a second attendance is being taken; just that the only difference this time is that the attendee that was late is now present. So the first attendance for the event – attendee was absent. The second one – they’re present. Pretty binary.

Taking Attendance

Over the past few months, we’ve been conducting our activities via an online virtual meeting platform. Luckily, there is a plugin which allows you to export the attendance to a csv file as many times as you like. As I mentioned, an attendance list is pretty binary and the csv exports reflect that – it only exports a list of attendee’s names that are present, and exclude anyone that is not present. Makes sense as it would be a lot more difficult to setup a program to find the invitees and create a list based on that too.

So taking attendance is pretty easy: All I need to do is click a few menu items and it spits out a csv. I then take the file and run it through an Excel Importer script.

Tracking Attendance

To keep track of the attendances and the status of each attendee for the attendance, I have 3 tables:

  • attendee: The table that keeps track of the attendee details
  • attendances: The table that records the attendance instance (and should track when it was taken, but I haven’t added that in yet as its not imperative to the overall functionality)
  • attendance_attendee: Tracks if the attendee was present when the attendance was taken.

Interested in reading more about my Attendance Tracker project? Click below for more articles!