Movie-Flix Documentation

This 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
Login to user
Must login to access the API
/login POST Params of
Username: "username"
Password: "password"
A JSON object holding data about logged in user
Returns info about signed in user
{
"user":{ User Info },
"token": "your-token"
}
Get a list of movies /movies GET NONE A JSON array holding data about all the movies
Returns an array of movies
[] Movies
Get info by Movie
Description, Genre, Director, Cover-art
/movies/:Title GET NONE A JSON object holding data about the movie
Returns an object about the movie
{
Title: string,
Description: string,
Released: string,
Genre: []string,
Director: []string,
ImagePath: string
Featured: boolean
}
Get a list of Genres /genres GET NONE A JSON array holding data about all Genre
Returns a array of Genre
[] Genres
Get Genre by Name
Horror, Action, Sci-fi
/genres/:Name GET NONE A JSON object holding data about chosen Genre
Returns a object about Genre
{
Name: string,
About: string
}
Get a list of Directors /directors GET NONE A JSON array holding data about all Directors
Returns a array of Directors
[] Directors
Get Director by Name
example: Ridley Scott
/directors/:Name GET NONE A JSON object holding data about chosen directors name
Returns a object about the director
{
Name: string,
Bio: string,
Born: intiger,
Dead: string
}
Allow new users to register /users POST A JSON object holding data about the user to add.
Structured like:
{
"Username": "Billy",
"Password": "secure123",
"Email": "billy.g@email.com",
"FavoriteMovies": [],
"Birthday": "YYYY-MM-DD"
}
A text message indicating whether the user was successfully created or not
Message: "Billy" was added
Get user by username /users/:Username GET Authorize your token A JSON object holding data about user
Returns an object about the user
{
"Username": "Billy",
"Password": "secure123",
"Email": "billy.g@email.com",
"FavoriteMovies": [],
"Birthday": "YYYY-MM-DD"
}
Allow users to update their user info /users/:Username PUT Authorize your token
A JSON object holding data about the user update.
Structured like:
{
"Username": "Billy G",
}
A JSON object holding data about updated user:
{
"Username": "Billy G",
"Password": "secure123",
"Email": "billy.g@email.com",
"FavoriteMovies": [],
"Birthday": "YYYY-MM-DD"
}
Allow users to add a movie to their
list of favorites
/users/:Username/movies/:MovieID POST Authorize your token A text message indicating whether the favorite movie was added or not
Message: Movie added to Favorites
Allow users to Remove a movie from their
list of favorites
/users/:Username/movies/:MovieID DELETE Authorize your token A text message indicating whether the favorite movie was removed or not
Message: Movie removed from Favorites
Allow existing users to deregister /users/:Username DELETE Authorize your token A text message indicating whether the user was removed or not
Message: "Willy" was deleted