Books Collection App - adding anonymous likes/rating

I want to build ann glideapp for our organization’s small book collection, that would be displayed on 2-3 tablets in our loby, so that people would be able to view our books and write responds.
Is there a way to create “anonymous likes/rating” function, that would allow anyone who use the tablets to rate the books (or press like/dislike) annoymously, without signing in, while the ratings would be accumulated? The counting of the likes/ratings are the main issue.
Thank you so much!

Certainly doable, but I think the main challenge with your scenario will be preventing people from pushing like/dislike multiple times in quick succession, and skewing your numbers. For your use case, I think a good approach would be to temporarily hide the components after each use. So you could do something like this:

  • Create two basic/number columns to hold your counts of likes and dislikes
  • Create a User Specific Column to store the last reaction time
  • Create a math column to calculate the number of minutes since the last reaction time. The formula would be something like: (Now-LR)*1440, where:
    • Now is the current date/time
    • LR is the Last Reaction Time
  • Now create an if-then-else column:
    • If Last Reaction Time is empty, then true
    • If mins since last reaction time is equal to or greater than 1, then true
  • Now assuming that you use a Button Bar as a “reaction” component (left for like, right for dislike), then each button would have a 2 step action:
    • Increment the appropriate counter by 1
    • Do a Set Columns, setting the Last Reaction Time to the current date/time
  • And finally, use a visibility condition on the button bar component, such that it is only visible when the it-then-else column is true

The effect of all that would be that whenever a user tapped either of the reaction buttons, the like/dislike would be recorded, and the button bar would be hidden for about a minute.

1 Like

Thank you so much! That’s brilliant :slight_smile: