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/