Skip to content

API that encapsulates information about the tapes available in the Golden VCR library

Notifications You must be signed in to change notification settings

golden-vcr/tapes

Repository files navigation

tapes

The tapes API is responsible for encapsulating information about the tapes that are available in the Golden VCR library.

The source of truth for tapes is the Golden VCR Inventory spreadsheet on Google Sheets. This application uses the Google Sheets API in order to access the data contained in that spreadsheet.

The tapes API is also responsible for knowing which images are available for any given tape, and where they can be found. Tape images are stored in an S3-compatible bucket in DigitalOcean Spaces: this application uses the AWS SDK to query that bucket for a listing of image files.

Development Guide

On a Linux or WSL system:

  1. Install Go 1.21
  2. Clone the terraform repo alongside this one, and from the root of that repo:
    • Ensure that the module is initialized (via terraform init)
    • Ensure that valid terraform state is present
    • Run terraform output -raw env_tapes_local > ../tapes/.env to populate an .env file.
    • Run ./local-db.sh up to ensure that a Postgres server is running locally (requires Docker).
  3. Ensure that the auth server is running locally.
  4. From the root of this repository:

Once done, the tapes server will be running at http://localhost:5000.

Generating database queries

If you modify the SQL code in db/queries, you'll need to generate new Go code to gen/queries. To do so, simply run:

  • ./db-generate-queries.sh

About

API that encapsulates information about the tapes available in the Golden VCR library

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published