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.
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"
To use Framekit
we need to set up some env
variables. To see all of them just run command:
php artisan vendor:publish
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.
This is our Entity abstract, we call it State.
Every Aggregate uses Events as state flow control blocks.
Since we work with CQRS, it's an instruction how to decompose our model to Query side model.
EventSourcing gives us an ability to walk along the stream to make a retrospection of Events.
There are many more elements to explore...