This project is an advanced movie recommendation system that uses Machine Learning algorithms to provide personalized suggestions based on user behavior. Additionally, it integrates external APIs to provide detailed movie data and create an interactive and optimized user experience.
- Description: The system uses machine learning algorithms to generate personalized movie recommendations based on the user's viewing history, ratings, and genre preferences.
- Suggested Algorithms: Collaborative Filtering or Content-Based Filtering.
- Tools: Implemented using libraries like
scikit-learn
orTensorFlow
to train and optimize recommendation models.
- Used APIs: The system integrates with popular movie APIs such as The Movie Database (TMDb) or OMDb to fetch detailed movie data, trailers, cast, and ratings.
- Semantic Search: NLP (Natural Language Processing) techniques are used to improve movie searches, allowing for loosely defined or incomplete queries.
- Movie Ratings: Users can rate watched movies and provide feedback on recommendations, allowing the model to learn and adjust future suggestions.
- User Authentication: Django authentication is implemented, allowing each user to have a personalized profile with favorite movies, viewing history, and genre preferences.
- Filtering: Provides custom filters so users can search by genre, year, rating, and language.
- Watchlist Function: Users can add movies to a "watch later" list, keeping them engaged with the platform.
- Trending Recommendations: The system suggests popular movies globally or based on the user's region, using location data to provide culturally relevant recommendations.
- Web Scraping: Integrates scraping of sites like Rotten Tomatoes to gather reviews and offer a broader view of public opinion on movies.
- Responsive Design: The layout is designed to be user-friendly and functional on mobile devices.
- Frameworks: Uses frameworks like React or Vue.js along with Django REST Framework to create a smooth and interactive browsing experience.
- Real-Time Recommendations: The system dynamically recommends movies based on user behavior, such as time spent on movie pages or categories, using WebSockets for real-time updates.
- Dashboard: A stats dashboard shows users how many movies they have watched, their most viewed genre, top-rated movies, and other metrics.
- Achievements: The system includes gamification elements, such as achievements for watching a certain number of movies or rating films, encouraging user engagement.
- Social Sharing: Allows users to share their favorite movies, recommendations, and movie playlists on social media platforms like Twitter or Facebook.
- Languages: Python, JavaScript
- Backend: Django, Django REST Framework
- Frontend: React, Vue.js
- External APIs: TMDb, OMDb
- Machine Learning: scikit-learn, TensorFlow
- Web Scraping: BeautifulSoup, Scrapy
- Database: PostgreSQL
- Authentication: Django Authentication
- Clone this repository:
git clone https://github.com/larissadcew/movie-recommendation-system
- Create a virtual environment and install the dependencies:
python -m venv env source env/bin/activate pip install -r requirements.txt
- Set up API keys for TMDb or OMDb in a
.env
file. - Run Django migrations and start the server:
python manage.py migrate python manage.py runserver
Contributions are welcome! Feel free to open issues or pull requests to improve the system.
This project is licensed under the MIT License.