Structure du projet
API
flowchart TD
client --> routing
doctrine -- MariaDB --> services
middleware_dispatch_job -- RabbitMQ --> services
stockage -- Filesystem --> services
supervisor --> workers --> services
subgraph http
client[Client/Angular]
end
subgraph api
subgraph listeners
routing[Routing] --> validation_open_api[Validation OpenAPI] --> security[Sécurité]
end
subgraph domain
repository[Repository]
handler1[CréerArmoireHandler] --> repository
handler2[UploadDocumentHandler] --> repository
handlerx[EtcHandler] --> repository
handler2 --> stockage[Stockage Fichiers]
end
validation_open_api --> controller[Controller] --> lecture{HTTP GET ?}
lecture -- Oui --> repository --> doctrine[Doctrine]
lecture -- Non --> middleware_mixpanel[Middleware MixPanel] --> middleware_dispatch_job[Middleware Taches Async] --> middleware_flush_doctrine[Middleware Flush Doctrine] --> command_bus[Dispatch Command]
command_bus --> handler1
command_bus --> handler2
command_bus --> handlerx
middleware_flush_doctrine --> doctrine
workers[Workers]
end
subgraph infra
supervisor[Supervisor]
services[Services]
end