Forum Documentation Showcase Pricing Learn more

School Attendance tracker



I got stuck with my app. It is a simple school attendance tracking site. Teachers should be able to track the attendance status(present, absent, late, custom) of each student in a given class for a chosen date. Teachers can teach many classes and students can have many classes too. Teachers will be able to define custom attendance statuses - like ‘flu’, ‘sick’, etc.
I have the following tables:
User - this is for teachers data:
name - text
is_admin - yes/no
teach_class - List of Classs

cl_name - text
study_class - List of Student

st_fname - text
st_lname - text

attsts_name - text
attsts_descr - text

att_date - date
att_class - Class
att_student - Student
att_status - AttStatus

I have a page Take attendance with a date picker field, a drop down that lists all classes and a repeating group that displays student first name. I wanted somehow to have:
a) as many buttons as there are AttStatus entries and each button text to correspond to a particular status. When one of the buttons is clicked to add a new entry in TakeAttendance table for the current cell’s Student and to set att_status to be the same as the clicked button


b) instead of many buttons, the attendance statuses to change on mouse click on a single element next to the student first name (the element should display text - the status name). Each click to set the next status and on the bottom of the page to have a Save button that saves the set statuses in TakeAttendance for all the students.

I can’t accomplish neither of these. Are these possible and how? May be my database design needs some change? If a) and b) are not optimal solution, what would be and how to accomplish it?

Thanks in advance :)!


I would do this the other way around. Instead of marking the attendance of each student I would mark only the missing students. When the attendance taking is done i would have the following workflows run

  1. Create list of students marked absent
  2. All Other students that do not belong to that absent list is marked attended

Then have a different page to mark the reasons for each absent student.


Thank you for the suggestion. I would prefer a solution without additional pages. Is it possible with Bubble? I am creating this app for a small volunteers run school and they do not want additional steps. They want to be able to mark the attendance status and later use the collected data - for example export the data in csv file for a given time period or for a particular student and they want to be able to see not only ‘present’ / ‘absent’ but ‘sick’, ‘late’, ‘lice’, etc.


You should focus on the technical part yourself and explain the end user how to use it :wink:

Assuming that you know what the client wants…


:)… and on the technical part I think that the option with additional page doesn’t bring improvement to the usability of the application.
So none of the options a) or b) are possible?


Do you have a link so we can take a look at it?


Yes, here is the link. I played more based on some threads I read for many to many relationships but still I can’t manage to create or update attendance record for particular student for particular class for chosen date with chosen attendance status.

I changed my tables as follows:
type Class
name - text
student - list of Students
teacher - User
attendance - list of AttendanceRecords

type Student
name - text
class - list of Class
attendance - list of AttendanceRecords

type AttStatus
attsts_name - text

type AttendanceRecords
date - date
class - Class
student - Student
status - Status

on the page take_attendance can’t manage to create correct workflow that updates/creates attendance record date, class, student, status.

Thank you in advance.