How tarlepp/symfony-flex-backend works
This repository is a Symfony JSON REST backend for user, group, role, and API-key management, with authentication, localization, health checks, and request/login logging. The main workflow is a client request entering a controller, using REST/resource and persistence layers to work with domain entities, then returning a serialized response. The tree and excerpts show this structure, but many routes and services were not sampled; edges are limited to relationships supported by excerpts, the source index, or README statements.
Main entry points: AttachUserController.php User Group Attach · HealthzController.php Health Endpoint · Controller.php REST Controller · UserRepository.php User Repository
Components 23
HTTP API
- Domain Endpoints
src/Controller/v1 - Health Endpoint
src/Controller/HealthzController.php - Token Endpoint
src/Controller/v1/Auth/GetTokenController.php - User Group Attach
src/Controller/v1/UserGroup/AttachUserController.php
REST Framework
- REST Controller
src/Rest/Controller.php - Response Handler
src/Rest/ResponseHandler.php - REST Resources
src/Resource - REST Actions
src/Rest/Traits/Actions - User Resource
src/Resource/UserResource.php - Group Resource
src/Resource/UserGroupResource.php
Domain and Storage
- Repositories
src/Repository - User Repository
src/Repository/UserRepository.php - Domain Entities
src/Entity - User Entity
src/Entity/User.php - User Group Entity
src/Entity/UserGroup.php - Application Database
Identity and Access
- Security Services
src/Security - Role Service
src/Security/RolesService.php
Platform Services
- Localization
src/Service/Localization.php - Health Service
src/Utils/HealthzService.php - Management Commands
src/Command - Request and Login Logs
src/Utils/RequestLogger.php
Other components
- API Client
Connections 19
- API Client → Domain Endpoints: sends request
README.md - API Client → Health Endpoint: checks health
src/Controller/HealthzController.php - Domain Endpoints → REST Controller: uses framework
src/Controller/v1/User/AttachUserGroupController.php - Health Endpoint → Health Service: checks
src/Controller/HealthzController.php - Health Endpoint → Response Handler: formats response
src/Controller/HealthzController.php - User Group Attach → Group Resource: saves group
src/Controller/v1/UserGroup/AttachUserController.php - User Group Attach → User Resource: saves user
src/Controller/v1/UserGroup/AttachUserController.php - User Group Attach → User Group Entity: updates membership
src/Controller/v1/UserGroup/AttachUserController.php - User Group Attach → User Entity: updates membership
src/Controller/v1/UserGroup/AttachUserController.php - REST Controller → Response Handler: sets handler
src/Rest/Controller.php - REST Controller → REST Actions: uses actions
src/Rest/Controller.php - User Resource → User Repository: references repository
src/Resource/UserResource.php - Group Resource → Repositories: references repository
src/Resource/UserGroupResource.php - User Repository → User Entity: queries users
src/Repository/UserRepository.php - Repositories → Application Database: persists entities
- Security Services → User Repository: loads users
- Role Service → Security Services: supplies roles
src/Security/RolesService.php - Health Service → Domain Entities: checks health state
src/Utils/HealthzService.php - User Entity → Localization: uses defaults
src/Entity/User.php