Skip to content

This repo is a scaffolding to implementing clean architecture in Golang

License

Notifications You must be signed in to change notification settings

uiansol/go-clean-architecture

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

go-clean-architecture

This repo is a demonstration on how to implement a clean architecture in Golang

Although there are many ways and variations on how to implement clean architecture, for this repo my goals are:

  1. Write clean architecture in a Golang way. Using a common folder structure for Go projects (/cmd, /internal, /pkg...)
  2. Implement it without many deviations or personal preferences. By the book. So that it can serve as a reference for those who want to understand clean architecture in the purest form.
  3. Not be a complete scaffolding for new projects. Therefore, avoid placing a real DB connection, Docker structure... to avoid polluting it with too many files and information.
  4. Trying to explicit the SOLID principles more clearly through the code organization.

Read more about go repo organization.

Read more about clean architecture.

For a detailed explanation of the architecture, how it relates to SOLID, and common alternatives, you can read this post.

About

This repo is a scaffolding to implementing clean architecture in Golang

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages