Skip to content

Keep-Watching is a movie recommendation and review app build using React for the front-end, express for the back-end, flask for handling the recommendations and similar movies section, mongoDB for the database, passport.js for handling social media logins

License

Notifications You must be signed in to change notification settings

yashodeepchikte/Keep-Watching

Repository files navigation

Keep-Watching

Keep-Watching is a movie recommendation and review app build using React for the front-end, express for the back-end, flask for handelling the recommendations and similar movies section, mongoDB for the database

Here is the final website : https://keepwatching.herokuapp.com/

This project uses SurpriseLib for dealing with Cosine similarity based nearest neighbours algorithm for generating recommendations.
For implimentation purpose dummy users are created using moviewlens 100K dataset. Each user has at least 20 movie ratings.



homepage image



Features

Recommendations are based on similar users(UserBased Collaborative Filtering) and similar movies (itemBased colaborative filtering)
(in deployment the item based model exceeds the available memory limit on the free tier of Heroku so this has not been included)




Similar Movies

If you like a movie you can easily look for more movies similar to the one you liked in the sililar-movies section available for all the movie-pages


signin/sugnup with email

Signin in with Google, Signin with Github have been tested in developement but have not been added to the deployed build yet.



Follow users to see their activity in your Feed

user feed image
user feed image


Search Movies and See their description, imdb ratings, budget, Earnings, director, cast etc.

searchMovies.PNG


searchMovies.PNG


Add Movies to WishList


Admin View


User's page



Setup And Usage

Clone the repo or download and unzip it
Use command propmt to navigate to the extracted folder
Run
npm install
navigate to the Client folder and run
npm install

For Developement

For deployment npm was used so avoid using yarn to avoid the .loc file conflicts in deployment

in the root folder
// in the root folder in the cmd run
npm run dev
// this will run both the client and the server in the same command prompt

Otherwise to run the client and server seperately
in the root folder run
nodemon server.js
in another command prompt in the client folder run
npm start

Login Credentials

You can use either one of these methods

  • you can login with your Google or GitHub account
  • you can Sign up using any valid email (dosent have to be a valid email)
  • you can use this dummy user
    email : abcd@gmail.com
    Password : 123456
## To be done
  • Admin view, admin should be able to see all the activity on the website
  • At this point styling is a mess it need to be counverted to a class oriented fashon like bootstrap unkine what we have now that is componenet based styling
  • Optimize the manifest files ot work proprly with Add to homescreen progressive app
  • Implement the notifications
  • Implement chat with other users
##### PS:- i don't own or claim the egg logo used for the favicon it was copied from google images

About

Keep-Watching is a movie recommendation and review app build using React for the front-end, express for the back-end, flask for handling the recommendations and similar movies section, mongoDB for the database, passport.js for handling social media logins

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published