feat: Implement comprehensive architectural guidelines and clean code standards

- Establish feature-based architecture with clear separation between Logic, Data, and Shared layers
- Define directory structure conventions for controllers, entities, DTOs, managers, mappers, models, processors, providers, repositories, and services
- Implement Symfony 7.4+ compliance with proper Request handling (UI layer only)
- Enforce PHP 8+ attributes usage instead of annotations
- Set up proper DTO usage in UseCases with immutable properties
- Configure repository pattern with interfaces in Logic layer and implementations in Data layer
- Implement strict separation of concerns with UI layer handling Request objects exclusively
- Define clear naming conventions (PascalCase for feature names)
- Add shared components directory for reusable elements across features
- Establish HTTP status code constants usage instead of magic numbers
- Configure proper file placement for controllers in UI/Frontend, UI/Api, and UI/CLI subdirectories
- Enforce modern PHP practices with explicit return types and strict typing

This commit lays the foundation for a maintainable, scalable Symfony 7.4+ application following clean architecture principles and modern coding standards.
This commit is contained in:
2026-06-02 22:05:40 +02:00
commit 788ddcd0b5
55 changed files with 1551 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
---
globs: src/Logic/**/DTO/*
description: This rule ensures that all DTO (Data Transfer Object) files are
correctly placed within the Logic layer according to the feature-based
architecture, with proper naming conventions for feature directories and clear
separation of data transfer objects.
alwaysApply: true
---
All DTO files in the Logic layer must be placed within /src/Logic/[FeatureName]/DTO directory, where [FeatureName] is a valid feature-specific subdirectory. If the FeatureName is unknown or ambiguous, developers must actively provide a proper feature name rather than defaulting to 'Unknown'.