Event sourcing is to data what Git is to code 1. Most applications have their current state stored in a database. By storing only the current state a lot of information is lost. You don't know how the application got in this state.
Event sourcing tries to solve that problem by saving all events that happen in your app. The state of your application is built by listening to those events.
Here's a traditional example to make it more clear. Imagine you're a bank. Your clients have accounts. Instead of storing the balance of the accounts, you could store all the transactions. That way you not only know the balance of the account but also the reason why it's that specific number. There are many other benefits of storing events.
This package aims to be the simple and very pragmatic way to get started with event sourcing in Laravel.
You can find installation instructions and detailed instructions on how to use this package at the dedicated documentation site.
Please see CHANGELOG for more information what has changed recently.
Please see CONTRIBUTING for details.
If you discover any security related issues, please email freek@spatie.be instead of using the issue tracker.
You're free to use this package, but if it makes it to your production environment we highly appreciate you sending us a postcard from your hometown, mentioning which of our package(s) you are using.
Our address is: Spatie, Samberstraat 69D, 2060 Antwerp, Belgium.
We publish all received postcards on our company website.
A big thank you to Dries Vints for giving lots of valuable feedback while we were developing the package.
Spatie is a webdesign agency based in Antwerp, Belgium. You'll find an overview of all our open source projects on our website.
Does your business depend on our contributions? Reach out and support us on Patreon. All pledges will be dedicated to allocating workforce on maintenance and new awesome stuff.
1 Quote taken from Event Sourcing made Simple
The MIT License (MIT). Please see License File for more information.