A Symfony 7 boilerplate implementing Domain-Driven Design, CQRS, and Event Sourcing patterns for PHP backend applications.
Symfony 7 ES CQRS Boilerplate is a starter kit for building backend applications using Symfony 7 that implements Domain-Driven Design (DDD), Command Query Responsibility Segregation (CQRS), and Event Sourcing patterns. It provides a production-ready foundation with a complete Docker environment, REST API, and asynchronous event processing to handle complex business domains with scalability and auditability in mind.
PHP backend developers and architects building complex, event-driven applications who need a structured starting point with DDD, CQRS, and Event Sourcing patterns implemented in Symfony.
Developers choose this boilerplate because it offers a battle-tested, version-upgraded implementation of advanced architectural patterns, saving significant setup time. Its comprehensive Docker setup, detailed documentation, and included use cases provide a practical reference for building scalable, maintainable systems.
Symfony 7 DDD ES CQRS backend boilerplate.
Open-Awesome is built by the community, for the community. Submit a project, suggest an awesome list, or help improve the catalog on GitHub.
Fully implements DDD, CQRS, and Event Sourcing using Symfony Messenger, providing a clear separation of commands and queries with persistent event logs for audit trails and scalability.
Includes pre-configured Docker setup with MySQL, Elasticsearch, Kibana, and RabbitMQ, enabling quick deployment and development with all necessary services.
Offers detailed guides on buses, use cases, projections, and async processing, making it easier to understand and extend the boilerplate for complex domains.
Integrates RabbitMQ for asynchronous event subscribers, allowing scalable background processing and improved performance for event-driven systems.
Provides a fully functional REST API with automated Swagger documentation, facilitating API development, testing, and integration.
The README explicitly labels the web UI as 'A Terrible UX/UI,' limiting its usefulness for user-facing features without significant front-end rework.
Requires SSH configuration for PHPStorm integration and managing multiple Docker containers, which can be time-consuming and error-prone for new users.
Assumes prior knowledge of DDD and Event Sourcing concepts, making it challenging for developers unfamiliar with these advanced architectural patterns.
The Docker stack runs several heavy services like Elasticsearch and RabbitMQ, consuming substantial memory and CPU, which may not suit all development or production setups.