Estructura del proyecto

El proyecto sigue una arquitectura basada en Domain Driven Design (DDD) separando responsabilidades por capas.

app/
 ├── Domain/
 │   └── Task/
 │       ├── Entities/
 │       │   └── Task.php
 │       ├── Repositories/
 │       │   └── TaskRepositoryInterface.php
 │       └── ValueObjects/
 │           └── TaskTitle.php

 ├── Application/
 │   └── Task/
 │       └── CreateTaskUseCase.php

 ├── Infrastructure/
 │   └── Persistence/
 │       └── EloquentTaskRepository.php

 └── Http/
     └── Controllers/
         └── TaskController.php

Capas

Dominio

Contiene la lógica de negocio pura y es independiente del framework.

Aplicación

Contiene los casos de uso de la aplicación.
Orquesta la lógica del dominio para ejecutar acciones específicas (ej: CreateTaskUseCase).

Infraestructura

Implementaciones técnicas como acceso a base de datos, servicios externos, etc.
Aquí se implementan las interfaces del dominio (ej: EloquentTaskRepository).

Http

Capa de entrada de la aplicación.
Recibe las peticiones HTTP y delega la lógica en los casos de uso (ej: TaskController).

Anterios: Conceptos ClaveSiguiente: Dominio