Hall Pass Classroom App

Hello, I am a new user and I created a basic Hall Pass app for my classroom where students enter their id number, where they are going and saves all the information on a table to later reference.

What I’m currently trying to do, is create a page that shows students who are CURRENTLY at a specific location; meaning they have signed out, but not signed back in. I will take any information on how to do this. Please and thank you very much.

When students sign in, are you updating the existing row that was created when they sign out, or are you creating another separate row?

I am creating a new row.
Because I would like to know the time that they sign in and sign out.

If you need to keep the sign-in and sign-out history, I think it makes sense to add an row per event. If you don’t need the log, I wonder if you could include the sign-in and sign-out timestamps on one single row.

Student ID Student Name Teacher ID Location1 Name Location1 SignIn Timestamp Location1 SignOut Timestamp

I might do this only if the number of locations were fixed. If you think more locations will be added, then adding columns for each new location would not be scalable.

Thank you for the response, I do not know where to start with this suggestion. Can you provide more details. Remember I am completely new to glide and this is my first app.

Do you plan on having a fixed number of locations, or are the locations expected to change?

There are 8 locations Only. They will not change.

Sorry but can we take a step back. Let’s forget about ‘Location1 Name’, ‘Location1Signin Timestamp’ and ‘Location1Signout Timestamp’.

There are 8 locations. I think a Locations table would be in order.

There are students. A Students table will be needed. If students are the users of the app, then the Students table can be used to configure user profiles.

You would like to see which students are in each location. I think I would set things up as follows:

In the Data Editor:

  • In the Students table, create a basic text column ‘Location ID’.
  • Create two custom actions: ‘Change location’ and ‘Leave location’
  • ‘Change location’ writes a the location’s Row ID to the ‘Location ID’ column in the Students table, the data source is the ‘Locations’ table. This action allows a student to indicate in what location they are. We use Row ID instead of names, as Row IDs are immutable and names are not.
  • ‘Leave location’ is a set column value action and clears the ‘Location ID’ column. This action allows a student to indicate they left the location.
  • Create a multiple relation from the ‘Locations’ table to the ‘Students’ table using ‘Row ID’ in ‘Locations’ and ‘Location ID’ in ‘Students’ as the common value. Make sure the relation is configured to match multiple.
  • Students whose ‘Location ID’ column is empty are not in any location.

Back in the Layout Editor:

  • On the location detail screen, add a collection component and choose the locations-to-students relation as the data source. This will display all students in that location.
  • On any screen, add a collection component and choose the Students table as the data source. Filter this collection where ‘Location ID’ is empty. This will return students that are not in any location.

I would recommend joining the loqode school community. Marco there and many of the current members can get you help quickly getting your app questions answered. There are even free live Q&A sessions when Marco can take your questions and build solutions live with you.

Thank you for your help!

1 Like

Thank you for your suggestion!