Idiomatic Go project strucutre

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
  • golang-standards/project-layout

    Standard Go Project Layout

    Though, there is some best practices that already popular among many Go developers. https://github.com/golang-standards/project-layout is one of them. It is really great that you know about it, and thinking about such things really makes you great programmer.

  • exposure-notifications-server

    Discontinued Exposure Notification Reference Server | Covid-19 Exposure Notifications

    However, IMO, the closest to an "official" layout would be the "Exposure Notifications Server" project, but even then I think it really depends on the business domain of your project which in the end affects naming and the final project structure.

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

  • todo-api-microservice-example

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

    Similar to the "Exposure Notifications Server", I maintain a project for doing something like that with my own opinionated choices and tradeoffs, I know those work for sure because the systems I've built follow that structure and are still running and maintained by myself and a group of engineers, so perhaps you find it useful.

  • empire

    A PaaS built on top of Amazon EC2 Container Service (ECS) (by remind101)

    A really good example of a large app in Go with good packaging is empire.

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