Golang for backend

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • Squirrel

    Fluent SQL generation for golang

  • Database Access (no ORMs): sqlc for static queries and squirrel for dynamic queries (queries that are constructed depending on conditionals.

  • sqlc

    Generate type-safe code from SQL

  • Database Access (no ORMs): sqlc for static queries and squirrel for dynamic queries (queries that are constructed depending on conditionals.

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • sqlx

    general purpose extensions to golang's database/sql

  • Using the correct driver to connect to the database + https://github.com/jmoiron/sqlx. You will always receive a JSON array on the output with which it is very convenient to work.

    HTTP Router: there a bunch of these, I prefer gorilla/mux but some other people prefer web frameworks like gin-gonic/gin

  • migrate

    Database migrations. CLI and Golang library.

  • Migrations: migrate

  • mux

    Discontinued A powerful HTTP router and URL matcher for building Go web servers with 🦍

  • HTTP Router: there a bunch of these, I prefer gorilla/mux but some other people prefer web frameworks like gin-gonic/gin

  • todo-api-microservice-example

    Go microservice tutorial project using Domain Driven Design and Onion Architecture!

  • One word of advise I can give you is that building a production-grade microservice in Go takes a bit; not because of the language but because you have consider the tradeoffs when choosing different packages to connect everything to make it work (because there's no Django, Ruby on Rails or Spring), I have an educational repository (still work in progress) trying to describe what I've learned from the last 5 years after successfully deploying multiple services to production where multiple engineers contribute and collaborate together; perhaps that could help you.

  • InfluxDB

    Power Real-Time Data Analytics at Scale. Get real-time insights from all types of time series data with InfluxDB. Ingest, query, and analyze billions of data points in real-time with unbounded cardinality.

    InfluxDB logo
  • goose

    A database migration tool. Supports SQL migrations and Go functions.

  • https://github.com/pressly/goose. This migration tool is close to alembic.

  • exposure-notifications-server

    Discontinued Exposure Notification Reference Server | Covid-19 Exposure Notifications

  • No worries, I was just saying isolate any database related operations specific to a package. https://github.com/google/exposure-notifications-server this is a pretty great example of a real world sql /go.

  • SQLBoiler

    Generate a Go ORM tailored to your database schema.

  • https://github.com/volatiletech/sqlboiler cause is nice to have type safety, or sqlc, I use sqlx most of the time

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