An open API service indexing awesome lists of open source software.

https://github.com/damianopetrungaro/go-ddd

A practical guideline for creating DDD application in Go
https://github.com/damianopetrungaro/go-ddd

architecture ddd ddd-architecture go golang

Last synced: about 1 year ago
JSON representation

A practical guideline for creating DDD application in Go

Awesome Lists containing this project

README

          

# A practical guideline for developing Domain Driven Design application in Go

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.

## Folder structure

### [Domain Layer](https://damianopetrungaro.com/posts/ddd-how-i-structure-idiomatic-golang-services/#domain-layer)

### [Application Layer](https://damianopetrungaro.com/posts/ddd-how-i-structure-idiomatic-golang-services/#application-layer)

### [Infrastructure Layer](https://damianopetrungaro.com/posts/ddd-how-i-structure-idiomatic-golang-services/#infrastructure-layer)

# Examples

You can take a look at example in the `example` directory.