patchlevel / event-sourcing
A lightweight but also all-inclusive event sourcing library with a focus on developer experience
Installs: 59 719
Dependents: 4
Suggesters: 0
Security: 0
Stars: 148
Watchers: 7
Forks: 5
Open Issues: 17
Requires
- php: ~8.1.0 || ~8.2.0 || ~8.3.0
- doctrine/dbal: ^4.0.0
- doctrine/migrations: ^3.3.2
- patchlevel/hydrator: ^1.5.0
- patchlevel/worker: ^1.2.0
- psr/cache: ^2.0.0|^3.0.0
- psr/clock: ^1.0
- psr/event-dispatcher: ^1.0
- psr/log: ^2.0.0|^3.0.0
- psr/simple-cache: ^2.0.0|^3.0.0
- ramsey/uuid: ^4.7
- symfony/console: ^5.4.32|^6.4.1|^7.0.1
- symfony/finder: ^5.4.27|^6.4.0|^7.0.0
Requires (Dev)
- ext-pdo_sqlite: ~8.1.0 || ~8.2.0 || ~8.3.0
- cspray/phinal: ^2.0.0
- doctrine/orm: ^2.18.0|^3.0.0
- infection/infection: ^0.27.10
- league/commonmark: ^2.4
- patchlevel/coding-standard: ^1.3.0
- patchlevel/event-sourcing-psalm-plugin: ^3.0.0
- phpbench/phpbench: ^1.2.15
- phpspec/prophecy-phpunit: ^2.1.0
- phpstan/phpstan: ^1.10.49
- phpunit/phpunit: ^10.5.2
- psalm/plugin-phpunit: ^0.19.0
- roave/infection-static-analysis-plugin: ^1.34.0
- symfony/messenger: ^5.4.31|^6.4.0|^7.0.1
- symfony/var-dumper: ^5.4.29|^6.4.0|^7.0.0
- vimeo/psalm: ^5.17.0
- wnx/commonmark-markdown-renderer: ^1.4
Suggests
- patchlevel/event-sourcing-psalm-plugin: for psalm support
- 3.7.x-dev
- 3.6.x-dev
- 3.6.0
- 3.5.x-dev
- 3.5.1
- 3.5.0
- 3.4.x-dev
- 3.4.0
- 3.3.x-dev
- 3.3.0
- 3.2.x-dev
- 3.2.0
- 3.1.x-dev
- 3.1.0
- 3.0.x-dev
- 3.0.0
- 3.0.0-rc17
- 3.0.0-rc16
- 3.0.0-rc15
- 3.0.0-rc14
- 3.0.0-rc13
- 3.0.0-rc12
- 3.0.0-rc11
- 3.0.0-rc10
- 3.0.0-rc9
- 3.0.0-rc8
- 3.0.0-rc7
- 3.0.0-rc6
- 3.0.0-rc5
- 3.0.0-rc4
- 3.0.0-rc3
- 3.0.0-rc2
- 3.0.0-rc1
- 3.0.0-beta7
- 3.0.0-beta6
- 3.0.0-beta5
- 3.0.0-beta4
- 3.0.0-beta3
- 3.0.0-beta2
- 3.0.0-beta1
- 2.3.x-dev
- 2.3.2
- 2.3.1
- 2.3.0
- 2.2.x-dev
- 2.2.1
- 2.2.0
- 2.1.x-dev
- 2.1.1
- 2.1.0
- 2.1.0-beta2
- 2.1.0-beta1
- 2.0.x-dev
- 2.0.3
- 2.0.2
- 2.0.1
- 2.0.0
- 2.0.0-beta6
- 2.0.0-beta5
- 2.0.0-beta4
- 2.0.0-beta3
- 2.0.0-beta2
- 2.0.0-beta1
- 1.3.x-dev
- 1.3.0
- 1.2.x-dev
- 1.2.1
- 1.2.0
- 1.1.x-dev
- 1.1.1
- 1.1.0
- 1.0.x-dev
- 1.0.2
- 1.0.1
- 1.0.0
- 1.0.0-rc1
- 1.0.0-alpha2
- 1.0.0-alpha
- dev-renovate/phpstan-phpstan-2.x
- dev-renovate/php-8.x
- dev-renovate/lock-file-maintenance
- dev-command-bus
- dev-in-memory-store-clear
- dev-lookup
- dev-micro-aggregates
- dev-rename-playhead-into-stream-version
- dev-event-id
- dev-split-stream-header
- dev-renovate/docs
- dev-subscriber-delay
- dev-3.5.x-merge-up-into-3.6.x_POVex2G1
- dev-remove-experiment-flag-for-store
- dev-add-message-header-fallback
- dev-php84
- dev-subscription-setup
- dev-concurrent
- dev-buffer-messages
This package is auto-updated.
Last update: 2024-12-22 03:41:41 UTC
README
Event-Sourcing
An event sourcing library, complete with all the essential features, powered by the reliable Doctrine ecosystem and focused on developer experience.
Features
- Everything is included in the package for event sourcing
- Based on doctrine dbal and their ecosystem
- Developer experience oriented and fully typed
- Automatic snapshot-system to boost your performance
- Split big aggregates into multiple streams
- Versioned and managed lifecycle of subscriptions like projections and processors
- Safe usage of Personal Data with crypto-shredding
- Smooth upcasting of old events
- Simple setup with scheme management and doctrine migration
- Built in cli commands with symfony
- and much more...
Installation
composer require patchlevel/event-sourcing
Documentation
Integration
Supported databases
We officially only support the databases and versions listed in the table, as these are tested in the CI. Since the package is based on doctrine dbal, other databases such as OracleDB and MSSQL may also work. But we can only really support the databases if we can also automatically ensure that they don't break due to changes.
Tip
We recommend using PostgreSQL.