Broadway is a project providing infrastructure and testing helpers for creating CQRS and event sourced applications. Broadway tries hard to not get in your way. The project contains several loosely coupled components that can be used together to provide a full CQRS\ES experience.
Note: while broadway is currently used in production, you should probably know what you're doing. ;)
Feel free to join #qandidate on freenode with questions and remarks!
Read the blog post about this repository at:
$ composer require broadway/broadway
Examples can be found in the examples/
directory. Most of the
examples focus on showing how one of the components works. There is also a more
deliberate example using several components and showing how you can
test your event sourced model.
Broadway consists of several components. Check out the README's of each component for more information.
- Auditing
- CommandHandling
- Domain
- EventDispatcher
- EventHandling
- EventSourcing
- EventStore
- Processor
- ReadModel
- Repository
- Saga
- Serializer
-
The broadway project ships with a bundle to use with a Symfony application.
-
A Laravel package is also available to allow the use of Broadway inside a Laravel application.
Contributions for integrations with other projects are appreciated!
The broadway project is heavily inspired by other open source project such as AggregateSource, Axon Framework and Ncqrs.
We also like to thank Benjamin, Marijn and Mathias for the conversations we had along the way that helped us shape the broadway project. In particular Marijn for giving us access to his in-house developed CQRS framework.
MIT, see LICENSE.