What are some good open source project to read when learning Go?

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

Our great sponsors
  • Scout APM - Truly a developer’s best friend
  • InfluxDB - Build time-series-based applications quickly and at scale.
  • SonarQube - Static code analysis for 29 languages.
  • talent.io - Download talent.io’s Tech Salary Report
  • upspin

    Upspin: A framework for naming everyone's everything.

    Perhaps upspin, it's written by some of the primary Go contributors itself.

  • urlredir

    Educational URL redirector service in Go

    I've tried to write https://github.com/ptman/urlredir as educational code. It's a bit dated, but at least simple. Feedback welcome.

  • Scout APM

    Truly a developer’s best friend. Scout APM is great for developers who want to find and fix performance issues in their applications. With Scout, we'll take care of the bugs so you can focus on building great things 🚀.

  • go-zero

    A cloud-native Go microservices framework with cli tool for productivity.

  • changelog

    A changelog generator which uses GitHub's API for the details (by jimschubert)

  • beast-changelog-action

    This changelog action is a beast :)

    I've also wrapped that project into a GitHub action which is also written in Go, and is low LOC https://github.com/jimschubert/beast-changelog-action

  • errors

    Simple error handling primitives

    https://github.com/pkg/errors - errors with stack traces

  • chi

    lightweight, idiomatic and composable router for building Go HTTP services

  • InfluxDB

    Build time-series-based applications quickly and at scale.. InfluxDB is the Time Series Data Platform where developers build real-time applications for analytics, IoT and cloud-native services in less time with less code.

  • ent

    An entity framework for Go

  • koanf

    Simple, lightweight, extensible, configuration management library for Go. Support for JSON, TOML, YAML, env, command line, file, S3 etc. Alternative to viper.

  • go-flags

    go command line option parser

    https://github.com/jessevdk/go-flags - struct based flag parsing

  • Vault

    A tool for secrets management, encryption as a service, and privileged access management

    https://github.com/hashicorp/vault - secret management

  • consul

    Consul is a distributed, highly available, and data center aware solution to connect and configure applications across dynamic, distributed infrastructure.

  • Ory Hydra

    OpenID Certified™ OpenID Connect and OAuth Provider written in Go - cloud native, security-first, open source API security for your infrastructure. SDKs for any language. Works with Hardware Security Modules. Compatible with MITREid.

    https://github.com/ory/hydra - extensible OIDC provider

  • Ory Kratos

    Next-gen identity server (think Auth0, Okta, Firebase) with Ory-hardened authentication, MFA, FIDO2, TOTP, WebAuthn, profile management, identity schemas, social sign in, registration, account recovery, passwordless. Golang, headless, API-only - without templating or theming headaches. Available as a cloud service. (by ory)

    https://github.com/ory/kratos - generic user management

  • Harbor

    An open source trusted cloud native registry project that stores, signs, and scans content.

    https://github.com/goharbor/harbor - docker registry

  • rancher

    Complete container management platform

    https://github.com/rancher/rancher - container management platform

  • go-ethereum

    Official Go implementation of the Ethereum protocol

    https://github.com/ethereum/go-ethereum - ethereum client

  • prometheus

    The Prometheus monitoring system and time series database.

    I really liked the prometheus codebase when I was contributing to a fork of it once.

  • go

    The Go programming language

  • SonarQube

    Static code analysis for 29 languages.. Your projects are multi-language. So is SonarQube analysis. Find Bugs, Vulnerabilities, Security Hotspots, and Code Smells so you can release quality code every time. Get started analyzing your projects today for free.

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