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
+133
View File
@@ -0,0 +1,133 @@
# Symfony 7.4+ .gitignore
# Cache and logs
/var/cache/
/var/log/
/var/sessions/
# Runtime data
/var/data/
/var/tmp/
# Dependencies
/vendor/
composer.lock
# IDE
.idea/
.vscode/
.phpstorm.meta.php
# OS generated files
.DS_Store
Thumbs.db
# Local configuration
/config/packages/local/
/config/routes/local/
/config/services_local.yaml
# Environment variables
.env.local
.env.*
!.env.example
# Symfony Profiler
/var/cache/profiler/
# Web assets
/public/build/
/public/assets/
# PHPStan and other tools
/phpstan.neon
/phpunit.xml
/phpunit.xml.dist
/psalm.xml
/psalm.xml.dist
/symfony.lock
# Symfony binary
/bin/symfony
# Local test databases
/test_db.sql
# Backup files
*.backup
*.bak
# Node.js
/node_modules/
npm-debug.log
yarn-debug.log
yarn-error.log
# IDE specific
*.swp
*.swo
*.swn
*~
# Composer
composer.phar
composer.phar.md5sum
# SensioDistribution
/SensioDistribution/Installer/
# Symfony
/web/app_dev.php
/web/config.php
# Symfony cache
/var/cache/*
!/var/cache/.gitkeep
# Symfony logs
/var/log/*
!/var/log/.gitkeep
# Symfony sessions
/var/sessions/*
!/var/sessions/.gitkeep
# Symfony data
/var/data/*
!/var/data/.gitkeep
# Symfony tmp
/var/tmp/*
!/var/tmp/.gitkeep
# Symfony profiler
/var/cache/profiler/*
!/var/cache/profiler/.gitkeep
# Symfony assets
/public/assets/*
!/public/assets/.gitkeep
# Symfony build
/public/build/*
!/public/build/.gitkeep
# Docker
.docker/
.Dockerfile
.dockerignore
# Local development
.local/
# Temporary files
*.tmp
*.temp
# PHPUnit
/phpunit.xml
/phpunit.xml.dist
/phpunit_coverage.xml
# Symfony binary
/bin/symfony