All Projects → eventsourcing → Es4j

eventsourcing / Es4j

Licence: other
Event capture and querying framework for Java

Programming Languages

java
68154 projects - #9 most used programming language

Projects that are alternatives of or similar to Es4j

Pumpkindb
Immutable Ordered Key-Value Database Engine
Stars: ✭ 1,219 (+203.23%)
Mutual labels:  event-sourcing, database
Eventstore
Event store using PostgreSQL for persistence
Stars: ✭ 729 (+81.34%)
Mutual labels:  event-sourcing, database
Eventstore
The stream database optimised for event sourcing
Stars: ✭ 4,395 (+993.28%)
Mutual labels:  event-sourcing, database
Statecraft
Manage state with finesse
Stars: ✭ 145 (-63.93%)
Mutual labels:  event-sourcing, database
Sqlboiler
Generate a Go ORM tailored to your database schema.
Stars: ✭ 4,497 (+1018.66%)
Mutual labels:  database
Arquero
Query processing and transformation of array-backed data tables.
Stars: ✭ 384 (-4.48%)
Mutual labels:  database
Pg timetable
pg_timetable: Advanced scheduling for PostgreSQL
Stars: ✭ 382 (-4.98%)
Mutual labels:  database
Event Source Cqrs Sample
Sample ES/CQRS application
Stars: ✭ 380 (-5.47%)
Mutual labels:  event-sourcing
Model
Ruby persistence framework with entities and repositories
Stars: ✭ 399 (-0.75%)
Mutual labels:  database
Firebase Instagram
📸 Instagram clone with Firebase Cloud Firestore, Expo, and React Native 😁😍
Stars: ✭ 389 (-3.23%)
Mutual labels:  database
Operator
KubeDB Operator
Stars: ✭ 387 (-3.73%)
Mutual labels:  database
Grdb.swift
A toolkit for SQLite databases, with a focus on application development
Stars: ✭ 4,637 (+1053.48%)
Mutual labels:  database
Objectbox Java
ObjectBox is a superfast lightweight database for objects
Stars: ✭ 3,950 (+882.59%)
Mutual labels:  database
Dbreeze
C# .NET MONO NOSQL ( key value store embedded ) ACID multi-paradigm database management system.
Stars: ✭ 383 (-4.73%)
Mutual labels:  database
Ck
Collective Knowledge framework (CK) helps to organize black-box research software as a database of reusable components and micro-services with common APIs, automation actions and extensible meta descriptions. See real-world use cases from Arm, General Motors, ACM, Raspberry Pi foundation and others:
Stars: ✭ 395 (-1.74%)
Mutual labels:  database
Paper trail
Track and record all the changes in your database with Ecto. Revert back to anytime in history.
Stars: ✭ 380 (-5.47%)
Mutual labels:  database
Samples
Sample projects using Material, Graph, and Algorithm.
Stars: ✭ 386 (-3.98%)
Mutual labels:  database
Closuretable
Adjacency List’ed Closure Table database design pattern implementation for the Laravel framework.
Stars: ✭ 391 (-2.74%)
Mutual labels:  database
Diwata
A user-friendly database interface
Stars: ✭ 386 (-3.98%)
Mutual labels:  database
Franchise
🍟 a notebook sql client. what you get when have a lot of sequels.
Stars: ✭ 3,823 (+851%)
Mutual labels:  database

Build Status Maven Central Download Join the chat at https://gitter.im/eventsourcing/eventsourcing

logo Eventsourcing for Java

Enabling plurality and evolution of domain models

Instead of mutating data in a database, Eventsourcing stores all changes (events) and what caused them (commands). To make this data useful, Eventsourcing builds indices over it.

This helps developing applications faster because there is no need to worry about designing the right domain models upfront (or as close to right as possible). By keeping all the commands and events, we can enrich or change our domain models over time with very little friction. Furthermore, this approach removes a need to have a one and only domain model for every entity. We experience the world and reality in different ways, depending on circumstances and points of view, and our programs should be able to reflect that.

To learn more about what kind of problems ES4J addresses, please read Why Use Eventsourcing Database

Lazy event sourcing: living in the now

Key benefits

  • Domain model flexibility
  • Late domain model binding
  • Persistence of causal information
  • Serializable conflict resolution
  • Audit trail logging
  • Mapping application functionality

Key features

  • Strongly typed schemas
  • Event migrations
  • Domain protocols
  • Batteries included (shared event languages)
  • Basic support for Kotlin
  • Causality-preserving Hybrid Logical Clocks
  • In-memory and server (PostgreSQL) storage
  • Locking synchronization primitive
  • JMX-based introspection and management

Presentation

You can find our current slide deck at https://eventsourcing.com/presentation

Downloading and installing

To start using ES4J, please follow the installation instructions.

Documentation

Documentation can be found at es4j.eventsourcing.com

We strive to specify the building blocks behind Eventsourcing and its ecosystem as succinct specifications, you can find the current list of them at rfc.eventsourcing.com

Roadmap

As this project is striving to be a decentralized, contributors-driven project governed by the C4 process, there is no central roadmap per se. However, there's a centralized list of reported issues. These do not imply an actual roadmap, just what has been reported, ranging from bugs to longer-term design issues.

Contributing

Contributions of all kinds (code, documentation, testing, artwork, etc.) are highly encouraged. Please open a GitHub issue if you want to suggest an idea or ask a question.

We use Unprotocols C4 process. In a nutshell, this means:

  • We merge pull requests rapidly (try!)
  • We are open to diverse ideas
  • We prefer code now over consensus later

For more details, please refer to CONTRIBUTING

Related projects

  • es4j-graphql A Relay.js/GraphQL adaptor for ES4J-based applications.
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].