# Path / File Description Clean Architecture DDD Hexagonal CQRS Event-Driven Serverless
1build.gradleGradle build script✓✓
2settings.gradleGradle settings✓✓
3template.yamlAWS SAM / Lambda template✓
4src/main/java/org/ldschurch/rest_api/domain/Core domain layer✓✓✓
5domain/model/User.javaDomain entity✓✓✓
6domain/service/BusinessRules.javaDomain services for business logic✓✓✓
7domain/event/DomainEvent.javaBase domain event class✓✓✓✓
8domain/event/UserCreatedEvent.javaUser created event✓✓✓✓
9domain/event/EventPublisher.javaPublishes domain events✓✓✓✓
10domain/command/handlers/UserCommandHandler.javaHandles domain commands✓✓✓✓✓
11application/command/CreateUserCommand.javaCommand object to create user✓✓✓
12application/command/UpdateUserCommand.javaCommand object to update user✓✓✓
13application/command/DeleteUserCommand.javaCommand object to delete user✓✓✓
14application/command/CommandHandler.javaGeneric command handler interface✓✓✓
15application/query/GetUserQuery.javaQuery object to get user✓✓✓
16application/query/ListUsersQuery.javaQuery object to list users✓✓✓
17application/query/QueryHandler.javaGeneric query handler interface✓✓✓
18application/port/input/CommandUseCase.javaInput port for commands✓✓✓
19application/port/input/QueryUseCase.javaInput port for queries✓✓✓
20application/port/input/EventHandlerUseCase.javaInput port for events✓✓✓
21application/port/output/UserWriteRepositoryPort.javaOutput port for writes✓✓✓✓
22application/port/output/UserReadRepositoryPort.javaOutput port for reads✓✓✓
23application/port/output/EventPublisherPort.javaOutput port for publishing events✓✓✓✓
24application/service/command/CreateUserService.javaService executing create command✓✓✓
25application/service/command/UpdateUserService.javaService executing update command✓✓✓
26application/service/command/DeleteUserService.javaService executing delete command✓✓✓
27application/service/query/GetUserService.javaService executing get query✓✓✓
28application/service/query/ListUsersService.javaService executing list query✓✓✓
29application/service/EventDrivenService.javaHandles domain events✓✓✓✓
30adapter/rest/command/UserCommandController.javaREST controller for commands✓✓✓
31adapter/rest/command/HealthCheckController.javaHealth check endpoint✓
32adapter/rest/query/UserQueryController.javaREST controller for queries✓✓✓
33adapter/persistence/write/JpaUserWriteRepositoryAdapter.javaJPA adapter for writes✓✓✓✓
34adapter/persistence/read/JpaUserReadRepositoryAdapter.javaJPA adapter for reads✓✓✓
35adapter/lambda/CommandLambdaHandler.javaLambda handler for commands✓✓✓✓
36adapter/lambda/QueryLambdaHandler.javaLambda handler for queries✓✓✓✓
37adapter/events/KafkaEventPublisherAdapter.javaKafka event publishing adapter✓✓✓✓
38adapter/events/SnsEventPublisherAdapter.javaSNS event publishing adapter✓✓✓✓
39adapter/events/SqsEventListener.javaSQS event listener✓✓✓✓
40adapter/events/EventDeserializer.javaEvent deserializer✓✓✓✓
41adapter/config/BeanConfig.javaSpring bean configuration✓✓✓
42adapter/config/KafkaConfig.javaKafka configuration✓✓✓✓
43adapter/config/SnsConfig.javaSNS configuration✓✓✓✓
44adapter/config/SqsConfig.javaSQS configuration✓✓✓✓
45infrastructure/tracing/LoggingAspect.javaLogging AOP for tracing✓✓✓
46infrastructure/tracing/TracingInterceptor.javaInterceptor for tracing✓✓✓
47infrastructure/exception/GlobalExceptionHandler.javaGlobal exception handler✓✓
48infrastructure/metrics/MetricsCollector.javaMetrics collection utility✓✓✓
49SpringbootLambdaApplication.javaMain Spring Boot entry point✓✓✓✓
50resources/application.ymlSpring configuration✓✓
51resources/logback-spring.xmlLogging configuration✓
52resources/static/Static files (JS, CSS, images)
53test/application/command/CreateUserServiceTest.javaUnit test for create command service✓✓✓
54test/application/query/GetUserServiceTest.javaUnit test for get query service✓✓✓
55test/adapter/persistence/write/JpaUserWriteRepositoryAdapterTest.javaTest for write repository adapter✓✓✓✓
56test/adapter/persistence/read/JpaUserReadRepositoryAdapterTest.javaTest for read repository adapter✓✓✓
57test/adapter/events/KafkaEventPublisherAdapterTest.javaTest for Kafka publisher adapter✓✓✓✓
58build/distributions/springboot-lambda-0.0.1-SNAPSHOT.zipBuild artifact✓