Skip to content

WatchWise is a mood-based movie and TV show recommendation platform designed to help users discover the perfect content based on their current emotional state.

License

Notifications You must be signed in to change notification settings

dyingpotato890/WatchWise

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

WatchWise - Mood Based Movie Recommendation System


WatchWise Logo


Table of Contents

Overview

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.

Features

  • 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

Technology Stack

  • Frontend: React.js, Redux, Material-UI
  • Backend: Flask
  • Database: MongoDB
  • Authentication: JWT
  • API Integration: TMDB (The Movie Database), Gemini

UML Diagrams

Architecture Diagram:

ER Diagrams:

Activity Diagram

Installation

Prerequisites

  • Python 3.9 or later.
  • Node.js and npm.
  • MongoDB Server.

Steps

NOTE: If you are using the project for the first time, ensure to set environment variables for GEMINI and MongoDB.

  1. Clone the repository:
    git clone https://github.com/dyingpotato890/WatchWise.git
    cd WatchWise
  2. 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
  3. Set up the frontend:
    • Navigate to the frontend folder:
      cd frontend
    • Install dependencies:
      npm install
    • Start the development server:
      npm start

Contributing

Contributions are welcome! Please follow these steps:

  1. Fork the repository.
  2. Create a new branch:
    git checkout -b feature-name
  3. Commit your changes:
    git commit -m "Description of changes"
  4. Push to the branch:
    git push origin feature-name
  5. Submit a pull request.

Contributors

  1. Gayathri K. Binoy
  2. Megha B
  3. Nihar Niranjan
  4. Niranjay Ajayan

License

This project is licensed under the GPL-3.0 License. See the LICENSE file for details.

About

WatchWise is a mood-based movie and TV show recommendation platform designed to help users discover the perfect content based on their current emotional state.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 4

  •  
  •  
  •  
  •