mr-luke / framekit
Event Sourcing package
Installs: 4 898
Dependents: 0
Suggesters: 0
Security: 0
Stars: 2
Watchers: 0
Forks: 1
Open Issues: 2
Requires
- php: ^8.1
- ext-json: *
- laravel/framework: ^10.0|^9.0|^8.0
- mr-luke/bus: ^1.0
- mr-luke/configuration: ^1.0
- nesbot/carbon: ^2.61
Requires (Dev)
- fakerphp/faker: ^1.20
- mockery/mockery: ^1.0
- orchestra/testbench: ^8.0
- pdepend/pdepend: ^2.12
- phpunit/phpunit: ^9.5
- dev-master
- 2.0.0-rc.3
- 2.0.0-rc.2
- 2.0.0-rc.1
- 2.0.0-beta.7
- 2.0.0-beta.6
- 2.0.0-beta.5
- 2.0.0-beta.4
- 2.0.0-beta.3
- 2.0.0-beta.2
- 2.0.0-beta.1
- 2.0.0-alpha.9
- 2.0.0-alpha.8
- 2.0.0-alpha.7
- 2.0.0-alpha.6
- 2.0.0-alpha.5
- 1.0.0
- v1.0.0-rc.25
- v1.0.0-rc.24
- v1.0.0-rc.23
- dev-dependabot/composer/symfony/http-foundation-6.4.14
- dev-dependabot/composer/symfony/process-6.4.14
- dev-feature/docs
This package is auto-updated.
Last update: 2024-11-06 17:00:24 UTC
README
Getting Started
Framekit is Laravel package built to speed up DDD modeling with EventSourcing. It implements
CQRS architecture. This version will be replaced by 2.0.0
where some concepts will be re-written.
Installation
To install through composer, simply put the following in your composer.json file and run composer update
{ "require": { "mr-luke/framekit": "~1.0" } }
Or use the following command
composer require "mr-luke/framekit"
Configuration
To use Framekit
we need to set up some env
variables. To see all of them just run command:
php artisan vendor:publish
Base Components
\Framekit\AggregateRoot
It's main build up component. Due to DDD building blocks it's our root or Model tree. The heart of an aggregate is our Entity model.
\Framekit\State
This is our Entity abstract, we call it State.
\Framekit\Event
Every Aggregate uses Events as state flow control blocks.
\Framekit\Projection
Since we work with CQRS, it's an instruction how to decompose our model to Query side model.
\Framekit\Retrospection
EventSourcing gives us an ability to walk along the stream to make a retrospection of Events.
There are many more elements to explore...