{"id":29264060,"url":"https://github.com/damianopetrungaro/go-ddd","last_synced_at":"2025-07-04T12:09:06.152Z","repository":{"id":301068621,"uuid":"601340737","full_name":"damianopetrungaro/go-ddd","owner":"damianopetrungaro","description":"A practical guideline for creating DDD application in Go","archived":false,"fork":false,"pushed_at":"2024-03-18T22:46:05.000Z","size":3267,"stargazers_count":13,"open_issues_count":0,"forks_count":3,"subscribers_count":2,"default_branch":"main","last_synced_at":"2025-06-25T02:26:11.021Z","etag":null,"topics":["architecture","ddd","ddd-architecture","go","golang"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/damianopetrungaro.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-02-13T21:29:09.000Z","updated_at":"2025-04-03T08:26:57.000Z","dependencies_parsed_at":"2025-06-25T02:37:10.203Z","dependency_job_id":null,"html_url":"https://github.com/damianopetrungaro/go-ddd","commit_stats":null,"previous_names":["damianopetrungaro/go-ddd"],"tags_count":0,"template":false,"template_full_name":null,"purl":"pkg:github/damianopetrungaro/go-ddd","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianopetrungaro%2Fgo-ddd","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianopetrungaro%2Fgo-ddd/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianopetrungaro%2Fgo-ddd/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianopetrungaro%2Fgo-ddd/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/damianopetrungaro","download_url":"https://codeload.github.com/damianopetrungaro/go-ddd/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/damianopetrungaro%2Fgo-ddd/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263507896,"owners_count":23477407,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["architecture","ddd","ddd-architecture","go","golang"],"created_at":"2025-07-04T12:09:04.692Z","updated_at":"2025-07-04T12:09:06.148Z","avatar_url":"https://github.com/damianopetrungaro.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"# A practical guideline for developing Domain Driven Design application in Go\n\nAs a practitioner of Go and DDD,\nI have observed a common tendency in the community to create packages with generic names\nlike \"domain,\" \"application,\" and \"infrastructure.\"\n\nIn my opinion, this practice can lead to a lack of clarity and structure in the codebase,\nwhich can be detrimental to maintainability and scalability.\n\nTo address this issue, I have developed an opinionated repository\nthat provides guidelines for building applications using Go and DDD while avoiding these common pitfalls.\nThe primary purpose of this repository is to encourage developers to think more deeply about the structure and organization of their code\nand to provide concrete examples and best practices for achieving a clean and maintainable architecture.\n\n## Folder structure\n\n### [Domain Layer](https://damianopetrungaro.com/posts/ddd-how-i-structure-idiomatic-golang-services/#domain-layer)\n\n### [Application Layer](https://damianopetrungaro.com/posts/ddd-how-i-structure-idiomatic-golang-services/#application-layer)\n\n### [Infrastructure Layer](https://damianopetrungaro.com/posts/ddd-how-i-structure-idiomatic-golang-services/#infrastructure-layer)\n\n# Examples\n\nYou can take a look at example in the `example` directory.\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamianopetrungaro%2Fgo-ddd","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fdamianopetrungaro%2Fgo-ddd","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fdamianopetrungaro%2Fgo-ddd/lists"}