/go-backend-quickstart

Backend template. Includes validation, sqlc code generation and more

Primary LanguageGoMIT LicenseMIT

go-backend-quickstart

Introduction

The goal of this template is to create a solid starting point for a Go backend.

This template will give you a basic structure including an example todo-app that implements the following things:

Disclaimer

This template is far from perfect. I am not an experienced Go developer. I am open for suggestions!

Usage

To run the example, follow these steps:

  1. Run go mod tidy.
  2. Make a copy of .env.example with the name .env.
  3. Set the required environment variables.
  4. Run make run-postgres (In the Makefile, set DOCKER_CLIENT to podman if you're using podman).
  5. Run make apply-migrations.
  6. Run go run cmd/api/main.go.

The documentation is now accessible at http://localhost:3000/swagger/.

The Todo-Example

If you think that the example code is bloated then you are probably right...

...but I wanted to showcase as much as possible in terms of what is achievable with this stack and how to implement it.

What it does

There are Users and Todos. A User can create a Todo and Users can be assigned to Todos.

Updates to the documentation on this templates will follow soon