https://github.com/renatoathaydes/eventory
An event sourcing-inspired library targeting offline-first use, with automatic synchronization with remote instances when connection is available.
https://github.com/renatoathaydes/eventory
dart database event-sourcing events
Last synced: 10 months ago
JSON representation
An event sourcing-inspired library targeting offline-first use, with automatic synchronization with remote instances when connection is available.
- Host: GitHub
- URL: https://github.com/renatoathaydes/eventory
- Owner: renatoathaydes
- License: bsd-2-clause
- Created: 2019-07-28T20:46:05.000Z (almost 7 years ago)
- Default Branch: master
- Last Pushed: 2019-08-21T20:55:13.000Z (almost 7 years ago)
- Last Synced: 2025-03-22T02:22:19.910Z (over 1 year ago)
- Topics: dart, database, event-sourcing, events
- Language: Dart
- Size: 93.8 KB
- Stars: 8
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- Changelog: CHANGELOG.md
- License: LICENSE
Awesome Lists containing this project
README
# Eventory
> Work in progress
An event sourcing-inspired library targeting offline-first use, with automatic synchronization with remote
instances when connection is available.
## Design Principles
* All events are acceptable. Errors are managed when _looking_ at the data, not when writing.
* Writers control the instant events happen.
* Event value serialization mechanism can be chosen by library users.
* EventSource is immutable and represents the state of the world at a precise moment in time.
* EventorySink must be able to write as fast as possible.
* Snapshots allow EventSources to be extremely efficient at querying data.
* EventSource and EventorySink are always separate entities even when using the same storage mechanism.
* Reloading an EventSource with new events from an EventorySink or remote stream must be extremely cheap.