Github template for Golang services

This page summarizes the projects mentioned and recommended in the original post on dev.to

Our great sponsors
  • SonarLint - Clean code begins in your IDE with SonarLint
  • Scout APM - Less time debugging, more time building
  • SaaSHub - Software Alternatives and Reviews
  • sqlc

    Generate type-safe code from SQL

    For this matter I chose sqlc which offers a good amount of features like support for different dbs and db drivers. Regarding db migrations, I prefer to run them isolated from the code. There are countless tools to manage migrations but recently I've been sticking with go-migrate which also provides a go library in case I want to integrate the migrations into the code.

  • migrate

    Database migrations. CLI and Golang library.

    For this matter I chose sqlc which offers a good amount of features like support for different dbs and db drivers. Regarding db migrations, I prefer to run them isolated from the code. There are countless tools to manage migrations but recently I've been sticking with go-migrate which also provides a go library in case I want to integrate the migrations into the code.

  • SonarLint

    Clean code begins in your IDE with SonarLint. Up your coding game and discover issues early. SonarLint is a free plugin that helps you find & fix bugs and security issues from the moment you start writing code. Install from your favorite IDE marketplace today.

  • gosec

    Golang security checker

    A github actions workflow is provided to run go fmt, vet, test and gosec. An initial configuration for dependabot is also provided.

  • template-go-service

    Golang service template

    That's it, go take a look at the repo here.

  • dbml

    Database Markup Language (DBML), designed to define and document database structures

    I have recently adopted the practice of defining my db schemas using dbml and generating the sql code using their CLI tool. Example: This schema

  • Task

    A task runner / simpler Make alternative written in Go

    Developer experience is a very important topic to me and I decided to use this project to find a reliable alternative to make. And that's how I found Task:

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts