Show random items in list and hide entry once marked

I’m trying to build an app for myself to keep track of all the movies I would like to watch. And once I have watched them, I can check them of my list.

I’ve looked through the forum reading about various checklists but can’t find anything for my use case.

  1. I want movies to be randomly selected from my list of movies.
  2. Once i’ve seen a Movie. I would like to mark it as “seen” and I no longer want it to appear in the list.
  3. The list shown should be user-specific, so multiple users can have their own list view based on the movies that they’ve checked as seen.

I’ve got 4 collections

  • A list of categories that holds the name of each category and a photo for each category.
    image

  • List of the movies with one collection for each genres. Example for the genre Action below.
    image

The first thing I would like to do is to randomly select one movie from each genre and present as a suggestion to watch. I only seem to be able to choose the first entry in the list and not a random one.

The second thing is that if I press the button “Give me another suggestion” i want to choses a new random movie for the selected genre.

I can’t find anywhere to add a random function to the list filter.

Any help would be greatly appreciated.

I’ve tried to share the app i created to show how its currently been built.
Movie Bucket (adalo.com)

If you could add me as your team member I could help you to make that and that would be much faster than to describe it by words :slight_smile:

There are a few different ways how this could be done, all are pretty simple

My email is: neonbrosua@gmail.com

I’m curious how you would do this. Since typing may be too much, perhaps you could record a video screen sharing the videos while talking?

In Brief it can be done using Random Picker component from adalo or by using Randomizer component or you can use Rand (0,0) function Updating User as On Click Action.

Rand (0,256) function while updating Logged in User variable each time when user presses the button will generate random number from 0 to 256.

When it comes to Randomizer component we can set it up to give us random numbers in the range that we set manually, for example from 1 to 256.

Then what one have to do is modify the necessary list by adding additional record with Number type and manually giving certain numbers to our items in database collection 1,2,3 till desired number etc

Each item in database collection now will have unique number manually added.

Then when a Randomizer component will generate certain random number (from 1 to 256) we simply filter the list of items by the number (we gave our records numbers in database, so each number = certain record).

Also we use Many to Many relationship to filter items that have already been seen.

User > Item - Many to Many

Each time user clicks on the item we update: Users > Item > Add current Item

And simply filter the list in the way that it must display:

All Items

Current Item
Does not contain
Logged in User > Items > All Items

I have done lists with triple filtering so that is not problem at all)

Thanks for taking the time to explain this!
I think i’ve managed to create the filtering (using ID as suggested) so that when i’ve seen a movie, the ID will be added to the current user.

The filter I used though is making sure ID is greater than the ID’s in the current user’s list of seen movies.

Of course this will only work when seeing movies in order and not when using randomizer.
So then your filtering makes more sense but I haven’t figured out how to use Randomizer just yet.

I invited you to my team in case you would like to take a quick look :slight_smile:

1 Like

I will take a look and write you back!

I have already made it work using two separate ways. Please, check it and if you will have any questions you are welcome to ask.

Many thanks, I really appreciate your help! I think I now understand the basics on how the random picker works. I’ll play around with it some more to see how I can also display the image of the movie togheter with the title.

Do you also know if it’s possible to limit the amount of times you are able to request a new movie?
For example, can I limit the user to only be able to request a new movie 3 times per day? Then you have to wait until the next day before you are able to get any ner suggestions.

Regarding data structure:
I noticed you choose to add users that has seen a movie to the movies collection (for example the MoviesListAction) by adding the user to the “SuggestedToUsername” property.
image

What I did was the other way around - ie. to instead add the movies a user has seen to each user.
image

Why did you decide to structure it as you did? Was it because of scalability, manageability or security reasons?
Not saying it is wrong, just trying to understand the best way of building the structure :slight_smile:

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