IndieFilms

IndieFilms is a web application that will provide users with a database of movies where they can sign up and create an account to create a list of their favorite movies.

This is a server-side component of a "movies" web application. The application will include the complete server-side, including server, business logic, and business layers of the application. It will consost of a REST API and architected database built using JavaScript, Node.js, Express, and MongoDB. The application will be hosted online and will be responsive for all users on all devices.

Request URL HTTP Method Request Data Format Response Data Body Format
Get a list of movie titles /movies GET None A JSON object holding data about the movies.
Example: { title: 'The Godfather' }
Get data about a single movie /movies/[title] GET None JSON object holding data about a single movie containing title, genre, and director.
Example: {
title: 'The Godfather',
Genre: ['Crime', 'Drama'],
Director: 'Francis Ford Coppola'
}
Return data about a genre /movies/[genreName] GET None JSON object holding data about the genre will be returned
Information about the director of a single movie /movies/directors/[directorName] GET None JSON object holding data about the director of a single movie.
Example: {
name: Francis Ford Coppola
bio: 'An American director born in Detroit, Michigan'
birth year: 1939
}
Show all users /users GET A JSON object holding data about all of the registered users A JSON object holding data was added
Example:
{
id: 1
name: Elliott Frey
favoriteMovies: 'Harry Potter and the Sorcerer's Stone'
}
Add new users /users POST A JSON object holding data about the user to add A JSON object holding data was added
Example:
{
id: 1
name: Elliott Frey
favoriteMovies: 'Harry Potter and the Sorcerer's Stone'
}
Update user info /users/[Name] PUT None A text message indicating the new user info
User adds a movie to list of favorites /users/[Name]/movies/[MovieID] PUT None A text message indicating the movie was added to user's list
Remove a movie from user list /users/[Name]/movies/[MovieID] DELETE None A text message indicating movie was removed from list
User deregisters /user/[Name] DELETE None A text message indicating the user has succesfully deregisgtered