Movie Box is a social movie recommendation app designed to enhance your movie-watching experience. Discover personalized movie recommendations based on your interactions within the app, including survey, comments, likes, and following. Connect with fellow movie enthusiasts and explore a community of users who share your passion for films. Enjoy a tailored recommendation system and engage in social interactions that revolve around the love of movies!
- User can Register
- User can Login.
- User can Logout.
- Survey for user preferences
- Personalized recomendations based on User Interaction(survey, comments, likes, and following)
- View movie Details(synopsis, rating, poster, related movies, trailer and etc)
- Like a movie
- Comment under a movie
- Search for movies
- Explore movies (popular, now playing and Upcoming)
- View User Profile (following count, Like count, Username, profile pic, liked movies , user comments and selected generes)
- User can view other users profile
- User can follow other users
The movie recommendation algorithm in this project is designed to provide personalized recommendations based on genre preferences. User preferences within each genre are determined through an equal distribution of four factors:
Initial Survey: The user's response to the initial survey indicates their initial inclination towards specific genres.
Likes: The percentage of movies liked by the user within each genre influences their preference for those genres.
User Comments: The percentage of comments made by the user within each genre reflects their engagement and interest.
Following: The percentage of users the individual follows who have a preference for a particular genre helps identify commonly appreciated genres.
By analyzing these factors, the algorithm assigns a rating to each genre, determining its relevance to the user's preferences. The top four genres with the highest ratings are then selected as the user's genre preferences, forming the basis of the personalized movie recommendations.
Database Schema:
-
Email
- email
- username: String
- friends: [String]
- liked: [String]
- preferences: [String]
- initialized: [String]
- commented: [String]
- likeCount: Int
- commentCount: Int
- User Preferences:
- genre
- likes: Int
- commented: Int
- initial: Bool ...(Additional genres)
- genre
- email
-
Comments
- Movie 1
- comment: [Comment]
- Movie 1