NCSU-CSC510-Group-BHAKQH / CSC-510-Project2-PopcornPicks

NCSU CSC 510 project - A movie recommender system
Other
0 stars 0 forks source link

PopcornPicks🍿: Your Destination for Movie Recommendations

Check our Wiki Page for detailed information about the project, system architecture, installation steps, guides and a lot more!

Maintenance Contributors Activity GitHub issues GitHub issues-closed GitHub closed pull requests PRs Welcome License: MIT DOI Unittest codecovGitHub release StyleCheck: pylint HitCount GitHub contributors GitHub Release Date - Published_At GitHub repo size

Home page PopcornPicks is more than just a movie recommender system; it's a gateway to a world of cinematic adventures. With an ever-expanding library of films, a powerful recommendation algorithm, an all-new chat room, a new state-of-the-art account system, a newly added robust review system, and more, PopcornPicks is here to transform the way you discover, enjoy, and connect with movies.

Contents

Why use PopcornPicks?

<img src="https://media.giphy.com/media/nOwG55u1jGOiTAqKqU/giphy.gif" width="40%" align="right" />

PopcornPicks: Your personalized movie guide!

Documentation

Checkout for project documentation at our wiki page

Project Presentation Video

You can see the project presentation at - https://youtu.be/ymAo_zXfZ0c

Project Description

PopcornPicks is a user-friendly movie recommender that curates a tailored list of 10 movie predictions based on user-provided movie preferences. Users can input their favorite movies, and our algorithm refines recommendations based on feedback—Liked, Disliked, or Yet To Watch. Additionally, users can write reviews, save them, check out the latest movies out there and also check out the buzz going on about movies by viewing what others are writing for their reviews. For the system architecture and other details, please refer to our wiki page

Core Applications of the Project

Engaging and Interactive UI

UI

User Authentication

Sign up: Users can register to PopcornPicks to get the best recommendations for their favourite movies and genres

Sign Up

Login:

Login

Personalised Profile Page for Users

Profile

Check Out New and Upcoming Movies

New Movies

Movie Recommendation Mechanism

Recommend

Write Movie Reviews

Review

See What Others Have Seen

Movies

Chat Room

Chat

Project 3 - New Version

Check out the significant changes that we made for Project 3:

Project 2 Fall 2024 - New Version

Here are some of the new changes implemented for Project 2:

Tech stack Used👨‍💻:

Getting Started

Step 1: Git Clone the Repository

git clone https://github.com/tanmaypardeshi/PopcornPicks.git

(OR) Download the .zip file on your local machine from the following link

https://github.com/tanmaypardeshi/PopcornPicks

Step 2: Follow the setup instructions in the wiki documentation

https://github.com/tanmaypardeshi/PopcornPicks/wiki/Installation-and-setup

Finally, start enjoying personalized movie recommendations!

Render Deployment

This project is now hosted on the free web service Render! You can access the site at this URL:

http://popcorn-picks.onrender.com

WARNING: Since this is hosted on the free tier on render, it can be slow at times, use at your own discretion.

Deploying to render

The deployment CI is set up such that any commits to the master branch will trigger a reploy of the project. This generally takes around 2-3 minutes, so if you try and access the site right after committing and receive a 502, it is most likely that the deploy has not finished yet

Lists Feature

Lists

We have added a new 'Lists' feature. The users can create a list of (at least) five movies they would like to recommend to other users. The users can view the lists of other users on the 'Lists' page. It creates a sense of community. They are recommendations from other human users and not a computer.

Filtering options

Filtering

We have added two filtering options for users: Genres and Release Year. Users can now personalize their recommendations by limiting them to a particular genre or a movie released in a specific year.

Recommendation Logic

Review

We have made changes to the recommendation system. Users can review the movies they are recommended to watch, and their reviews are now included as feedback to our recommendation code logic. The users can now add scores with their reviews instead of just text. The training data includes these past reviews with the scores from the user in addition to the five movies they select. This makes the recommendations better suited to the tastes of the user. Release year and genres selected by the user are also considered when selecting the top nine recommendations.

UI Changes

UI

Each movie in the database now has its own webpage where the users can read up on the movie and also view reviews from other users. This helps them make more informed decisions. This also cleans up the UI and makes for a much better experience. The users can explore and learn new information instead of being bombarded with it.

Fall 2024 Project 2 Presentation Video

You can see the project presentation at - Project 2 Fall 2024 Group 15

Future Scope

PopcornPicks is a dynamic project with endless possibilities for expansion and enhancement. Here are some exciting avenues for future development:

  1. Enahncements on the User Profile: Implement more advanced features to the user profile. For example, include edit or delete review option. Make validations for the duplicate reviews. These are a few examples of what can be enhanced in the future

  2. Integration with Streaming Services: Integrate with popular streaming services to provide real-time availability information and seamless access to recommended movies.

  3. Dynamic Chat Rooms: The current design of the application supports only a single chat room which is global to the website. The chat rooms can be made dynamic to a movie.

  4. Improved Recommendation Algorithm: Enhance the recommendation engine with more advanced machine learning models and collaborative filtering techniques to provide even more accurate and personalized movie suggestions.

  5. Interactive Review System: In this feature, users should be able to comment on other people's reviews so that the site can be more interactive and engaging for everyone

  6. Page for TV Shows: Add a seperate section for TV shows. This can include shows from all streaming websites and television. This can be a parallel to the movies section of the website.

  7. Email Notifier: Allow the user to send their favourite movie recommendations via email.

  8. Wishlist Feature: Implement a feature where users can wishlist the recommendations they like and make lists of movies based on their preferences.

The future of PopcornPicks is full of potential, and we invite developers, movie lovers, and anyone passionate about cinema to join us in making this platform the ultimate movie companion.

Contribute to the Project!

Please refer to the CONTRIBUTING.md if you want to contribute to the PopcornPicks source code. Follow all the guidelines mentioned in the same and raise a pull request, we would love to look at it ❤️❤️!

Contributors

Tanmay Pardeshi
Chandana Ray
Abhinav Sinha
Sam Kwiatkowski-Martin

New Contributors for Project 2 Fall 2024

Aditya Karthikeyan
Braden Helmer
Quoc Hung Le

Join the PopcornPicks Community:

Contribute to the project and help us improve recommendations. Share your experience and film discoveries with us. Together, let's make PopcornPicks the ultimate movie companion! PopcornPicks is more than just code; it's a passion for cinema, and we invite you to be a part of this exciting journey. Start exploring, sharing, and discovering movies like never before with PopcornPicks! Let's make movie nights extraordinary together!

Contact Us

If you have any concerns or questions related to PopcornPicks, you can reach out to us at popcornpickv2@gmail.com

License

This project is under the MIT License.