Movies Application

A REST API for the "myFlix" application that interacts with a database, providing users with access to information about different movies, directors, and genres. Users will be able to sing 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
Get list of all movies /movies GET None A JSON object holding data about all the movies
Get data of single movie by title /movies/[Movie Title] GET None A JSON object holding data about a single movie, containing title,description,genre,and director. Example:
{

"Title": "It",
"Description":"In the Town of Derry, the local kids are disappearing one by one. In a place known as "The Barrens", a group of seven kids are united by their horrifying and strange encounters with an evil clown and their determination to kill It.",
"Genre": {
"Name":"Horror",
"Description":"Horror is a film genre that seeks to elicit fear or disgust in its audience for entertainment purposes.Horror films often explore dark subject matter and may deal with transgressive topics or themes. Broad elements include monsters, apocalyptic events, and religious or folk beliefs."
},
"Director": {
"Name": "Andy Muschietti",
"Bio": "Andrés Walter Muschietti (born 26 August 1973) is an Argentine film director and screenwriter who achieved wide recognition with the 2013 film Mama. He gained further recognition for directing both films in the It film series, the 2017 film adaptation of the Stephen King novel and its sequel, It Chapter Two. In 2023, he directed the DC Extended Universe film The Flash.",
"Birthyear": "1959"
"Deathyear":""
}

}
Get data of genre by name /movies/genres/[Genre Name] GET None A JSON object holding data about the specified genre
Get data about a director by name /movies/directors/[Director Name] GET None A JSON object containing data about the requested director
Register a user /users POST A JSON object holding data about the user being added. Example:
{

"Username": "Lucas",
"Password": "password123",
"Email": "lucasexample@gmail.com",
"Birthday": "1995-01-01"

}
A JSON object holding data about the newly added user with an assigned ID. Example:
{

"Username":"Lucas",
"Password": "password123",
"Email": "lucasexample@gmail.com",
"Birthday": "1995-01-01",
"ID":"884e676f-aa90-4f21-85c4-498650ef4dec"

}
Update user info(by username) /users/[User Name] PUT {"Email": "newemail@email.com"} A JSON object containing the user's data with the updated information
Add a movie to a user's list of favorites /users/[Username]/movies/[Movie ID] POST None A text message indicating whether a movie was successfully added to user's favorites
Remove a movie from a user's list of favorites /users/[Username]/movies/[Movie ID] DELETE None A text message indicating whether a movie was successfully removed from user's favorites
Deregister a user(remove user) /users/[User Name] DELETE None A text message indicating whether the user was successfully removed