Classroom Attendance App - Track Absentees

Hi there, I’m in the process of designing a self check-in app for my students allowing them to check in when they are within the vicinity. Most of the functionality is working smoothly except it requires a user to trigger the ‘add row’ to log the student’s attendance.

As of now, a student can be present (on time), late (past class start time), or absent (self apply for leave of absence). BUT if the student doesn’t use the app to report that they are not showing up, the student would not be reflected in the Attendance table.

I currently have an Attendance table that collates all their attendance data with these columns

I thought of maybe using a script to auto generate an empty row with “today’s date” logged in the datestamp for each student but I’m wondering if there is a smarter way to do this. Or maybe I should structure my data differently.

Open to ideas! Thanks

Yeah, that seems a bit superfluous and wasteful.
My question would be how do you intend to use and present the attendance data in the App?

When a user views a Student record, should they see an entire history of their attendance?
Or a week at a time, or a month at a time?
What sort of reporting requirements do you have?
Do you need to aggregate data for all students, or just report on individual students?

My thinking is that this is where a helper table could be useful.
Imagine a table with a fixed number of rows. 100, 200, whatever.
You dynamically generate a list of dates in this table, one date for each row, going back in time, starting at today (or some user selected date). If weekends aren’t relevant, you could set it up so that weekends are skipped. Now when a user views a Student record, you write a StudentID to a User Specific Column, and then apply it to all rows in your helper table. You can then use that to build a relation to your Attendance table. Where ever that relation is empty, it means there is no row in the Attendance table, and so you can assume non-attendance for that day (or some other default status).

The above may or may not work well for your use case, but might be one option.

I think a possible solution Glide can provide is an automation to add a row upon a defined time of day to automatically with a field set to ‘Absent’. Not sure how this can be achieved.

Hi Darren,

The student would also be able to preview their attendance record (i.e. how many present VS absent days) as they would need to monitor how many more times can they be absent before they forfeit graduating.

Ideally it would be an instant report as they log daily. Would you suggest a weekly report instead?

Also for the sake of the administrator overseeing all the students in that class, they would need to aggregate the data on their backend as well so that they can follow up with the student (especially when approaching critical).

rdg your suggestion: I’m not entirely sure i know how that looks like… would you be able to provide a screenshot of the table so that i can get a clearer idea?

If you can share a sheet with some dummy attendance data, I can make a simple concept App to demonstrate how it could work.

30 or 40 rows of data should be enough.

Here is an empty sheet. Not sure what sort of data you need from me. I have a table containing the course names, and another table for the topics within each course, and a table with the number of classes and their dates for each topic. I can provide these if it is useful for your reference.

Just looking at your sheet, it seems that Students will check in and check out on the same day?
Do you use both for determining their overall status, or do you just look for a check in?

Anyway, never mind. I can generate enough random data using ChatGPT to be able to make a concept.

Give me a little while to do that.

The check in and check out is on the same day. Think of it like a punch card. We do that because it is a part time program with only 2 classes each day. The clock in shows that the student was present for class #1 and the clock out shows that they were there till the end of class #2.

@Jireh_Lee - here you go. The way I have set this up is a bit different to how I understand your App works, but the idea is just to demonstrate the general concept. Hopefully the video does that.

The video is a bit lengthy, but I’ve tried to explain as much as possible.

2 Likes

That was absolutely brilliant! Thanks Darren!

I do have 1 question. So for the helper table, do I have to create a row for every day of the 9 months of this program or is this auto generated month to month?

It depends how much data you need to be able to view at a single time.

As I alluded to at the end of the video, you could extend it by adding two User Specific Columns to the helper table - one for a start date and one for an end date. Then you could have a couple of date pickers to allow a user to select a date range. Then in the helper table you’d use the Start Date as the first row and add the index to that to get a list of dates (instead of starting from today). Then it’s just a bit of extra logic to only include rows that fall within the selected date range.

With that approach you just need to decide the maximum number of rows you want to be able to view at a time, and that’s how many rows you need in the helper table.

The nice thing about this approach is that it’s fully dynamic, and every user gets a unique experience. For example, you could have 10 users viewing data for different students at the same time. They’d all be using the same helper table, but the data they’d be seeing would be specific to the student they’d selected.

1 Like

last request, I know you mentioned at the beginning about the index row being a common question. Could you please point me in the direction of the post with the relevant information or could you screenshot your column setting for the 2nd and 3rd columns?

You need the second use case from the below.

1 Like

Got it. Super helpful! Cheers mate!

This topic was automatically closed 24 hours after the last reply. New replies are no longer allowed.