Small app to showcase my approach for building REST API's with GO.
Files
README.md

godoit #

Quick showcase how I like to develop REST services with Go.

Goal #

...re-affirming how I would setup a project using all the mentioned tools.

Development #

Nix #

Everything the project needs — Go toolchain, linters, protoc/buf, psql — comes from the flake, pinned by flake.lock. Editor and personal tool configs stay in ~/.config; the shell reads them normally.

Enter the environment:

nix develop

or if you want to use the fish shell in the env:

nix develop -c fish

DB #

The service applies migrations on startup by itself.

Creating a Migration #

Use the goose cli:

go tool goose create -dir internal/database/migrations <migration-name> sql