docs: consolidate documentation into organized structure

- Move 12 markdown files from root to docs/ subdirectories
- Organize documentation by category:
  • docs/troubleshooting/ (1 file)  - Technical troubleshooting guides
  • docs/deployment/      (4 files) - Deployment and security documentation
  • docs/guides/          (3 files) - Feature-specific guides
  • docs/planning/        (4 files) - Planning and improvement proposals

Root directory cleanup:
- Reduced from 16 to 4 markdown files in root
- Only essential project files remain:
  • CLAUDE.md (AI instructions)
  • README.md (Main project readme)
  • CLEANUP_PLAN.md (Current cleanup plan)
  • SRC_STRUCTURE_IMPROVEMENTS.md (Structure improvements)

This improves:
 Documentation discoverability
 Logical organization by purpose
 Clean root directory
 Better maintainability
This commit is contained in:
2025-10-05 11:05:04 +02:00
parent 887847dde6
commit 5050c7d73a
36686 changed files with 196456 additions and 12398919 deletions

View File

@@ -13,9 +13,9 @@ use App\Framework\DI\Initializer;
*
* Registriert RetryManager im DI-Container
*/
#[Initializer]
final readonly class RetryInitializer
{
#[Initializer]
public function __invoke(Clock $clock, ?EventDispatcherInterface $eventDispatcher = null): RetryManager
{
$retryManager = RetryManager::create($clock);

View File

@@ -0,0 +1,56 @@
<?php
declare(strict_types=1);
namespace App\Framework\Retry;
/**
* Retry Strategy Type Enumeration
*
* Defines different retry strategy types for categorization and factory creation
*/
enum RetryStrategyType: string
{
case NONE = 'none';
case FIXED = 'fixed';
case LINEAR = 'linear';
case EXPONENTIAL = 'exponential';
case FIBONACCI = 'fibonacci';
case CUSTOM = 'custom';
public function getDescription(): string
{
return match ($this) {
self::NONE => 'No retries attempted',
self::FIXED => 'Fixed delay between retries',
self::LINEAR => 'Linear increase in delay between retries',
self::EXPONENTIAL => 'Exponential backoff between retries',
self::FIBONACCI => 'Fibonacci sequence delay pattern',
self::CUSTOM => 'Custom retry strategy implementation'
};
}
/**
* Get the corresponding strategy class name
*/
public function getStrategyClassName(): ?string
{
return match ($this) {
self::NONE => null, // No strategy class needed
self::FIXED => 'App\\Framework\\Retry\\Strategies\\FixedRetryStrategy',
self::LINEAR => 'App\\Framework\\Retry\\Strategies\\LinearDelayStrategy',
self::EXPONENTIAL => 'App\\Framework\\Retry\\Strategies\\ExponentialBackoffStrategy',
self::FIBONACCI => null, // Would need to be implemented
self::CUSTOM => null // User-provided
};
}
/**
* Check if this strategy type is available in the framework
*/
public function isAvailable(): bool
{
$className = $this->getStrategyClassName();
return $className === null || class_exists($className);
}
}