Skip to content
Venkata S S K M Chaitanya edited this page Oct 31, 2024 · 5 revisions

Why I created this guide?

The most confusing question for new Go engineers when they start a service is "How shall I organize the code?", "How can I structure the repo to make it extensible?", etc. When I started writing Go back in 2017 I had the same questions, which was very overwhelming. I was so excited to write the code and surface my application in production but these questions inherently slowed me down a lot.

So I am writing this guide after building many battle-tested applications throughout my career.

This structure helped build applications that are

  • Extensible
  • Ready for changes
  • Easier to test

What is this structure ideal for?

  • Microservices and Monoliths

I hope this structure will help you in your Go journey :D

Gophers Heart Balloon

Clone this wiki locally