-
Notifications
You must be signed in to change notification settings - Fork 1
Pitch
A reference implementation of Clean Architecture in Go that can be used in the real world.
One that not only withstands the team and product scale-up but enables it from the get-Go!
The vast majority of code samples online are incomplete or even wrong!
At least for the stacks I’m familiar with, I anticipate the same is true for the Go lang. I’ve shipped multiple products and (micro-) services using Clean Architecture in .Net/C# and Node.js/TypeScript stacks. The reality is, despite the seeming similarity of these stacks and languages, there were significant differences in the language features, libraries ecosystem, developer tools, and overall ideology and idiomaticity. Substantial time investment is required until all the pieces can come together and be used for real-world applications and use cases.
Having looked into the Go language, I was impressed by its simplicity and power. I noticed some of the language features that should be a perfect match for Clean Architecture implementation, where two other stacks mentioned above required a library, for example.
The central promise of Clean Architecture is that it opens the door widely for other great patterns and paradigms, like DDD, FP, CQRS, TDD, BDD, and a plethora of others. But ultimate benefits are loose coupling, the explicitness of the design, extreme testability, and easy adoption, including new hires ramp up, among other things.
- Working App backend in Go, including the database
- Idiomatic and straightforward code that is easy to follow and reason about
- High code coverage with easy to maintain tests
- Running locally or in the app playground
- Is checked into GitHub
- Docker
- What database to use: PostgreSQL? SQLite? A NoSQL one?
- I wanted to play with Redis as well.
- – – TO BE FILLED IN LATER – –
- Tech limitations?
- What external factors are there?
- Privacy concerns
- etc
If you were given a month, what would you do next? Could this integrate with other Commit projects?
– – TO BE FILLED IN LATER – –
-
Original article by Robert C. Martin https://blog.cleancoder.com/uncle-bob/2012/08/13/the-clean-architecture.html
-
In-depth analysis and reflection on the origins and prior art https://edwardthienhoang.wordpress.com/2017/12/13/clean-architecture-standing-on-the-shoulders-of-giants/
-
A complete and exhaustive book Get Your Hands Dirty on Clean Architecture: A hands-on guide to creating clean web applications with code examples in Java by Tom Hombergs
https://github.com/commit-app-playground/go-clean