awesome-repositories.com
Blog
MCP
awesome-repositories.com

Discover the best open-source repositories with AI-powered search.

ExploreCurated searchesOpen-source alternativesSelf-hosted softwareBlogSitemap
ProjectMCP serverAboutHow we rankPress
LegalPrivacyTerms
© 2026 Bringes Technology SRL·VAT RO45896025·hello@awesome-repositories.com
EventStore avatar

EventStore/EventStore

0
View on GitHub↗
5,809 stars·676 forks·C#·27 viewswww.kurrent.io↗

EventStore

KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores application state as an immutable, ordered sequence of events rather than updating rows in place, preserving full history for audit, replay, and distributed consistency. The database combines event storage with real-time streaming and a built-in JavaScript projection engine that transforms and aggregates event streams into materialized views.

The system provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust, enabling multi-language application development with bidirectional event streaming. It supports atomic multi-stream writes with conditional version checks, ensuring consistency across streams within a single transaction. Real-time event delivery is available through both gRPC streaming and an AtomPub-based HTTP subscription protocol, allowing polling-free consumption of events as they occur.

KurrentDB offers multiple deployment options including Docker containers, Kubernetes clusters managed by a custom operator, and managed cloud services on AWS, Azure, or GCP. The database includes command-line and graphical administration interfaces, an HTTP management API, and plugin-based authentication supporting OAuth and LDAP loaded from environment variables. Backup and restore procedures, stream bridging connectors to external systems, and cloud infrastructure automation via Terraform or Pulumi round out the operational capabilities.

Features

  • Event-Native Databases - Stores application state as an immutable, ordered sequence of events for audit, replay, and event-driven architectures.
  • Append-Only Event Logs - Stores application state as an immutable, ordered sequence of events for audit and replay.
  • Projection Engines - Runs user-defined JavaScript functions within the database to transform and aggregate event streams into materialized views.
  • Multi-Language gRPC Client Libraries - Provides official multi-language gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust.
  • Atomic Multi-Stream Writes - Writes events to multiple streams in a single atomic operation with conditional version checks for consistency.
  • Event Stores - Persists and retrieves sequences of events for state reconstruction or subscriber synchronization.
  • Event Stream Implementation - Appends new events to a named stream, preserving the order and history of state changes.
  • Immutable Event Appends - Appends events to an immutable log, preserving full history for event sourcing.
  • Event Store gRPC Streaming - Streams persisted events to clients in real time using the gRPC protocol for event-driven processing.
  • Event Streaming Databases - Persists events as immutable streams and delivers them to subscribers in real time via gRPC and HTTP.
  • JavaScript Projection Functions - Runs user-defined JavaScript functions to transform and aggregate event streams into materialized views.
  • Event Stream Reads - Retrieves events from a named stream in order, enabling replay or processing of past state changes.
  • gRPC Connection Establishment - Ships gRPC client libraries that establish connections for event streaming operations.
  • Event Store gRPC Clients - Provides official gRPC client libraries for connecting applications in multiple languages to the event store.
  • Multi-Language gRPC Clients - Provides official gRPC client libraries for Python, Node.js, Java, .NET, Go, and Rust.
  • gRPC Event Communication - Communicates with clients using gRPC for efficient, language-agnostic bidirectional streaming.
  • Real-time Event Streams - Delivers events to subscribers in real time via gRPC and HTTP for reactive processing.
  • Event Stream Subscriptions - Reads and writes event data as a continuous stream, enabling real-time processing and event-driven workflows.
  • Multi-Stream Atomic Writes - Supports atomic writes to multiple streams in a single transaction with conditional version checks.
  • Event-Driven Architectures - Models application state as a sequence of events, simplifying data modeling in event-driven architectures.
  • Event-Driven Coordination - Coordinates distributed services through event streams for decoupled communication.
  • Integrated Event Storage and Streaming - Persists events as the source of truth and streams them to consumers, ensuring data consistency across distributed services.
  • Immutable Event Logs - Stores application state as an immutable, ordered sequence of events, preserving full history for audit and replay.
  • Event Log Projections - Transforms and aggregates event streams into materialized views for efficient querying and reporting.
  • Event-Driven Databases - Combines event storage with streaming and projection capabilities for event-driven applications.
  • gRPC Event Streaming - Uses gRPC for efficient, language-agnostic bidirectional streaming and command execution.
  • Kubernetes Operators - Ships a Kubernetes operator for automating cluster deployment, scaling, and recovery.
  • Database Lifecycle Operators - Manages database cluster deployment, scaling, and recovery on Kubernetes via a custom operator.
  • Event Store Operators - Manages the lifecycle of event store database clusters on Kubernetes, including deployment, scaling, and recovery.
  • AtomPub HTTP Subscription Protocols - Delivers real-time event notifications over HTTP using the Atom Syndication Format.
  • Database Backup and Restore - Provides procedures for creating backups of cluster data and restoring from them for failure recovery.
  • Event Stream Connectors - Provides built-in connectors that stream events to traditional databases and data pipelines.
  • Managed Event Store Platforms - Provisions and operates event store database clusters on major cloud providers through a managed service.
  • Cloud Infrastructure Automation - Manages cloud resources programmatically via Terraform, Pulumi, and a CLI tool.
  • Managed Event Store Deployments - Provisions and runs event store clusters on major cloud providers as a managed service.
  • SSL-Enabled Cluster Setups - Provides SSL certificate and license key configuration for secure, highly-available cluster deployments.
  • Docker Container Deployments - Ships Docker container deployments for single-node and three-node secure cluster setups.
  • Managed Cloud Deployments - Deploys event store clusters on AWS, Azure, or GCP as a fully managed service.
  • Kubernetes Deployment - Manages database lifecycle on Kubernetes using a dedicated operator.
  • Persistent Subscription Reliability - Ensures subscription continuity and performance under cluster leader elections and burst load conditions.
  • HTTP Event Subscription - Offers a RESTful HTTP interface with AtomPub-based subscriptions for real-time event consumption.
  • Databases and Storage - Functional database with complex event processing capabilities.
  • Messaging and Queuing - Functional database with complex event processing.

