Could I get a code review?

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

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

    PostgreSQL driver and toolkit for Go

  • Starting off, is there any reason you're calling out to the CLI, instead of just using a Postgres driver like pgx? Shelling out to the command line should always be a last resort where possible as a software engineer.

  • regroup

    Match regex group into go struct using struct tags and automatic parsing

  • They're supported, but as you said, you have to map them yourself. There's a nifty library that does this for you if you want to save some time.

  • 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
  • cobra

    A Commander for modern Go CLI interactions

  • This is one of those rare times that almost everyone will universally recommend Cobra to handle CLI utilities. It solves a lot of your pain.

  • ldap2pg

    :elephant: :busts_in_silhouette: Manage PostgreSQL roles and privileges from YAML or LDAP

  • go-formatter

    A curated list of awesome Go frameworks, libraries and software

  • https://github.com/avelino/awesome-go is always a good place to start.

  • Gin

    Gin is a HTTP web framework written in Go (Golang). It features a Martini-like API with much better performance -- up to 40 times faster. If you need smashing performance, get yourself some Gin.

  • Use a library for HTTP serving, such as Gin, Chi, or Echo. I personally use Chi, as it's just the right level of abstraction for how I like to work. Despite what others say here, don't try to re-implement everything in a modern serving library using the standard library.

  • chi

    lightweight, idiomatic and composable router for building Go HTTP services

  • Use a library for HTTP serving, such as Gin, Chi, or Echo. I personally use Chi, as it's just the right level of abstraction for how I like to work. Despite what others say here, don't try to re-implement everything in a modern serving library using the standard library.

  • 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
  • Echo

    High performance, minimalist Go web framework

  • Use a library for HTTP serving, such as Gin, Chi, or Echo. I personally use Chi, as it's just the right level of abstraction for how I like to work. Despite what others say here, don't try to re-implement everything in a modern serving library using the standard library.

  • viper

    Go configuration with fangs

  • Use Viper for config file or environmental variable configuration -- it's going to save you a whole lot of time.

  • suture

    Supervisor trees for Go. (by thejerf)

  • This one is highly specialized, but I'm a huge fan of Suture for managing long lived goroutines.

  • conc

    Better structured concurrency for go

  • I'm also a fan of Conc for managing various different concurrency patterns -- don't create manual worker pools for locally distributed tasks if you can use Conc, etc.

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