Building the server-side component of a “movies” web application. The web application will provide users with access to information about different movies, directors, and genres. Users will be able to sign up, update their personal information, and create a list of their favorite movies.
Business Logic | URL | HTTP Method | Query Parameters | Request Body Data Format | Response Body Data Format |
---|---|---|---|---|---|
Returns a list of all movies | /movies | GET | - | - | A JSON object holding data about all the movies |
Returns data about single movie by title | /movies/:Title | GET | :title | - | A JSON object holding data about a single movie |
Returns data about a genre by title | /movies/genre/:genreName | GET | :genreName | - | A JSON object holding data about a specific genre of movie |
Returns data about a director by name | /movies/directors/:directorName | GET | :directorName | - | A JSON object holding data about a specific director |
Allows new users to register | /users | POST | - | A JSON object holding data about the users to add, structured like this: { "Username": "String","Password": "String","Email": "String","Birthday": "Date"} | A JSON object holding data about the user that was added, structured like this { "username" : "Test1", "Password": "1234", "Email": "testtest@gmail.com", "Birthday": "1988-08-08", "favorite movie" : [] } including an ID |
Allows users to update their user info | /users/:Username | PUT | :Username | - | A JSON object holding data about the updated user information |
Allows users to add a movie to their favourites | /users/:Username/movies/:MovieID | POST | :Username,:MovieID | - | A JSON object holding data about the user and the movie that was added |
Allows users to remove a movie from their favourites | /users/:Username/movies/:MovieID | DELETE | :Username,:MovieID | - | A JSON object holding data about the user and the movie that was removed |
Allows existing users to deregister | /users/:Username | DELETE | - | - | A text message indicating whether the user has successfully deregistered |