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 |