Can you recommend open source projects with small codebase, but with high benefits for learning?

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

    Instantly expose local services to the internet

  • Take a look at Tunl https://github.com/pjvds/tunl. It exposes local services and docker containers similar to Ngrok and might teach you a bit about reverse proxies, networking and creating a CLI tool.

  • todocheck

    A static code analyser for annotated TODO comments

  • Well, always willing to welcome new contributors to https://github.com/preslavmihaylov/todocheck. The codebase is relatively small (less than 10k LOC) and there are some "good first issue"s open

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

    ECMAScript/JavaScript engine in pure Go

  • If you have some experience and find parsers and interpreters to be pleasant, take a look at https://github.com/dop251/goja because it's a pure Go (instead of calling out to v8 or quickjs via cgo) implementation of es5.1+ which is working it way towards es6+. I think it's a nice place to look if you have experience because the features needed are well defined with standardized tests, and you can work on one small thing at a time as a unit.

  • booster

    Fast and secure initramfs generator

  • https://github.com/anatol/booster is an initramfs generator. Reading its sourcecode and contributing to the project will let you learn *a lot* about early boot process at Linux.

  • luks.go

    Pure Golang library to manage LUKS partitions

  • https://github.com/anatol/luks.go a golang library to unlock LUKS partitions. Look at it if you are interested in cryptography.

  • Aero

    :bullettrain_side: High-performance web server for Go (2016). New alpha (2024) with even better performance is currently in development at https://git.akyoto.dev/go/web (not production ready yet) (by aerogo)

  • zip

    Fork of Go's archive/zip to add reading/writing of password protected zip files. (by yeka)

  • github.com/yeka/zip

  • 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
  • wireguard-go

    Mirror only. Official repository is at https://git.zx2c4.com/wireguard-go

  • https://github.com/WireGuard/wireguard-go/blob/master/main.go#L67-L70

  • set

    Package set is a small wrapper around the official reflect package that facilitates loose type conversion and assignment into native Go types.

  • It's generally not well received to use reflect to step around Go's type system but there are also instances where the type system starts to violate DRY. I've put together a small package that uses reflect to work some magic on types @ https://github.com/nofeaturesonlybugs/set

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