mr-luke/framekit

There is no license information available for the latest version (2.0.0-rc.3) of this package.

Event Sourcing package

2.0.0-rc.3 2023-06-22 14:31 UTC

README

Latest Stable Version Total Downloads License

Tests Workflow Quality Gate Status Security Rating Reliability Rating

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...