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 | Request body data format | Response body data format |
---|---|---|---|---|
Display Welcome Page to the user | / | GET | None | A text message welcoming the user |
Get the list of all movies | /movies | GET | None | JSON object containing data about all movies (ID, Title, Genre, Director, Description, Featured, imgUrl) |
Get the data about a movie by title | /movie/:title | GET | None |
A JSON object containing data about a single movie by name (ID, Title, Genre, Director, Description, Featured, imgUrl) For example:
|
Get the list of all genres | /genres | GET | None | A JSON object containing data about all genres (ID, Name, Description) |
Get the data about a genre by name | /genres/:name | GET | None |
A JSON object containing data about genre by name (ID, Name, Description) For example:
|
Get the list of all directors | /directors | GET | None | A JSON object containing data about all directors (ID, Name, Bio, Birth) |
Get the data about one director by name | /directors/:name | GET | None |
A JSON object containing data about a director by name (ID, Name, Bio, Birth) For example:
|
Get the list of all users | /users | GET | None | A JSON object containing data about all users (ID, FavoriteMovies, Username, Password, Email, Birthday) |
Get the data about a user by username | /users/:username | GET | None | A JSON object containing data about a single user by username (ID, FavoriteMovies, Username, Password, Email, Birthday) |
Add a new user | /users | POST |
A JSON object containing data about a new user to add (Username, Password, Email, Birthday), structured like:
|
A JSON object containing data about the new user that was added (ID, FavoriteMovies, Username, Password, Email, Birthday):
|
Update user info | /users/:username | PUT | A JSON object containing the updated data of the user (Username, Password, Email, Birthday) | A JSON object containing the updated data of the user (FavoriteMovies, Username, Password, Email, Birthday) |
Delete an existing user | /users/:username | DELETE | None | A text message indicating that the user has been deleted |
Add favorite movies to the list of favorites | /users/:username/movies/:movieID | POST | A JSON object holding data about the movie to add to the list of favorites | A JSON object containing the updated data of the users favorite movie and a text message indicating that a movie has been added. |
Delete favorite movies from the list of favorites | /users/:username/movies/:movieID | DELETE | None | A text message indicating that a favorite movie has been deleted from the list of favorites |