# ddd-by-examples/factory

The missing, complete example of Domain-Driven Design enterprise application backed by Spring stack

Repository: https://github.com/ddd-by-examples/factory
Canonical: https://ross.abutalabs.com/products/ddd-by-examples-factory
Language: Java
License: MIT
License Family: permissive
Topics: domain-driven-design, domain-model, ports-and-adapters, domain-events, aggregate, cqrs, invariants, enterprise-applications, domain-knowledge, crud, hexagon, event-storming
Last push: 2022-03-10T00:14:10+00:00

## Health v2 (maintenance only)
Score: 32/100 (v2, computed 2026-09-03T02:20:16.233290+00:00)
- activity 0, release rhythm 35, longevity 100
- inputs: {"age_days": 3194, "days_push": 1638, "days_rel": null, "gap_med": null, "n_releases_24m": 0}
- flags: no_releases
- formula: round(0.45*activity + 0.35*rhythm + 0.20*longevity); archived -> min(score, 10)

## Adoption (not part of the score)
Stars 1376, forks 266 (observed 2026-08-28T04:04:33.335953+00:00)

## What it is
A complete, open-source example of a Domain-Driven Design enterprise application built on the Java Spring stack. It demonstrates DDD tactical patterns (aggregates, domain events, value objects) alongside hexagonal architecture and CQRS/CRUD segregation in a realistic codebase.

## Use cases
- learn domain-driven design with a full example
- see how to structure a hexagonal architecture Spring application
- understand aggregates and domain events in practice
- study CQRS vs CRUD segregation in an enterprise app
- find a reference implementation of DDD in Java
- learn event storming outcomes mapped to code

## When to choose
- you want a complete, realistic DDD codebase to study rather than toy snippets
- your team builds with Java/Spring and wants idiomatic DDD patterns
- you need examples of hexagonal architecture with ports and adapters
- you want to see how CRUD and complex domain logic coexist in one app

## When to avoid
- you need a production-ready framework or library to depend on - this is a reference example
- you work outside the JVM/Spring ecosystem
- you need actively maintained code with recent releases (last release 2022)

## Facets
- artifact type: learning-resource
- maturity: maintenance
- function: developer-tools, documentation
- domain: developer-tools, tutorials, backend, web-development
- platform: jvm
- tags: domain-driven-design, hexagonal-architecture, cqrs, event-storming, spring-boot, example-project, ports-and-adapters, domain-events, spring

## Member repositories
- ddd-by-examples/factory (main) score 32

## Provenance
- Observed fields: from GitHub, fetched 2026-08-28T04:04:33.335953+00:00.
- Health v2: computed from the inputs above; adoption is never an input.
- Inferred fields (summary, facets, guidance): AI-extracted, prompt v1, taxonomy v1, on 2026-08-30T04:40:29.183609+00:00, confidence not recorded.
  - readme: https://github.com/ddd-by-examples/factory (fetched 2026-08-28T04:04:33.335953+00:00, sha fdf73110091b)
- Data as of 2026-08-30T08:39:29.467469+00:00.
