Skip to content

anime-skip/public-api

Repository files navigation

Public API

The primary backend for Anime Skip, containing user preferences, episodes, shows... and of course timestamps!

Check out the API Playground for example usage and read the docs.

Contributing

The project is written in Go. However, all builds are done in a docker container, so you only need Go installed for editor support.

Contributors

Install Tooling

  • go v18+
  • jq to parse JSON for some run scripts
  • GNU make to execute the Makefile
  • docker for building and running locally
  • docker-compose for running a database when starting the app

    Make sure you have the docker-compose command, not docker compose. Create an alias for it if needed:

    alias docker-compose="docker compose"
  • ginkgo CLI for running BDD-style unit tests
    go install github.com/onsi/ginkgo/v2/ginkgo

Build Commands

make run       # Run API, postgres database, and other services locally
make run-clean # Same as run, but start with an empty postgres database
make watch     # Run everything, but restart when saving a file
make gen       # Generate GraphQL server code after changing api/*.graphqls
make compile   # Compile the application outside of docker to bin/server
make build     # Build the latest development docker image
make test      # Run unit tests

Editor Setup

Feel free to add a section for your editor if it's not listed!

VS Code

Install the golang extension. Make sure to follow the quick start to install extra CLI tooling the extension relies on!