| 1 | ๐ springboot-lambda/ | Project Root Directory | โ | โ | โ | โ | โ | โ |
| 2 | โโโ ๐ build.gradle | Gradle build script (Dependencies and Configuration) | โ | | | | | โ |
| 3 | โโโ ๐ settings.gradle | Gradle settings for module resolution | โ | | | | | โ |
| 4 | โโโ ๐ template.yaml | AWS SAM / CloudFormation template for serverless deployment | | | | | | โ |
| 5 | โโโ ๐ src/ | Source code and test directories | โ | โ | โ | โ | โ | โ |
| 6 | โ โโโ ๐ main/ | Main production source code | โ | โ | โ | โ | โ | โ |
| 7 | โ โ โโโ ๐ java/ | Java source files root | โ | โ | โ | โ | โ | |
| 8 | โ โ โ โโโ ๐ org/ldschurch/rest_api/ | Base package structure (Implied layers start here) | โ | โ | โ | โ | โ | |
| 9 | โ โ โ โโโ ๐ข domain/ | The core business logic (DDD) | โ | โ | โ | | | |
| 10 | โ โ โ โ โโโ ๐ค model/ | Entities and Value Objects | โ | โ | โ | | | |
| 11 | โ โ โ โ โ โโโ User.java | User Aggregate Root | โ | โ | โ | | | |
| 12 | โ โ โ โ โโโ โ๏ธ service/ | Domain Services | โ | โ | โ | | | |
| 13 | โ โ โ โ โ โโโ BusinessRules.java | Service for complex business rules | โ | โ | โ | | | |
| 14 | โ โ โ โ โโโ ๐ข event/ | Domain Events structure | โ | โ | โ | | โ | |
| 15 | โ โ โ โ โ โโโ DomainEvent.java | Base interface/class for all events | โ | โ | โ | | โ | |
| 16 | โ โ โ โ โ โโโ UserCreatedEvent.java | Specific domain event | โ | โ | โ | | โ | |
| 17 | โ โ โ โ โ โโโ EventPublisher.java | Domain interface for event publishing | โ | โ | โ | | โ | |
| 18 | โ โ โ โ โโโ โ๏ธ command/handlers/ | Domain logic handlers for commands | โ | โ | โ | โ | | |
| 19 | โ โ โ โ โโโ UserCommandHandler.java | Handler for processing user commands | โ | โ | โ | โ | | |
| 20 | โ โ โ โโโ ๐งฉ application/ | Use Cases and Application Ports | โ | | โ | โ | โ | |
| 21 | โ โ โ โ โโโ ๐ฉ command/ | Command DTOs (Write side data) | โ | | โ | โ | | |
| 22 | โ โ โ โ โ โโโ CreateUserCommand.java | DTO for user creation | โ | | โ | โ | | |
| 23 | โ โ โ โ โ โโโ UpdateUserCommand.java | DTO for user update | โ | | โ | โ | | |
| 24 | โ โ โ โ โ โโโ DeleteUserCommand.java | DTO for user deletion | โ | | โ | โ | | |
| 25 | โ โ โ โ โ โโโ CommandHandler.java | Base command handler interface | โ | | โ | โ | | |
| 26 | โ โ โ โ โโโ โ query/ | Query DTOs (Read side data) | โ | | โ | โ | | |
| 27 | โ โ โ โ โ โโโ GetUserQuery.java | DTO for retrieving a single user | โ | | โ | โ | | |
| 28 | โ โ โ โ โ โโโ ListUsersQuery.java | DTO for retrieving a list of users | โ | | โ | โ | | |
| 29 | โ โ โ โ โ โโโ QueryHandler.java | Base query handler interface | โ | | โ | โ | | |
| 30 | โ โ โ โ โโโ โก๏ธ port/ | Boundary interfaces (Ports) | โ | โ | โ | โ | โ | |
| 31 | โ โ โ โ โ โโโ input/ | Primary/Driving Ports (APIs exposed by the application) | โ | | โ | โ | โ | |
| 32 | โ โ โ โ โ โ โโโ CommandUseCase.java | Interface for use cases that modify data | โ | | โ | โ | | |
| 33 | โ โ โ โ โ โ โโโ QueryUseCase.java | Interface for use cases that retrieve data | โ | | โ | โ | | |
| 34 | โ โ โ โ โ โ โโโ EventHandlerUseCase.java | Interface for use cases responding to events | โ | | โ | โ | โ | |
| 35 | โ โ โ โ โ โโโ โฌ
๏ธ output/ | Secondary/Driven Ports (Dependencies of the application) | โ | โ | โ | โ | โ | |
| 36 | โ โ โ โ โ โโโ UserWriteRepositoryPort.java | Port for writing to the command-side database | โ | โ | โ | โ | | |
| 37 | โ โ โ โ โ โโโ UserReadRepositoryPort.java | Port for reading from the query-side database | โ | โ | โ | โ | | |
| 38 | โ โ โ โ โ โโโ EventPublisherPort.java | Port for notifying external systems of events | โ | โ | โ | | โ | |
| 39 | โ โ โ โ โโโ โ
service/ | Implementations of the Use Cases (Business workflows) | โ | | โ | โ | โ | |
| 40 | โ โ โ โ โโโ command/CreateUserService.java | Implements user creation workflow (Command) | โ | | โ | โ | | |
| 41 | โ โ โ โ โโโ command/UpdateUserService.java | Implements user update workflow (Command) | โ | | โ | โ | | |
| 42 | โ โ โ โ โโโ command/DeleteUserService.java | Implements user deletion workflow (Command) | โ | | โ | โ | | |
| 43 | โ โ โ โ โโโ query/GetUserService.java | Implements single user retrieval workflow (Query) | โ | | โ | โ | | |
| 44 | โ โ โ โ โโโ query/ListUsersService.java | Implements list retrieval workflow (Query) | โ | | โ | โ | | |
| 45 | โ โ โ โ โโโ EventDrivenService.java | Service handling event responses/reactions | โ | | โ | | โ | |
| 46 | โ โ โ โโโ ๐ adapter/ | External infrastructure implementations (Adapters) | โ | โ | โ | โ | โ | โ |
| 47 | โ โ โ โ โโโ ๐ rest/ | REST API Adapters (Inbound/Driving) | โ | | โ | โ | | |
| 48 | โ โ โ โ โ โโโ command/UserCommandController.java | Spring Controller for commands (POST, PUT, DELETE) | โ | | โ | โ | | |
| 49 | โ โ โ โ โ โโโ command/HealthCheckController.java | Controller for application health check endpoint | โ | | โ | | | |
| 50 | โ โ โ โ โ โโโ query/UserQueryController.java | Spring Controller for queries (GET) | โ | | โ | โ | | |
| 51 | โ โ โ โ โโโ ๐พ persistence/ | Database Adapters (Outbound/Driven) | โ | โ | โ | โ | | |
| 52 | โ โ โ โ โ โโโ read/JpaUserReadRepositoryAdapter.java | JPA implementation for UserReadRepositoryPort (Query side) | โ | โ | โ | โ | | |
| 53 | โ โ โ โ โ โโโ write/JpaUserWriteRepositoryAdapter.java | JPA implementation for UserWriteRepositoryPort (Command side) | โ | โ | โ | โ | | |
| 54 | โ โ โ โ โโโ ฮป lambda/ | Serverless Lambda Handlers (Inbound/Driving) | โ | | โ | โ | | โ |
| 55 | โ โ โ โ โ โโโ CommandLambdaHandler.java | AWS Lambda entry point for command events (e.g., API Gateway POST) | โ | | โ | โ | | โ |
| 56 | โ โ โ โ โ โโโ QueryLambdaHandler.java | AWS Lambda entry point for query events (e.g., API Gateway GET) | โ | | โ | โ | | โ |
| 57 | โ โ โ โ โโโ ๐ฌ events/ | Event System Adapters (Inbound/Outbound) | โ | โ | โ | | โ | โ |
| 58 | โ โ โ โ โ โโโ KafkaEventPublisherAdapter.java | Adapter to publish events to Kafka | โ | โ | โ | | โ | |
| 59 | โ โ โ โ โ โโโ SnsEventPublisherAdapter.java | Adapter to publish events to AWS SNS | โ | โ | โ | | โ | โ |
| 60 | โ โ โ โ โ โโโ SqsEventListener.java | Adapter to consume events from AWS SQS | โ | โ | โ | | โ | โ |
| 61 | โ โ โ โ โ โโโ EventDeserializer.java | Utility for deserializing incoming event payloads | โ | | โ | | โ | |
| 62 | โ โ โ โ โโโ ๐ config/ | Spring Dependency Injection Configuration | โ | | โ | | | |
| 63 | โ โ โ โ โโโ BeanConfig.java | General Spring `@Configuration` for use cases/ports | โ | | โ | | | |
| 64 | โ โ โ โ โโโ KafkaConfig.java | Configuration for Kafka connections | โ | | โ | | โ | |
| 65 | โ โ โ โ โโโ SnsConfig.java | Configuration for AWS SNS connections | โ | | โ | | โ | โ |
| 66 | โ โ โ โ โโโ SqsConfig.java | Configuration for AWS SQS connections | โ | | โ | | โ | โ |
| 67 | โ โ โ โโโ ๐๏ธ infrastructure/ | Cross-Cutting Concerns and shared utilities | โ | | โ | | | |
| 68 | โ โ โ โ โโโ ๐ช tracing/LoggingAspect.java | AOP component for logging/tracing | โ | | โ | | | |
| 69 | โ โ โ โ โ โโโ TracingInterceptor.java | Interceptor for distributed tracing context | โ | | โ | | | |
| 70 | โ โ โ โ โโโ ๐ exception/GlobalExceptionHandler.java | Centralized error handling for APIs/Lambdas | โ | | โ | | | |
| 71 | โ โ โ โ โโโ ๐ metrics/MetricsCollector.java | Utility for application performance monitoring | โ | | โ | | | |
| 72 | โ โ โ โโโ ๐ SpringbootLambdaApplication.java | Main Spring Boot entry point and configuration starter | โ | | | | | โ |
| 73 | โ โ โโโ ๐ resources/ | Configuration and static content | โ | | | | | โ |
| 74 | โ โ โโโ โ๏ธ application.yml | Primary Spring Boot configuration file | โ | | | | | โ |
| 75 | โ โ โโโ ๐ logback-spring.xml | Configuration file for logging framework | โ | | | | | โ |
| 76 | โ โ โโโ ๐ static/ | Static web content directory | โ | | | | | โ |
| 77 | โ โโโ ๐งช test/ | Test source root | โ | | | | | โ |
| 78 | โ โโโ ๐ java/.../application/command/ | Unit tests for Application Command Services | โ | | โ | โ | | |
| 79 | โ โโโ CreateUserServiceTest.java | Unit test for CreateUserService | โ | | โ | โ | | |
| 80 | โ โโโ ๐ java/.../adapter/persistence/write/ | Integration tests for Write Adapters | โ | โ | โ | โ | | |
| 81 | โ โโโ JpaUserWriteRepositoryAdapterTest.java | Test for the JPA implementation of the write port | โ | โ | โ | โ | | |
| 82 | โ โโโ events/KafkaEventPublisherAdapterTest.java | Test for Kafka event publishing functionality | โ | โ | โ | | โ | |
| 83 | โโโ ๐ build/distributions/ | Generated build artifacts | โ | | | | | โ |
| 84 | โโโ springboot-lambda-0.0.1-SNAPSHOT.zip | Final deployable package (for Lambda) | โ | | | | | โ |