As a practitioner of Go and DDD, I have observed a common tendency in the community to create packages with generic names like "domain," "application," and "infrastructure."
In my opinion, this practice can lead to a lack of clarity and structure in the codebase, which can be detrimental to maintainability and scalability.
To address this issue, I have developed an opinionated repository that provides guidelines for building applications using Go and DDD while avoiding these common pitfalls. The primary purpose of this repository is to encourage developers to think more deeply about the structure and organization of their code and to provide concrete examples and best practices for achieving a clean and maintainable architecture.
You can take a look at example in the example
directory.