MyFlix Application Documentation Page

Objective:

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.

Features

Additionally

  • Allow users to see which actors star in which movies
  • Allow users to view information about different actors
  • Allow users to view more information about different movies, such as the release date and the movie rating
  • Allow users to create a “To Watch” list in addition to their “Favorite Movies” list


  • 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