# Project Goals & Architecture Guidelines ## Goal This project aims to implement a modern Symfony application following a clean layered architecture. ## Architecture The codebase is divided into three primary layers to ensure separation of concerns: - **UI Layer** (`src/UI`): Responsible for the presentation and handling user input (Controllers, Command-line interfaces, API endpoints). - **Logic Layer** (`src/Logic`): Contains the core business logic, domain services, and use cases. It is independent of the UI and Data layers. - **Data Layer** (`src/Data`): Handles data persistence and retrieval (Repositories, Entities, DTOs for external APIs). ### Directory Structure The `src/` directory must strictly follow this layering: - `src/UI/` - `src/Logic/` - `src/Data/`