Skip to content

Overview

What’s in the box?

This project uses a plethora of valuable open-source tools, libaries, and frameworks. Many of them are “free as in beer” as well as “free as in speech”.

🧰 Running things

  • pkgx is without a doubt the best package and command runner out there.
  • Taskfile is a superior version of Makefile.

Combine both for an optimal local DevEx (seamless, portable, invisible).

👽 APIs

  • GraphQL is a pretty widely recognized standard. Great for aggregating data and lots of frontend support.
  • GraphQL is hard to build in the backend, and Protocol Buffers are the undisputed champion of schema modeling.
  • If you’re using Protobufs, choosing not to use Buf isn’t really a choice.
  • To actually build an API from your Protobufs, ConnectRPC is the way to go.
  • The problem is that ConnectRPC isn’t GraphQL. To bridge that gap, use Vanguard (for transcoding) and Tailcall (for API composition).

🗃️ Data

  • Atlas for declarative database migrations — because no one likes having to look at hundreds of migration files or having to guess what the schema currently looks like.
  • Postgres — need I say more?
  • SQLBoiler as a great Go ORM.

🔭 Observability

  • OpenTelemetry (OTel) is the industry standard.
  • Jaeger lets you visualize distributed traces.
  • HyperDX is another open-source platform I’m keen to try.

🎨 Frontend

🤷 Misc