Visit the webpage at http://bingewapp.herokuapp.com
Our web app is created to provide a place were the user can have all their favourite movies, series, actors and directors information in one place. They will be able to add content to their Watchlist, to their Favourites list as well as give ratings and comments and send email recomendations to their friends.
Jordi Boronat & Patricia Muñoz
- Teacher: Germán Alvarez
- TAs: Belen Olias, Enrique Montaño & Jon Arechalde
- Project Manager: Belen Olias
- HTML & Handlebars, CSS & SASS
- JavaScript (ES6)
- Express: MongoDB, Mongoose, Bcrypt, Passport
We will be working with stabisled endpoints, models and a 3rd party API for this project.
| Path | Method | JSON response |
|---|---|---|
/ |
GET | Welcome page |
/movies |
GET | All movies index |
/series |
GET | All series index |
/actors |
GET | All actors index |
/directors |
GET | All directors index |
/movies?id= |
GET | Movie details page |
/movies?id= |
POST | Add movie to user's lists |
/series?id= |
GET | Series details page |
/series?id= |
POST | Add series to user's lists |
/actors?id= |
GET | Actor details page |
/directors?id= |
GET | Director details page |
/login |
GET | Log in form |
/login |
POST | Send log in form |
/signup |
GET | Sign up form |
/signup |
POST | Send sign up form |
/logout |
GET | Send log out action |
/profile |
GET | User's profile |
/profile/edit?id= |
GET | Edit user's profile form |
/profile/edit?id= |
POST | Send edited user's profile form |
/profile/delete?id= |
GET | Delete user's profile page |
/profile/delete?id= |
POST | Confirm user delete |
/profile/likes |
GET | User's liked content index |
/profile/likes/remove?content=&id= |
POST | Remove movie/serie from likes list |
/profile/seen |
GET | User's seen content index |
/profile/seen/remove?content=&id= |
POST | Remove movie/serie from seen list |
/profile/watchlist |
GET | User's watchlist index |
/profile/watchlist/remove?content=&id= |
POST | Remove movie/serie from watchlist |
In models folder we have several models to be used:
-
The User with these properties:
- email, - password: to be encrypted with bcrypt - name, - about, - role: will be `guest` by default but can also be `admin` - img: will be the image src path - timestamps -
The Movie with these properties:
- title, - overview: a small summary of the plot - release_date, - popularity, - vote_average, - poster_path: will be the image src path from the poster - timestamps
We will be using the The Movies Data Base API.
The base URL to access all the information in this API is this:
https://api.themoviedb.org/3
Also, at the end of every route you'd like to acces you have to include the API key in query format (?api_key=) with the number provided by TMDB.
To access different kinds of information we have different routes provided by TMDB which should be added after the base URL and before the API key: THE MOVIE DATA BASE: base URLs
To access movies
- For a particular movie details: /movie/
<movie_id> - For a particular movie credits: /movie/
<movie_id>/credits
To access series
- For a particular series details: /tv/
<serie_id> - For a particular movie credits: /tv/
<serie_id>/credits
To access actors and directors
- For a particular person's data: /person/
<person_id> - For a particular person's movies credits: /person/
<person_id>/movie_credits - For a particular person's series credits: /person/
<person_id>/tv_credits
To access genres
- For all movies possible genres: /genre/movie/list
- For all series possible genres: /genre/tv/list
To access top ratings (these lists update daily)
- For top rated movies: movie/top_rated
- For top rated series: tv/top_rated
To access populars (these lists update daily)
- For popular movies: movie/popular
- For popular series: tv/popular
To discover content by different type of data like average rating, number of votes, genres and certifications
- For movies: /discover/movie
- For series: /discover/tv
To access images a modified route is used, where the fist parameter refers to the size of the image you'd like to obtain and the second to path of the image you are looking for.
Link: https://image.tmdb.org/t/p/<w300>/<image_path>