pfaffkit / essa
Event Sourcing Scaffold Assembly
Installs: 13
Dependents: 2
Suggesters: 0
Security: 0
Stars: 0
Watchers: 1
Forks: 0
Open Issues: 3
Type:symfony-bundle
Requires
- php: ^8.4
- ext-pdo: *
- symfony/config: 7.2
- symfony/dependency-injection: 7.2
- symfony/framework-bundle: ^7.0
- symfony/http-kernel: 7.2
- symfony/messenger: ^7.2
- symfony/property-access: 7.2
- symfony/property-info: 7.2
- symfony/serializer: 7.2
- symfony/uid: ^7.2
- symfony/yaml: ^7.2
Requires (Dev)
- friendsofphp/php-cs-fixer: ^3.68
- phpunit/phpunit: ^11.5
- rector/rector: ^2.0
- zenstruck/messenger-test: ^1.11
Suggests
- pfaffkit/essa-storage-doctrine-connector: Doctrine persistence connector.
This package is auto-updated.
Last update: 2025-06-13 21:38:32 UTC
README
Event Sourcing Scaffold Assembly
Disclaimer
This library is on early stage of development.
There are many things to do, and many things to improve.
Critical changes may occur, especially changes that breaks backward compatibility.
Please be aware of that when upgrading library versions.
Introduction
ESSA is simple project which aims to provide a scaffold for building DDD & event-sourced applications.
Programmatically, it is a set of interfaces and implementations that helps you to build a domain model much faster.
Whole project is designed to be maximally extendable and customizable for your needs. To achieve this in your project, please refer to usage manuals which describes how to use ESSA properly.
Installation
Using composer
composer require pfaffkam/essa
You can follow next steps which is described in get started manual.
Current dependencies
To make this scaffold useful, there are some concrete implementations, which based on existing libraries.
Example - for Identity
interface there is Id
implementation,
which is based on symfony/uuid
library.
Related repositories
Due to packagist mechanics, all ESSA extensions are stored in separate repositories. To help you to navigate over this ecosystem, here is a list of related repositories:
Repository | Package | Type | Description |
---|---|---|---|
pfaffkam/essa-storage-doctrine-connector | pfaffkit/essa-storage-doctrine-connector | Storage connector | Utilises Doctrine ORM to store events. |
| |
Development
To minimize pain of setting up development environment, you should download all related repositories using following command:
mkdir -p essa-family ; cd essa-family \ && git clone git@github.com:pfaffkam/essa.git \ && git clone git@github.com:pfaffkam/essa-recipes.git \ && git clone git@github.com:pfaffkam/essa-storage-doctrine-connector.git \ && git clone git@github.com:pfaffkam/essa-storage-mongodb-connector.git