Shelf UI

For the final project of my Web Programming class, I worked with a team of four developers building a web app called MovieShelf which allows users to create a collection of their favorite movies and get custom individual and group recommendations. We connected our app to the IMDB movie database allowing user to select movies and add them to their “shelf” where they can view a picture of the cover, a short description of the film and casting information. Users can find titles to add using the smart search feature of the app which helps users easily find the movies they want by predicting searches based on entered text, by ignoring common spelling mistakes with fuzzy logic and by supporting search by actor or director.

Shelf UI

Shelf UI and smart search bar

The novel feature of this app is the implementation of temporary “sessions” that users can create and join with just a temporary code. These sessions are designed for helping large groups determine which movie to watch without requiring everyone to have an account. After joining a session, users can add a few movies they like and submit their preferences. Once all preferences are submitted, the recommendation algorithm we developed searches for similar movies attempting to accommodate everyone as best as possible. Once the recommendation are returned and the group picks a movie to watch, the session is archived.

Session

Example session

The project was made using Java Spring for the server software and using a MySQL database for storing movie data and account information. I personally worked on developing APIs for accessing the user account information from the database, designing the shelf UI and helped implement the smart search bar. MovieShelf is currently under construction with the hope to launch sometime in the near future.

results

Example suggestions list