From b8c4cc6e83ecb50f70d81d1f8ca2fa196ec000f0 Mon Sep 17 00:00:00 2001 From: Ali CANLI Date: Sun, 17 Jul 2022 13:34:14 +0300 Subject: [PATCH 1/2] CQRS Pattern - > first implement Customer module end to end. --- .idea/compiler.xml | 38 +- .idea/encodings.xml | 20 + .../488bdbea7e8b73c44bd2a54e63f6012f10969196 | 0 customer-service/customer-application/pom.xml | 33 ++ .../CustomerGlobalExceptionHandler.java | 26 + .../application/rest/CustomerController.java | 31 ++ customer-service/customer-container/pom.xml | 63 +++ .../customer/service/BeanConfiguration.java | 15 + .../service/CustomerServiceApplication.java | 19 + .../src/main/resources/application.yml | 44 ++ .../src/main/resources/init-data.sql | 0 .../src/main/resources/init-schema.sql | 0 customer-service/customer-data-access/pom.xml | 33 ++ .../adapter/CustomerRepositoryImpl.java | 27 + .../dataaccess/entity/CustomerEntity.java | 24 + .../CustomerDataaccessException.java | 8 + .../mapper/CustomerDataAccessMapper.java | 27 + .../repository/CustomerJpaRepository.java | 13 + .../customer-domain-core/pom.xml | 22 + .../domain/CustomerDomainService.java | 11 + .../domain/CustomerDomainServiceImpl.java | 19 + .../customer/domain/entity/Customer.java | 32 ++ .../domain/event/CustomerCreatedEvent.java | 23 + .../exception/CustomerDomainException.java | 11 + .../customer-service-application/pom.xml | 35 ++ .../CustomerApplicationServiceImpl.java | 36 ++ .../service/CustomerCreateCommandHandler.java | 42 ++ .../config/CustomerServiceConfigData.java | 12 + .../service/create/CreateCustomerCommand.java | 11 + .../create/CreateCustomerResponse.java | 10 + .../service/mapper/CustomerDataMapper.java | 22 + .../service/CustomerApplicationService.java | 13 + .../publisher/CustomerMessagePublisher.java | 10 + .../output/repository/CustomerRepository.java | 9 + customer-service/customer-domain/pom.xml | 20 + customer-service/customer-messaging/pom.xml | 30 + .../mapper/CustomerMessagingDataMapper.java | 19 + .../CustomerCreatedEventKafkaPublisher.java | 68 +++ customer-service/pom.xml | 47 +- .../service/CustomerServiceApplication.java | 13 - .../src/main/resources/application.yml | 22 - infrastructure/docker-compose/init_kafka.yml | 2 + .../order/avro/model/CustomerAvroModel.java | 512 ++++++++++++++++++ .../src/main/resources/avro/customer.avsc | 32 ++ pom.xml | 34 ++ 45 files changed, 1463 insertions(+), 75 deletions(-) delete mode 100644 .idea/sonarlint/issuestore/4/8/488bdbea7e8b73c44bd2a54e63f6012f10969196 create mode 100644 customer-service/customer-application/pom.xml create mode 100644 customer-service/customer-application/src/main/java/com/food/order/system/customer/rest/application/handler/CustomerGlobalExceptionHandler.java create mode 100644 customer-service/customer-application/src/main/java/com/food/order/system/customer/rest/application/rest/CustomerController.java create mode 100644 customer-service/customer-container/pom.xml create mode 100644 customer-service/customer-container/src/main/java/com/food/order/system/customer/service/BeanConfiguration.java create mode 100644 customer-service/customer-container/src/main/java/com/food/order/system/customer/service/CustomerServiceApplication.java create mode 100644 customer-service/customer-container/src/main/resources/application.yml rename customer-service/{ => customer-container}/src/main/resources/init-data.sql (100%) rename customer-service/{ => customer-container}/src/main/resources/init-schema.sql (100%) create mode 100644 customer-service/customer-data-access/pom.xml create mode 100644 customer-service/customer-data-access/src/main/java/com/food/order/system/customer/dataaccess/adapter/CustomerRepositoryImpl.java create mode 100644 customer-service/customer-data-access/src/main/java/com/food/order/system/customer/dataaccess/entity/CustomerEntity.java create mode 100644 customer-service/customer-data-access/src/main/java/com/food/order/system/customer/dataaccess/exception/CustomerDataaccessException.java create mode 100644 customer-service/customer-data-access/src/main/java/com/food/order/system/customer/dataaccess/mapper/CustomerDataAccessMapper.java create mode 100644 customer-service/customer-data-access/src/main/java/com/food/order/system/customer/dataaccess/repository/CustomerJpaRepository.java create mode 100644 customer-service/customer-domain/customer-domain-core/pom.xml create mode 100644 customer-service/customer-domain/customer-domain-core/src/main/java/com/food/order/system/customer/domain/CustomerDomainService.java create mode 100644 customer-service/customer-domain/customer-domain-core/src/main/java/com/food/order/system/customer/domain/CustomerDomainServiceImpl.java create mode 100644 customer-service/customer-domain/customer-domain-core/src/main/java/com/food/order/system/customer/domain/entity/Customer.java create mode 100644 customer-service/customer-domain/customer-domain-core/src/main/java/com/food/order/system/customer/domain/event/CustomerCreatedEvent.java create mode 100644 customer-service/customer-domain/customer-domain-core/src/main/java/com/food/order/system/customer/domain/exception/CustomerDomainException.java create mode 100644 customer-service/customer-domain/customer-service-application/pom.xml create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/CustomerApplicationServiceImpl.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/CustomerCreateCommandHandler.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/config/CustomerServiceConfigData.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/create/CreateCustomerCommand.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/create/CreateCustomerResponse.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/mapper/CustomerDataMapper.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/ports/input/service/CustomerApplicationService.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/ports/output/message/publisher/CustomerMessagePublisher.java create mode 100644 customer-service/customer-domain/customer-service-application/src/main/java/com/food/order/system/customer/service/ports/output/repository/CustomerRepository.java create mode 100644 customer-service/customer-domain/pom.xml create mode 100644 customer-service/customer-messaging/pom.xml create mode 100644 customer-service/customer-messaging/src/main/java/com/food/order/system/customer/messaging/mapper/CustomerMessagingDataMapper.java create mode 100644 customer-service/customer-messaging/src/main/java/com/food/order/system/customer/messaging/publisher/kafka/CustomerCreatedEventKafkaPublisher.java delete mode 100644 customer-service/src/main/java/com/food/order/system/customer/service/CustomerServiceApplication.java delete mode 100644 customer-service/src/main/resources/application.yml create mode 100644 infrastructure/kafka/kafka-model/src/main/java/com/food/order/system/kafka/order/avro/model/CustomerAvroModel.java create mode 100644 infrastructure/kafka/kafka-model/src/main/resources/avro/customer.avsc diff --git a/.idea/compiler.xml b/.idea/compiler.xml index de3c783..c68c7a1 100644 --- a/.idea/compiler.xml +++ b/.idea/compiler.xml @@ -11,8 +11,27 @@ + + + + + + + + + + + + + + + + + + + @@ -21,9 +40,26 @@