{"repo":"sklinkert/go-ddd","free":true,"listed":false,"github":"https://github.com/sklinkert/go-ddd","clone":"git clone https://github.com/sklinkert/go-ddd.git","description":"Opinionated Domain Driven Design Template for Go","language":"Go","stars":799,"topics":["architecture","ddd","ddd-architecture","domain-driven-design","go","golang","template","cqrs","cqrs-pattern","command-query"],"license":"MIT","category":"api-integrations-sdks","readme_excerpt":"Go-DDD: Build Domain-Driven Go Services Fast English 简体中文 go-ddd jump-starts production-grade Go backends that keep business rules, infrastructure, and delivery code cleanly separated. Out of the box you get opinionated DDD building blocks, CQRS command and query flows, idempotent write paths, domain events with a transactional outbox, and tooling to keep schema and code in lockstep. 📚 New to DDD? Start with the tutorial → A nine-chapter walkthrough that teaches Domain-Driven Design from zero, using this codebase as the running example. Why This Template - Model-first defaults – Onion architecture keeps the domain pure while application services orchestrate infrastructure concerns. - Battle-tested patterns – Commands, queries, repositories, value objects, domain events, and soft deletes mirror patterns used in real-world enterprise applications. - Idempotent pipelines – Race-safe idempotency keys (atomic reservation, no check-then-write) make every command retry-safe. - Domain events + outbox – State changes and their events are persisted together; a relay publishes them with at-least-once delivery. - Migration discipline – SQL migrations, migrate.go , and sqlc make schema evolution explicit and reproducible. What You Get - Marketplace example that demonstrates aggregates (Seller, Product), a Money value object, cross-module interactions, and validation rules. - Layered modules under internal/ for domain , application , infrastructure , interface , plus testhelpers for fixtu","default_branch":null,"files":null,"tree":[],"storefront":"/r/sklinkert","claimed":false,"request_supported":{"post":"https://gitbuyer.com/r/sklinkert/go-ddd/request-supported","requests":0},"note":"indexed from public GitHub; nothing is for sale on this page. Clone it from GitHub. Paid listings live at /search."}