WatchWise, introduces a novel approach to personalized movie recommendations by integrating mood-based analysis with hybrid recommendation algorithms. This system combines Content-Based Filtering (CB) and Collaborative Filtering (CF) to deliver diverse and tailored suggestions. Users interact with the system by describing their current mood, from which an appropriate emotional state is extracted. Movies aligning with this mood are then recommended, ensuring a more engaging and intuitive user experience.
- Smart Recommendations: Get personalized movie suggestions based on your viewing history and preferences
- Advanced Filtering: Search for movies by genre, release year, director, actors, and more
- User Reviews: Share your thoughts and read what others have to say about films
- Watchlist Management: Save movies to watch later and track your viewing history
- Community Ratings: See how other users have rated movies to make informed decisions
- Frontend: React.js, Redux, Material-UI
- Backend: Flask
- Database: MongoDB
- Authentication: JWT
- API Integration: TMDB (The Movie Database), Gemini
- Python 3.9 or later.
- Node.js and npm.
- MongoDB Server.
NOTE: If you are using the project for the first time, ensure to set environment variables for GEMINI and MongoDB.
- Clone the repository:
git clone https://github.com/dyingpotato890/WatchWise.git cd WatchWise
- Set up the backend:
- Navigate to the backend folder:
cd backend
- Install required Python dependencies:
pip install -r requirements.txt
- Configure Environment Variable:
GEMINI_API_KEY_CHATBOT=your_gemini_api_key
- Run the backend:
cd .. python backend/server.py
- Navigate to the backend folder:
- Set up the frontend:
- Navigate to the frontend folder:
cd frontend
- Install dependencies:
npm install
- Start the development server:
npm start
- Navigate to the frontend folder:
Contributions are welcome! Please follow these steps:
- Fork the repository.
- Create a new branch:
git checkout -b feature-name
- Commit your changes:
git commit -m "Description of changes"
- Push to the branch:
git push origin feature-name
- Submit a pull request.
This project is licensed under the GPL-3.0 License. See the LICENSE
file for details.