Star history

Star history chart for eventstore/eventstoreStar history chart for eventstore/eventstore

How this analysis was created: This summary and feature list are AI-generated from collected project material and can contain mistakes. Stars, license and language are imported from GitHub. Inclusion does not mean that we have tested or audited this project. Check the source documentation for any feature you depend on. Learn more on our About page.

AI search

Explore more awesome repositories

Describe what you need in plain English — the AI ranks thousands of curated open-source projects by relevance.

Start searching with AI

Projects sharing features with EventStore

These projects share indexed features with EventStore. Shared tags can include platform or build tooling; verify the primary use case before treating a result as a replacement.
  • kurrent-io/kurrentdbkurrent-io avatar

    kurrent-io/KurrentDB

    5,809View on GitHub↗

    KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores events as immutable, ordered records in streams, preserving a complete audit trail and enabling temporal queries. The database uses gRPC for all client-server and inter-node communication, providing efficient binary serialization and bidirectional streaming, and supports atomic multi-stream writes that ensure consistency across multiple streams in a single transaction. The database distinguishes itself with a built-in JavaScript projection engine that transforms, filters, and aggregates

    C#cqrsdatabaseevent-sourcing
    View on GitHub↗5,809
  • commanded/commandedcommanded avatar

    commanded/commanded

    2,016View on GitHub↗

    Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design. It provides a structured environment for implementing command-query responsibility segregation, allowing developers to separate write-side command processing from read-side data projection. By treating state changes as an immutable sequence of events, the framework ensures a reliable audit trail and facilitates system recovery. The project distinguishes itself through its support for distributed process orchestration and event-driven middleware pipelines. It enables the managem

    Elixircommandedcqrscqrs-es
    View on GitHub↗2,016
  • akkadotnet/akka.netakkadotnet avatar

    akkadotnet/akka.net

    5,023View on GitHub↗

    Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a distributed computing platform and state manager that enables isolated actors to communicate via asynchronous message passing, ensuring thread-safe state management without manual locks. The project is distinguished by its decentralized coordination capabilities, including a distributed state manager that uses sharding and dynamic rebalancing to maintain high availability. It incorporates an event sourcing engine that persists state as a sequence of events in an append-only log an

    C#actoractor-modelakka
    View on GitHub↗5,023
  • livestorejs/livestorelivestorejs avatar

    livestorejs/livestore

    3,475View on GitHub↗

    Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize application data. It provides an event-sourced state store that processes typed events through materializer functions to derive and persist application state. The framework implements offline-first data synchronization using a push-pull engine and append-only event logs to maintain consistency between clients and servers. It includes a real-time presence system for tracking user activity and shared session status across connected clients. The system covers a broad capability surf

    TypeScriptdata-layerlocal-firstsignals
    View on GitHub↗3,475
Compare all 30 related projects→

Frequently asked questions

What does eventstore/eventstore do?

KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores application state as an immutable, ordered sequence of events rather than updating rows in place, preserving full history for audit, replay, and distributed consistency. The database combines event storage with real-time streaming and a built-in JavaScript projection engine that transforms and aggregates event streams into materialized views.

What are the main features of eventstore/eventstore?

The main features of eventstore/eventstore are: Event-Native Databases, Append-Only Event Logs, Projection Engines, Multi-Language gRPC Client Libraries, Atomic Multi-Stream Writes, Event Stores, Event Stream Implementation, Immutable Event Appends.

Which projects share features with eventstore/eventstore?

Projects with overlapping indexed features include: kurrent-io/kurrentdb — KurrentDB is an event-native database designed for event sourcing and event-driven architectures. It stores events as… commanded/commanded — Commanded is an Elixir framework designed for building event-sourced applications that utilize domain-driven design.… akkadotnet/akka.net — Akka.NET is an actor model framework used for building concurrent and distributed applications. It functions as a… railseventstore/rails_event_store — Rails Event Store is a library for implementing event sourcing and command query responsibility segregation patterns… livestorejs/livestore — Livestore is a reactive state management framework that utilizes a local SQLite database to store and synchronize… thangchung/go-coffeeshop — go-coffeeshop is an event-driven microservices architecture designed to manage the end-to-end lifecycle of customer…