- Code: https://github.com/giteshChauhan/project_vidly_frontend
- What does this app for?: https://github.com/giteshChauhan/project_vidly_frontend
-
Learnings from MERN have been put to this project.
-
This is the backend of projectvidly web application build on nodejs which was deployed on digitalOcean.
-
Meanwhile frontend is build on reactjs which was deployed on netlify
-
Also database used: MongoDB Cloud aka Altas
-
As backend is deployed on digitalOcean and frontend on netlify, therefore CORS policy is resolved. Now only this frontend can use our backend
- project_vidly_env=""
- project_vidly_db=""
- project_vidly_private_key=""
- project_vidly_email=""
- project_vidly_pass=""
POST/api/register : to register an user. Returns user-token. Needs: { "name": "", "email": "", "pasword": "", "ip": "", "userMetaInfo": "", "os": "", }
POST/api/login : to login an user. Returns user-token. Needs: { "email": "", "pasword": "" }
GET/api/movies : to get all listed movies. Needs: {}
GET:id/api/movies : to get movie by id. Needs: user-token
POST/api/movies : to add new movie into database. Only admins can access. Header: user-token Body:{ "title": "", "genreId": "", "yt_id": "", "imdb_id": "", "year": "", "rating": "", "cinema": "", "contentType": "", "thumbnailUrl": "", }
PUT:id/api/movies : to update a movie by id. Only admins can access. Header: user-token Body:{ "title": "", "genreId": "", "yt_id": "", "imdb_id": "", "year": "", "rating": "", "cinema": "", "contentType": "", "thumbnailUrl": "", }
DELETE/api/movies : to delete a movie by id. Only admins can access. Needs: user-token
GET/api/genres : to get all listed genres. Needs: {}
GET:id/api/genres : to get genre by id. Needs: user-token
POST/api/genres : to add new genre into database. Only admins can access. Header: user-token Body: { "name" : "" }
PUT:id/api/genres : to update a genre by id. Only admins can access. Header: user-token Body: { "name" : "" }
DELETE/api/genres : to delete a genre by id. Only admins can access. Needs: user-token
GET/api/cinema : to get all listed cinema. Needs: {}
GET:id/api/cinema : to get genre by id. Needs: user-token
POST/api/cinema : to add new genre into database. Only admins can access. Header: user-token Body: { "name" : "" }
PUT:id/api/cinema : to update a genre by id. Only admins can access. Header: user-token Body: { "name" : "" }
DELETE/api/cinema : to delete a genre by id. Only admins can access. Needs: user-token
GET/api/contenttype : to get all listed contenttype. Needs: {}
GET:id/api/contenttype : to get genre by id. Needs: user-token
POST/api/contenttype : to add new genre into database. Only admins can access. Header: user-token Body: { "name" : "" }
PUT:id/api/contenttype : to update a genre by id. Only admins can access. Header: user-token Body: { "name" : "" }
DELETE/api/contenttype : to delete a genre by id. Only admins can access. Needs: user-token
GET/api/history : to get user's history. Needs: user-token
POST/api/history : to post each movie played to history. Header: user-token Body: { "movieId": "", }
GET/api/watchlater : to get user's watch later movies. Needs: user-token
POST/api/watchlater : to post user's movie to watch later. Header: user-token Body: { "movieId": "", }
GET/api/feedback : to get user's feedback. Needs: user-token
GET/api/feedback/all : to get all user's sent feedbacks. Only admins can access. Needs: user-token
POST/api/feedback : to post user's feedback. Body: { "email": "", "feedback": "", "ip": "", }
views/welcomeMessage.handlebars : handlebar template sent via email when new user registers'.
utils/mail.js : nodemailer transporter to send emails to users.