https://github.com/kumaarbalbir/filmflow
This project is a movie recommendation system that suggests similar movies based on user input. It utilizes data from The Movie Database (TMDb) API to fetch movie details and recommend similar movies.
https://github.com/kumaarbalbir/filmflow
ajax-request flask javascript movie-recommendation python3
Last synced: 3 months ago
JSON representation
This project is a movie recommendation system that suggests similar movies based on user input. It utilizes data from The Movie Database (TMDb) API to fetch movie details and recommend similar movies.
- Host: GitHub
- URL: https://github.com/kumaarbalbir/filmflow
- Owner: KumaarBalbir
- Created: 2024-04-04T04:16:09.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2024-04-04T04:58:50.000Z (over 1 year ago)
- Last Synced: 2025-03-30T13:17:04.304Z (6 months ago)
- Topics: ajax-request, flask, javascript, movie-recommendation, python3
- Language: Python
- Homepage:
- Size: 20.4 MB
- Stars: 0
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# Movie Recommendation System
This project implements a movie recommendation system using data from The Movie Database (TMDb) API. The system allows users to search for movies, view movie details, get similar movie recommendations, and explore cast details.
## Features
- **Search Movies:** Users can search for movies by title.
- **Autocompletion:** Auto suggest films title based on user input.
- **View Movie Details:** Detailed information about each movie, including posters, overview, ratings, genres, release date, and runtime, is displayed.
- **Similar Movie Recommendations:** Based on the selected movie, users can get recommendations for similar movies.
- **Explore Cast Details:** Users can explore details about the cast of a movie, including their birthdays, biographies, and place of birth.## Architecture

## Technologies Used
- **Frontend:** HTML, CSS, JavaScript, jQuery, Bootstrap
- **Backend:** Python, Flask framework
- **API:** The Movie Database (TMDb) API## Setup Instructions
1. Clone the repository: `git clone https://github.com/KumaarBalbir/FilmFlow.git`
2. Create a virtual environment using Conda: `conda create --name filmflow-venv python=3.8`
3. Activate the virtual environment: `conda activate filmflow-venv`
4. Install the required dependencies: `pip install -r requirements.txt`
5. Run the Flask application: `python main.py`
6. Open the browser and navigate to `http://localhost:5000` to access the application.## Project Structure
- `main.py`: Main Flask application file containing route definitions and API integrations.
- `static/`: Contains static files such as CSS stylesheets and JavaScript scripts (`recommend.js`: JavaScript file for frontend functionality such as **AJAX requests** and event handling and `autocomplete.js` is for **autosuggestion** while user enters title name).
- `templates/`: Contains HTML templates for pages of the application.
- `artifact`: `transform.pkl` contains a serialized version of the **TF-IDF vectorizer** or text transformer used for text preprocessing and `sentiment-model.pkl` is serialized trained model for sentiment analysis, specifically a **Multinomial Naive Bayes** classifier.
- `preprocess`: Contains python scripts for data extraction and preprocessing of the movies details used in this project.
- `sentiment-model`: Contains script for training multinomial naive bayes model used for viewers sentiments.
- `assets`: Some project related resource.
- `requirements.txt`: List of Python dependencies required for the project.## Usage
1. Enter the title of a movie in the search box and click on search icon.
2. Select a movie from the search results to view its details.
3. Explore similar movie recommendations and cast details.
4. Enjoy exploring and discovering new movies!🙂 Feel free to contribute, provide feedback, or suggest improvements to the project!