This web application give users access to info about different movies, genres, and directors. The users will be capable of signing up, updating their account info, and create and manipulate a list of their favorite movies.
| DESCRIPTION | URL | METHOD TYPE | QUERY PARAMETERS | FORMAT OF REQUEST BODY | FORMAT OF RESPONSE | 
|---|---|---|---|---|---|
| Get list of all movies. | /movies | GET | None | None | A JSON object holding data of all the movies. | 
| Get data about a specific movie. | /movies/[name] | GET | :name | None | A JSON object holding data about a specific movie including the description, genre, director, actors, image, and whether or not they are featured. Example: 
                 | 
| Get data about a specific genre. | /movies/genre/[genre name] | GET | :name | None | A JSON object holding a description of a specific genre. Example: 
                 | 
| Get data about a director | /movies/director/[director's name] | GET | :name | None | A JSON object holding data about a director including their name and a Bio. Example: 
                 | 
| Allow a user to register. | /users | POST | None | A JSON object holding data about a user to be added. Example: 
                 | A JSON object holding data about the user just added. | 
| Allow user to update their username | /users/[username] | PUT | :id | A JSON object with the updated username. Example:  
                 | A JSON object with updated username. Example: 
                 | 
| Allow user to add a movie to favorites list | /users/[username]/[movie] | POST | :id, :name | none | A text message confirming the movie was added to user's favorites list. | 
| Allow user to remove movie from favorites list | /users/[username]/[movie] | DELETE | :id, :movie | None | A text message confirming the movie was removed from user's favorites list. | 
| Allow a user to deregister | /users/[username] | DELETE | :id | None | A text message confirming the user's email has been removed. |