Weave 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

Laravel Eventstore Laravel Package

digitalrisks/laravel-eventstore

A Laravel event store for event sourcing: persist domain events, rebuild aggregates from stored streams, and keep an auditable history of every change. Integrates with Laravel's database and service container.

View on GitHub
Deep Wiki
Context7

Product Decisions This Supports

  • Audit trail / compliance roadmap: An event store gives you an append-only, replayable record of every domain change — directly supports features like "who changed what, when," historical state reconstruction, and regulator/audit requests without bolting audit columns onto every table.
  • Build vs. buy for the domain event backbone: Rather than hand-rolling an events table, replay logic, projection runners, and aggregate persistence, this package supplies them for a Laravel codebase. The decision becomes "adopt a proven event-sourcing library" vs. "build and maintain our own" — with the trade-off being lock-in to the package's conventions (aggregates, projectors, reactors) and its maintenance cadence.
  • Architecture direction (CQRS / read-model separation): Choosing this package commits the team to deriving read models from events. That's a one-way-ish door for the affected bounded contexts, so it should be a deliberate roadmap decision, not an incidental one.
  • Reliability investment sizing (impact of v8.4.1): The ConnectionLostException change is small in code but meaningful in product terms — it lets us distinguish transient infrastructure failures from genuine domain/business errors. That directly enables decisions like "should a dropped DB connection during event append retry automatically, alert on-call, or surface to the user?" and it makes retry/backoff logic around event persistence safe to implement.
  • Operational error-handling policy for write paths: With a typed exception, we can set SLOs and alerting specifically on connection loss during appends, rather than treating all exceptions from the store as indistinguishable failures.

When to Consider This Package

Adopt when:

  • You are on Laravel/PHP and a bounded context genuinely benefits from event sourcing: temporal queries, auditability, replayable projections, or multiple divergent read models from the same writes.
  • The team understands DDD aggregates, eventual consistency, and projection rebuilds — event sourcing is a paradigm commitment, not a library drop-in.
  • You value a batteries-included integration (Laravel service provider, facades, projectors/reactors) over a standalone event-store server.
  • Your throughput and event volume are moderate — this stores events in your relational database, which is fine for most product domains and not fine for high-volume streaming.

Look elsewhere when:

  • The need is really "an activity log" — a simple activity/audit package or soft-delete + history table is far cheaper than event sourcing.
  • You require sustained, current maintenance. The project's release history around this version is dated (2022-era), so verify compatibility with your Laravel/PHP version and check the issue tracker for responsiveness before committing a multi-year roadmap to it.
  • You need very high write throughput, cross-language consumers, or stream processing — a dedicated store (EventStoreDB, Kafka) is the right tool.
  • The team is not prepared to own projection rebuilds, idempotency, and eventual-consistency UX. Adopting this without that capability creates a maintenance liability, not an asset.

On v8.4.1 specifically: no breaking API change, no new features — this is a robustness patch. It does not change the adoption calculus, but it is a positive signal that the maintainers are tightening error semantics.

How to Pitch It (Stakeholders)

To executives: This package gives us a durable, append-only history of everything that happens in our domain, so we can answer "what did this record look like last month and why" without bespoke audit plumbing. That's a compliance and customer-support accelerator, and it lets us add new reporting views by replaying history instead of migrating data. The cost is architectural: it commits the relevant part of the product to an event-driven model, so it should be scoped to the contexts where auditability and history are real requirements — not applied everywhere.

To engineering: v8.4.1 tightens failure semantics — connection loss during an event append now raises ConnectionLostException rather than a bare Exception. Practical consequence: we can write targeted retry/backoff around store writes and alert specifically on infrastructure loss, instead of catching everything and guessing. Before adoption, confirm Laravel/PHP version support and review the project's maintenance activity, since this release line is not recent. Treat it as a solid fit for event-sourced bounded contexts in a Laravel monolith, and a poor fit for simple CRUD audit logging or high-throughput streaming.

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.
ignibyte/aic-framework
glavweb/data-schema-bundle
glavweb/datagrid-bundle
tacticmedia/scim-server
uni-method/frame
neika-ai/sdk
adachsoft/php-code-style
pharaonic/laravel-notification-dependencies
beautinow/translug
dev-brainiac/bot-cloaked
octoberrain/html
octoberrain/extension
octoberrain/exception
octoberrain/contracts
adachsoft/api-version-bundle
cgv/localized-resource
noith/settings
kda/laravel-package
kda/filament-dynamic-navigation
bypersoft/signbox