matiux / dublin
Infrastructure and testing helpers for creating CQRS and event sourced applications.
Installs: 26
Dependents: 1
Suggesters: 0
Security: 0
Stars: 0
Watchers: 0
Forks: 174
pkg:composer/matiux/dublin
Requires
- php: >=8.4
- beberlei/assert: ^3.3.3
- broadway/uuid-generator: ^1.0
Requires (Dev)
- broadway/coding-standard: ^1.2.1
- matiux/php-project-autopilot: dev-master
- monolog/monolog: ^2.11
- phpspec/prophecy: ^1.24
- phpspec/prophecy-phpunit: ^2.4
- phpstan/phpstan: ^2.1.35
- phpunit/phpunit: ^11.5.48
- psr/log: ^1.1.4
- ramsey/uuid: ^4.9.2
Suggests
- broadway/broadway-saga: Saga component for Broadway
- broadway/event-store-dbal: Event store implementation using doctrine/dbal
- broadway/read-model-elasticsearch: Elasticsearch read model implementation
- matiux/dublin-bundle: Symfony bundle for matiux/dublin
- psr/log-implementation: Implementation for PSR3, LoggerInterface
README
Dublin is a maintained and modernized fork of the original Broadway project.
It provides infrastructure and testing helpers for building CQRS and Event Sourced applications in PHP, with a strong focus on explicit models, clear boundaries and minimal framework intrusion.
Dublin continues the original vision of Broadway while evolving it to support modern PHP versions and current development practices.
Fork origin and intent
Dublin is a fork of the Broadway project
(https://github.com/broadway/broadway), originally developed by the Broadway
contributors and the team at Qandidate.
The original project is no longer actively maintained.
The goal of Dublin is to:
- keep the project alive and maintained
- support modern PHP versions (8.4+)
- modernize tooling, CI and testing infrastructure
- evolve the codebase while preserving the original design philosophy
Where possible, Dublin aims to remain API-compatible with Broadway.
About
Like Broadway, Dublin provides a set of loosely coupled components that can be used independently or together to build CQRS and Event Sourced systems.
Dublin intentionally stays out of your way: no mandatory frameworks, no hidden magic, no forced architectural choices.
Architecture documentation (Structurizr)
This project includes Structurizr documentation. After building the project and starting the containers, the docs are available at:
Build and run:
make build-php ARG="--no-cache"
make upd
Installation
composer require matiux/dublin