A full-stack Movie Recommendation System that allows users to discover movies based on popularity, genre, and content-based filtering using machine learning. Built with a Django + TypeScript + Tailwind CSS.
- Python
- Django
- TypeScript
- Tailwind CSS
- PostgreSQL / SQLite (customizable)
- Machine Learning (Cosine Similarity, Pandas, etc.)
- 🔍 Browse and search for movies
- ❤️ Like and view history-based recommendations
- 🎬 Movie detail pages with genre, language, cast, and descriptions
- 🔧 Add, update, and delete movies, genres, and languages
- 📈 View movie popularity based on user interactions
- 📌 Content-based filtering using cosine similarity
- 📊 Popularity-based sorting (recent views & likes)
- Python >=3.12
- Node.js and npm
-
Clone the repository:
git clone https://github.com/Rajesh-K-C/movie_recommendation.git cd movie_recommendation
-
Create and activate virtual environment
You can choose either pip or uv for installing dependencies:
Option 1: Using pip
# Create virtual environment # macOS/Linux: python3 -m venv venv # Windows: py -m venv venv # Activate the environment # macOS/Linux: source .venv/bin/activate # Windows: venv\Scripts\activate # Install dependencies pip install -r requirements.txt
Option 2: Using uv (Faster alternative)
# Install uv (if not installed) pip install uv # Create and activate environment uv venv venv source venv/bin/activate # macOS/Linux venv/Scripts/activate # Windows # Install using uv uv sync
-
Run migrations and create superuser
# macOS/Linux: python3 manage.py migrate python3 manage.py createsuperuser # Windows: py manage.py migrate py manage.py createsuperuser
-
Start the server
# macOS/Linux: python3 manage.py runserver # Windows: py manage.py runserver
-
Install Tailwind CSS
npm install
-
Start the Tailwind CLI build process
npm run watch:css
-
Install TypeScript(Optional)
# install TypeScript npm install -g typescript # compile TypeScript tsc --watch
Contributions are welcome!
Please open an issue or submit a PR with improvements or fixes.
This project is licensed under the MIT License. You are free to use, copy, modify, merge, publish, distribute, sublicense, and/or sell copies of the Software.
Developed by Rajesh KC
For questions, suggestions, or collaborations, feel free to reach out!