# Domain-Driven Design Structure This project follows Domain-Driven Design (DDD) principles with the following structure: ## Application Layer Contains application-specific logic and serves as the entry point for external requests. - **Controller**: HTTP controllers that handle web requests - **DTO**: Data Transfer Objects for API request/response ## Domain Layer Contains the core business logic and domain models. - **Model**: Domain entities representing the core business concepts ## Infrastructure Layer Provides technical capabilities that support the higher layers. - **Repository**: Data access logic for persisting and retrieving domain objects - **DataFixtures**: Test data fixtures for development and testing ## Shared Contains cross-cutting concerns and utilities used across all layers. ## Folder Structure ``` src/ ├── Application/ │ ├── Controller/ │ └── DTO/ ├── Domain/ │ └── Model/ ├── Infrastructure/ │ ├── Repository/ │ └── DataFixtures/ └── Shared/ ```