This project is a Django-based movie recommendation system that leverages data scraping, database management, vectorization, similarity calculation, and recommendation generation to deliver personalized movie suggestions. The system is designed to enhance user experience by providing tailored movie recommendations based on individual preferences.
- Data Collection: Uses TMDB's API to collect comprehensive movie data, including titles, genres, descriptions, posters, release dates, and popularity scores.
- Database Management: Organizes the collected data into a structured database for efficient storage and retrieval.
- Text Preprocessing: Cleans and standardizes movie descriptions by removing HTML tags, punctuation, special characters, and stopwords, followed by tokenization and normalization.
- Vectorization: Converts textual descriptions into numerical vectors using TF-IDF (Term Frequency-Inverse Document Frequency), capturing the essence of each movie's content.
- Similarity Calculation: Computes cosine similarity between movies to measure how closely related they are based on content.
- Recommendation Generation: Provides personalized movie recommendations based on user input, such as preferences, input movie, or browsing history.
-
Clone the Repository
git clone https://github.com/your-username/movie-recommendation-system.git cd movie-recommendation-system
-
Create a Virtual Environment
python -m venv env source env/bin/activate # On Windows: `env\Scripts\activate`
-
Install Dependencies
pip install -r requirements.txt
-
Set Up TMDB API Key
- Sign up for a TMDB API key from TMDB.
- Create a
.env
file in the project root and add your API key:TMDB_API_KEY=your_tmdb_api_key
-
Run Migrations
python manage.py migrate
-
Run the Development Server
python manage.py runserver
-
Access the Application
- Open your web browser and navigate to
http://localhost:8000
.
- Open your web browser and navigate to
Contributions are welcome! Please fork the repository and create a pull request with your proposed changes.
This project is licensed under the MIT License. See the LICENSE file for details.
For any inquiries, please contact Nirakar Jena at Gmail.