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/
Here is the flask server https://github.com/yashodeepchikte/Keep-Watching-server
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.
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)
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 in with Google, Signin with Github have been tested in developement but have not been added to the deployed build yet.
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
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
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
- 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