micro-module/broadway-bundle
Integrates Broadway event sourcing and CQRS into Symfony applications, wiring command and event buses, event stores, read models, and supporting services through bundle configuration. Helps teams apply domain-driven design with less boilerplate.
broadway/broadway is the substantive upstream; this bundle is thin integration/config plumbing. That reframes the decision: you are not buying a system, you are buying a wiring convention. Default to evaluating Broadway itself and treating this bundle as optional convenience — writing your own service definitions is a legitimate, low-cost alternative.Consider it when:
broadway/broadway directly plus a hand-rolled service provider," not this package.Look elsewhere when:
event-sauce/event-sauce, patchlevel/event-sourcing (well-maintained, Laravel/Symfony friendly), ecotone, or spatie/laravel-event-sourcing (if Laravel) — several of which have real user bases and active releases.spatie/laravel-activitylog-style solution satisfies the requirement. Event sourcing carries real operational cost (projection rebuilds, versioning, eventual consistency) that is rarely justified by "we want history."Adoption gate: pilot in a bounded, non-critical domain (one aggregate, one projection) before any roadmap commitment. Confirm you can rebuild projections and version events without touching this bundle's code.
For executives (one line): Broadway is a proven pattern for systems that must remember every change — it gives us audit-grade history and the ability to reconstruct state at any point in time. This particular package is thin Symfony plumbing around it, so the real decision is whether our domain needs event sourcing, not whether we adopt this bundle.
broadway/broadway (the maintained core) as the durable asset, and the bundle as replaceable.For engineering: Treat this as glue, not a platform. Evaluate Broadway core first; if the bundle saves less than a day of wiring, skip it. Budget for projection rebuild tooling, event versioning/upcasting, and schema-migration discipline on the event store — those, not this package, determine success.
How can I help you explore Laravel packages today?