├── .github └── workflows │ └── build.yml ├── .gitignore ├── .mvn └── wrapper │ ├── maven-wrapper.jar │ └── maven-wrapper.properties ├── 01-verification ├── pom.xml └── src │ ├── main │ └── java │ │ └── de │ │ └── odrotbohm │ │ └── examples │ │ └── ddd │ │ └── verification │ │ ├── Address.java │ │ ├── Customer.java │ │ └── Order.java │ └── test │ ├── java │ └── de │ │ └── odrotbohm │ │ └── examples │ │ └── ddd │ │ └── verification │ │ ├── AggregateStructureVerificationTests.java │ │ └── TestUtils.java │ └── resources │ └── logback.xml ├── 02-integration ├── pom.xml └── src │ ├── main │ ├── java │ │ └── de │ │ │ └── odrotbohm │ │ │ └── examples │ │ │ └── ddd │ │ │ └── integration │ │ │ ├── EmailAddress.java │ │ │ └── ExampleApplication.java │ └── resources │ │ └── logback.xml │ └── test │ └── java │ └── de │ └── odrotbohm │ └── examples │ └── ddd │ └── integration │ ├── EmailAddressSerializationTests.java │ └── TestUtils.java ├── 03-boilerplate ├── .mvn │ └── wrapper │ │ └── maven-wrapper.properties ├── mvnw ├── mvnw.cmd ├── pom.xml ├── readme.adoc └── src │ ├── main │ └── java │ │ └── de │ │ └── odrotbohm │ │ └── examples │ │ └── ddd │ │ └── persistence │ │ ├── Address.java │ │ ├── Customer.java │ │ ├── CustomerRepository.java │ │ ├── ExampleApplication.java │ │ ├── Order.java │ │ └── OrderRepository.java │ └── test │ ├── java │ └── de │ │ └── odrotbohm │ │ └── examples │ │ └── ddd │ │ └── persistence │ │ └── PersistentModelTests.java │ └── resources │ ├── application.properties │ └── logback.xml ├── 04-modulith ├── pom.xml └── src │ ├── main │ ├── asciidoc │ │ └── index.adoc │ ├── java │ │ └── de │ │ │ └── odrotbohm │ │ │ └── examples │ │ │ └── ddd │ │ │ └── modulith │ │ │ ├── ModulithApplication.java │ │ │ ├── catalog │ │ │ ├── Catalog.java │ │ │ ├── Product.java │ │ │ └── package-info.java │ │ │ ├── inventory │ │ │ ├── InsufficientStock.java │ │ │ ├── Inventory.java │ │ │ ├── InventoryItem.java │ │ │ ├── InventoryItemRepository.java │ │ │ ├── InventoryListener.java │ │ │ └── package-info.java │ │ │ ├── orders │ │ │ ├── DefaultOrderManagement.java │ │ │ ├── EmailSender.java │ │ │ ├── LineItem.java │ │ │ ├── Order.java │ │ │ ├── OrderManagement.java │ │ │ ├── OrderRepository.java │ │ │ └── package-info.java │ │ │ └── package-info.java │ └── resources │ │ └── application.properties │ └── test │ ├── java │ └── de │ │ └── odrotbohm │ │ └── examples │ │ └── ddd │ │ └── modulith │ │ ├── DocumentationTests.java │ │ ├── catalog │ │ └── CatalogIntegrationTests.java │ │ ├── inventory │ │ ├── InventoryIntegrationTests.java │ │ └── InventoryListenerUnitTests.java │ │ └── orders │ │ ├── EmailNotificationTest.java │ │ └── OrderManagementIntegrationTests.java │ └── resources │ ├── application.properties │ └── logback.xml ├── LICENSE ├── mvnw ├── mvnw.cmd ├── pom.xml └── readme.adoc /.github/workflows/build.yml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/.github/workflows/build.yml -------------------------------------------------------------------------------- /.gitignore: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/.gitignore -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/.mvn/wrapper/maven-wrapper.jar -------------------------------------------------------------------------------- /.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /01-verification/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/pom.xml -------------------------------------------------------------------------------- /01-verification/src/main/java/de/odrotbohm/examples/ddd/verification/Address.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/src/main/java/de/odrotbohm/examples/ddd/verification/Address.java -------------------------------------------------------------------------------- /01-verification/src/main/java/de/odrotbohm/examples/ddd/verification/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/src/main/java/de/odrotbohm/examples/ddd/verification/Customer.java -------------------------------------------------------------------------------- /01-verification/src/main/java/de/odrotbohm/examples/ddd/verification/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/src/main/java/de/odrotbohm/examples/ddd/verification/Order.java -------------------------------------------------------------------------------- /01-verification/src/test/java/de/odrotbohm/examples/ddd/verification/AggregateStructureVerificationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/src/test/java/de/odrotbohm/examples/ddd/verification/AggregateStructureVerificationTests.java -------------------------------------------------------------------------------- /01-verification/src/test/java/de/odrotbohm/examples/ddd/verification/TestUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/src/test/java/de/odrotbohm/examples/ddd/verification/TestUtils.java -------------------------------------------------------------------------------- /01-verification/src/test/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/01-verification/src/test/resources/logback.xml -------------------------------------------------------------------------------- /02-integration/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/02-integration/pom.xml -------------------------------------------------------------------------------- /02-integration/src/main/java/de/odrotbohm/examples/ddd/integration/EmailAddress.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/02-integration/src/main/java/de/odrotbohm/examples/ddd/integration/EmailAddress.java -------------------------------------------------------------------------------- /02-integration/src/main/java/de/odrotbohm/examples/ddd/integration/ExampleApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/02-integration/src/main/java/de/odrotbohm/examples/ddd/integration/ExampleApplication.java -------------------------------------------------------------------------------- /02-integration/src/main/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/02-integration/src/main/resources/logback.xml -------------------------------------------------------------------------------- /02-integration/src/test/java/de/odrotbohm/examples/ddd/integration/EmailAddressSerializationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/02-integration/src/test/java/de/odrotbohm/examples/ddd/integration/EmailAddressSerializationTests.java -------------------------------------------------------------------------------- /02-integration/src/test/java/de/odrotbohm/examples/ddd/integration/TestUtils.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/02-integration/src/test/java/de/odrotbohm/examples/ddd/integration/TestUtils.java -------------------------------------------------------------------------------- /03-boilerplate/.mvn/wrapper/maven-wrapper.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/.mvn/wrapper/maven-wrapper.properties -------------------------------------------------------------------------------- /03-boilerplate/mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/mvnw -------------------------------------------------------------------------------- /03-boilerplate/mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/mvnw.cmd -------------------------------------------------------------------------------- /03-boilerplate/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/pom.xml -------------------------------------------------------------------------------- /03-boilerplate/readme.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/readme.adoc -------------------------------------------------------------------------------- /03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/Address.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/Address.java -------------------------------------------------------------------------------- /03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/Customer.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/Customer.java -------------------------------------------------------------------------------- /03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/CustomerRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/CustomerRepository.java -------------------------------------------------------------------------------- /03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/ExampleApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/ExampleApplication.java -------------------------------------------------------------------------------- /03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/Order.java -------------------------------------------------------------------------------- /03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/OrderRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/main/java/de/odrotbohm/examples/ddd/persistence/OrderRepository.java -------------------------------------------------------------------------------- /03-boilerplate/src/test/java/de/odrotbohm/examples/ddd/persistence/PersistentModelTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/test/java/de/odrotbohm/examples/ddd/persistence/PersistentModelTests.java -------------------------------------------------------------------------------- /03-boilerplate/src/test/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.com.tngtech.archunit=INFO 2 | 3 | spring.jpa.show-sql=true 4 | -------------------------------------------------------------------------------- /03-boilerplate/src/test/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/03-boilerplate/src/test/resources/logback.xml -------------------------------------------------------------------------------- /04-modulith/pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/pom.xml -------------------------------------------------------------------------------- /04-modulith/src/main/asciidoc/index.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/asciidoc/index.adoc -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/ModulithApplication.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/ModulithApplication.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/catalog/Catalog.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/catalog/Catalog.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/catalog/Product.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/catalog/Product.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/catalog/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/catalog/package-info.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InsufficientStock.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InsufficientStock.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/Inventory.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/Inventory.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryItem.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryItemRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryItemRepository.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryListener.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryListener.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/inventory/package-info.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/DefaultOrderManagement.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/DefaultOrderManagement.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/EmailSender.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/EmailSender.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/LineItem.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/LineItem.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/Order.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/Order.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/OrderManagement.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/OrderManagement.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/OrderRepository.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/OrderRepository.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/orders/package-info.java -------------------------------------------------------------------------------- /04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/package-info.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/main/java/de/odrotbohm/examples/ddd/modulith/package-info.java -------------------------------------------------------------------------------- /04-modulith/src/main/resources/application.properties: -------------------------------------------------------------------------------- 1 | logging.level.com.tngtech.archunit=info 2 | -------------------------------------------------------------------------------- /04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/DocumentationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/DocumentationTests.java -------------------------------------------------------------------------------- /04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/catalog/CatalogIntegrationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/catalog/CatalogIntegrationTests.java -------------------------------------------------------------------------------- /04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryIntegrationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryIntegrationTests.java -------------------------------------------------------------------------------- /04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryListenerUnitTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/inventory/InventoryListenerUnitTests.java -------------------------------------------------------------------------------- /04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/orders/EmailNotificationTest.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/orders/EmailNotificationTest.java -------------------------------------------------------------------------------- /04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/orders/OrderManagementIntegrationTests.java: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/java/de/odrotbohm/examples/ddd/modulith/orders/OrderManagementIntegrationTests.java -------------------------------------------------------------------------------- /04-modulith/src/test/resources/application.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/resources/application.properties -------------------------------------------------------------------------------- /04-modulith/src/test/resources/logback.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/04-modulith/src/test/resources/logback.xml -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/LICENSE -------------------------------------------------------------------------------- /mvnw: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/mvnw -------------------------------------------------------------------------------- /mvnw.cmd: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/mvnw.cmd -------------------------------------------------------------------------------- /pom.xml: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/pom.xml -------------------------------------------------------------------------------- /readme.adoc: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/odrotbohm/tactical-ddd-workshop/HEAD/readme.adoc --------------------------------------------------------------------------------