Weave Code
Code Weaver
Helps Laravel developers discover, compare, and choose open-source packages. See popularity, security, maintainers, and scores at a glance to make better decisions.
Feedback
Share your thoughts, report bugs, or suggest improvements.
Subject
Message

Es Lib Laravel Package

awd-studio/es-lib

View on GitHub
Deep Wiki
Context7

AWD Event Sourcing library

This is a PHP library designed to simplify the implementation of Event Sourcing patterns in your applications. It provides a robust set of tools and abstractions to manage aggregates, events, event storage, and snapshots, enabling you to build scalable, maintainable, and auditable systems.

What is Event Sourcing?

Event Sourcing is a design pattern where changes to an application's state are captured as a sequence of events. Instead of storing only the current state, the application maintains a history of all events that have occurred. This approach offers several advantages, including:

  • Auditability: Every state change is recorded, providing a complete history.
  • Scalability: Events can be processed asynchronously or in parallel.
  • Reconstructability: Past states can be rebuilt by replaying events.

Features

  • Aggregates: Manage domain entities with built-in support for event sourcing.
  • Events: Define and handle domain events easily.
  • Event Store: Persist and retrieve events from a configurable storage backend.
  • Repositories: Simplify loading and saving aggregates.
  • Snapshots: Optimize performance by storing snapshots of aggregate states.

Installation

You can install ES Lib via Composer:

composer install awd-studio/es-lib

Usage

Se the example section.

Integration

To use the library in your projects, you need to implement such interfaces:

# Storage / DB layer

## Reading
\AwdEs\Event\Storage\Fetcher\EventFetcher::class
\AwdEs\Event\Storage\Fetcher\Handling\CriteriaHandlingCase::class

## Writing
\AwdEs\Event\Storage\Recorder\EventRecorder::class


# Metadata

## Applying
\AwdEs\Event\Applying\EventApplier::class

## Reading metadata
\AwdEs\Event\Handling\EventHandlerMethodResolver::class
\AwdEs\Meta\Event\EventMetadataResolver::class

License

This library is licensed under the MIT License. See the LICENSE file for details.

Weaver

How can I help you explore Laravel packages today?

Conversation history is not saved when not logged in.
Prompt
Add packages to context
No packages found.
codifyo/ts-generator-bundle
andydefer/laravel-cluster
testo/fiber
mintobit/jobqueue
a4sex/maintenance-bundle
a4sex/entity-date-update
a4sex/client-identifier
a4sex/base-utilites
a4sex/key-value-storage
a4sex/micro-status
chilldev/dependency-injection-extra
datinglibre/datinglibre-app-api
biberltd/corebundle
bricre/symfony-bundle-test
biberltd/logbundle
dominium/http-adapter-bundle
dominium/google-analytics
a4sex/auto-clean-entity
christhompsontldr/laravel-inky
spatie/mailcoach-vapor