Retro Video Store API

Skills Assessed

  • Following directions and reading comprehension

  • Demonstrating understanding of the client-server model, request-response cycle and conventional RESTful routes

  • Driving development with independent research, experimentation, and collaboration

  • Considering different implementations to meet project requirements

  • Using Postman as part of the development workflow

  • Using unit tests as part of the development workflow

  • Using git as part of the development workflow

  • Working with the Flask package:

    • Creating models
    • Creating conventional RESTful CRUD routes for models
    • Reading query parameters to create custom behavior
    • Create unconventional routes for custom behavior
    • Creating a many-to-many relationship between two models

Goal

Once upon a time in ye olden days to watch a movie a person had to head down to their local video store and rent a video. We are going to step into the shoes of this old timey retro video store owner and build for ourselves a Video Store API to handle the back end.

The full functionality is spelled out further in the "Project Directions" files (linked below). At a high-level, our goal is to create a video store API with the following minimum functionality:

  • Customers, all CRUD actions
  • Videos, all CRUD actions
  • Video rental checkout, custom endpoint
  • Video rental check in, custom endpoint
  • Listing videos checked out to a customer, custom endpoint
  • Listing customers who have checked out a video, custom endpoint

How to Complete and Submit

Go through the waves one-by-one and build the features of this API.

Use the Requirements in the Project Directions and the unit tests to guide your development.

At submission time, no matter where you are, submit the project via Learn.

Project Directions

  1. Setup
  2. Wave 1: CRUD for two models
  3. Wave 2: Custom endpoints
  4. Wave 3: Optional extensions