Our great sponsors
-
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.
-
A really good example of a large app in Go with good packaging is empire.
Related posts
- What's your go to literature to build Go libraries?
- I'm coming from Java and I have been told that I'm writing go like I'm writing Java. Basically creating structs, injecting fields, and attaching methods. What else can I do?
- Can I point a module to a subdirectory?
- How To Build A Containerized Microservice in Golang: A Step-by-step Guide with Example Use-Case
- Official guide for organizing Go projects and modules