Would love to see an event-sourcing / event-sourcing-database package pair. (Split the package just in case other want to build and use a different DB driver e.g redis, eventstoreDB, etc)
The interface package I was thinking of would cover the core building blocks: (Take these as example, design it as you see fit)
- DomainEvent
- Aggregate
- EventStoreInterface
- AggregateRepositoryInterface
- ProjectorInterface (sync + async)
- Snapshot support.
The database driver would ship Entity classes for the event store and snapshot tables, so they get picked up automatically by db:migrate - assuming I read that functionality correctly, happy to be corrected though.
Just the scaffolding so developers who need the pattern have a solid, native starting point.
Would love to see an event-sourcing / event-sourcing-database package pair. (Split the package just in case other want to build and use a different DB driver e.g redis, eventstoreDB, etc)
The interface package I was thinking of would cover the core building blocks: (Take these as example, design it as you see fit)
The database driver would ship Entity classes for the event store and snapshot tables, so they get picked up automatically by db:migrate - assuming I read that functionality correctly, happy to be corrected though.
Just the scaffolding so developers who need the pattern have a solid, native starting point.