DDD file structure & cyclic dependencies

This page summarizes the projects mentioned and recommended in the original post on /r/golang

Our great sponsors
  • WorkOS - The modern identity platform for B2B SaaS
  • InfluxDB - Power Real-Time Data Analytics at Scale
  • SaaSHub - Software Alternatives and Reviews
  • go-structure-examples

    Examples for my talk on structuring go apps

  • Am I completely fumbling it by approaching this the wrong way & if so what should I do differently? I have searched a few repos like this which redefines the same entity in multiple places which I feel is a violation of some sort, and this which the author had to resort to moving some files outside to overcome a circular dependency (see comments inside their handling.go file).

  • goddd

    Discontinued Exploring DDD in Go

  • Am I completely fumbling it by approaching this the wrong way & if so what should I do differently? I have searched a few repos like this which redefines the same entity in multiple places which I feel is a violation of some sort, and this which the author had to resort to moving some files outside to overcome a circular dependency (see comments inside their handling.go file).

  • WorkOS

    The modern identity platform for B2B SaaS. The APIs are flexible and easy-to-use, supporting authentication, user identity, and complex enterprise features like SSO and SCIM provisioning.

    WorkOS logo
  • todo-api-microservice-example

    Go microservice tutorial project using Domain Driven Design and Onion Architecture!

  • Here's my approach; a few worth-mentioning packages in there: * service defines the use cases, it's a glue between the domain model and repositories. * rest defines the http handlers uses the service types via dependency injection (see main.go) * postgresql concrete repository example (there are other implementations for other data stores like kafka, redis, etcetera.

NOTE: The number of mentions on this list indicates mentions on common posts plus user suggested alternatives. Hence, a higher number means a more popular project.

Suggest a related project

Related posts