Bob Ross API

This API is designed to give users all kinds of data about the painter Bob Ross from his show "The Joy of Painting." Here is the project board where you can see the progress and tasks: https://github.com/faraday-academy/fast-api-bob-ross/projects/1

Inspired by the Swapi open API: https://swapi.dev/

Technologies

  • Python 3.9+
  • Fast API
  • Uvicorn
  • SQL Alchemy 1.4
  • Pydantic
  • Alembic

Requirements

Users should be able to retrieve information about Bob Ross and the Joy of Painting in an intuitive manner. More information coming soon...

MVP

  • In-memory object as a database.
  • Crud operations are open to all users.

Version 1

  • Postgres database
  • User authentication
  • GET requests are public but must be authenticated to make other requests.

Steps

  1. Set up Fast API and server
  2. Create Endpoints
  3. Set up database with Alembic
  4. Set up SQL Alchemy

API

/seasons

/seasons/:id

/seasons/:id/episodes

  • Episode endpoints also pull information about paintings.

/episodes

/episodes/:id

/paintings

/paintings/:id

/paing-colors

/quote

/guests

/animals

Schema

Season

  • number
  • year

Episode

  • season_id
  • number
  • title
  • description
  • youtube_url
  • date

Painting

  • episode_id
  • title
  • img_url
  • type: Enum(landscape, portrait, flower...)
  • TODO: episode_references: m2m (version 2)

Quote

  • text
  • episode: m2m

PaintColor

  • name
  • hex: unique
  • paintings: m2m

Guest

  • name
  • episodes: m2m

Animal

  • species
  • episodes: m2m

Resources