Skip to content

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Read-Only Movie API 🎥

This project is to be worked on in groups of 2–3. Build out an API that sends the client data about movies. Store these data as an Array of Movies. Work together using Git. Group participation will be measured with commit history.

Model

The model is the backbone of your project, and it is a good idea to start with it first. Use the information below to build your model. Remember to use Lombok to reduce boilerplate code.

  • id Unique id of the movie.
  • title name of the movie.
  • desciption
  • releaseDate This needs to use a Date object. Not a String.
  • rating Store this info how you like. Enum?
    • Add any helper methods you need for the date or rating.

JSON

Update your maven pom.xml file to bring in GSON.

<!-- https://mvnrepository.com/artifact/com.google.code.gson/gson -->
<dependency>
    <groupId>com.google.code.gson</groupId>
    <artifactId>gson</artifactId>
    <version>2.11.0</version>
</dependency>

Structure your JSON array of movies to match your model. Make sure you match the value names with your models names.

Service

Look into the MovieService interface. You will need to build out each method in the MovieServiceImp file. Make sure each method has appropriate validation that throws errors.

Controller

Consumes all resources in your service layer. You should have an end point for each service. Structure your endpoints like below.

  • movie/api/ returns all movies.
  • movie/api/{year} gets the highest rated movie that year.
  • movie/api/avg/{year} gets the average rating for that year.

Rubric

This project is graded based on execution and quality of the code submitted. Each feature is evaluated individually. It is assumed that all work is done by the student that submitted the work unless otherwise cited.

Task Points
Controller
Model
Data
Service
Code Standard
Total 20pts

About

No description, website, or topics provided.

Resources

Stars

0 stars

Watchers

0 watching

Forks

Releases

Packages

Contributors

Languages