New

Just launched: Vueblocks, a brand-new search engine for Vue packages! Explore Vueblocks →

mr-luke/framekit

Event Sourcing package
5,008 2
Install
composer require mr-luke/framekit
Latest Version:1.0.0
PHP:>=7.1
Laravel:5 – 8
Last Updated:Dec 9, 2024
Links: GitHub  ·  Packagist
Maintainer: mr-luke

Framekit

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

Related Packages

patchlevel/laravel-event-sourcing

laravel package for patchlevel/event-sourcing

8,170 8
gosuperscript/zero-downtime-event-replays

Zero downtime event replay for Spatie's Laravel event sourcing package

612,242 3
hirethunk/verbs

An event sourcing package that feels nice.

311,500 522
freepeace13/inertia-live-laravel

Live Inertia pages driven by Spatie Event Sourcing projections.

4 0
tarfin-labs/event-machine

Event-driven state machines for Laravel with event sourcing, type-safe context,...

10,180 21

Version History

Version Released PHP Laravel License
1.0.0 >=7.1 ^8.0|^7.0|^6.0|^5.7 MIT
Pre-releases (18)
Version Released PHP Laravel License
2.0.0-rc.3 ^8.1 ^10.0|^9.0|^8.0
2.0.0-rc.2 ^8.1 ^10.0|^9.0|^8.0
2.0.0-rc.1 ^8.1 ^10.0|^9.0|^8.0
2.0.0-beta.7 ^8.0 ^10.0|^9.0|^8.0
2.0.0-beta.6 >=7.4 ^8.0|^7.0|^6.0|^5.7