The front-end of our group reccommendation system
Have you ever wanted to see a movie with a friend but know you will spend more time looking for one instead of watching it? Moviender will come in handy! Get recommendations that both you and your friend would like to watch and spend your free time actually watching a movie! And all these happens asynchronously, so no need of waiting to come together to start searching.
It all starts with what we call a “session”. Essentially, a session is a four-part process which include the following stages:
- Choosing the type of the session
- Session specific actions
- Voting
- See results
Only one session can be active at a time with each of your friends The type of the session is determined by the one who starts it
In this type of session you will choose for what genres you would like to receive recommendations for. Then the recommender will try to produce results that fall in those genres and also will be interest for both of you.
Instead of the more generic genre-based type, you have also the option to receive recommendations that are similar to a movie you specified.
In the third stage of the session, you will need to vote to up to 20 movies that the recommender picked. We provide an intuitive Tinder-like UI that displays the poster of a movie and tapping on it will expand it revealing some basic info for this movie, such as:
- The genres
- Overview
- Average rating (from TMDB)
Then you can choose to like or dislike the movie by taping on the corresponding button or by swiping left or right accordingly.
In order to use the app you will need to register an account. By registering an account we also try to solve the so-called “Cold start problem” where re recommender knows nothing of you. So, you will be prompted to rate some hand-picked movies that we thought that best represent each genre and that, you will choose in which genres you have interest in.
Movies hub provides you the ability the explore the Moviender’s movies catalog, see information about a movie and rate it. The rates will help the recommendations algorithms to provide you better results. You can explore the movies catalog either by searching for a specific title or by filtering the whole catalog by the movies genres you want. Each genre will be represented by a number of movies, ranked based on this genre.
Alongside with the movies genres you can also have the option to let the system provides you with personalized recommendations powered by a WSM algorithm.
In order to be able to use the app’s main function, group recommendations, you must first make some friends and start sessions with them!
To make a friend request use the other person's username
Receive notifications for friend requests
To be able to use the app the you must also host the RESTful API.
In order for the app to work you should create a Firebase project and activate the following sign-in methods:
- Email/Password
You must also provide a google-services.json file to the app directory. You can download the file from Firebase projects settings.
Here is a brief summary of what technologies have been used for the app:
- Retrofit and Moshi to communicate with the RESTful API
- Room for persist storage
- Paging 3 for movies paging and use of RemoteMediator for local caching
- Firebase for authentication
- Coroutines
- FCM for push notifications
- Navigation component
- Coil to load profile images
This software uses the following open source packages: