Sekiban  by J-Tech-Japan

Event Sourcing and CQRS framework for .NET

Created 2 years ago
330 stars

Top 83.1% on SourcePulse

GitHubView on GitHub
Project Summary

Summary

Sekiban is a C#/.NET Core framework for building event-sourced applications using CQRS principles. It targets developers seeking a declarative API for complex event-driven systems, offering enhanced scalability and distributed capabilities through integrations with Microsoft Orleans and Dapr. The framework supports Azure Cosmos DB and PostgreSQL as event stores, aiming to simplify the development of robust, high-performance applications.

How It Works

Sekiban implements Event Sourcing and CQRS using C# and .NET Core 9+. It supports Microsoft Orleans for actor-based scalability and Dapr for distributed architectures, with event persistence options including Azure Cosmos DB and PostgreSQL. A key innovation is its adoption of the Dynamic Consistency Boundary (DCB) approach, which replaces rigid aggregate boundaries with context-sensitive, tag-based consistency models for greater flexibility and scalability in event-driven systems.

Quick Start & Requirements

  • Install templates: dotnet new install Sekiban.Pure.Templates
  • Create C# Orleans app: dotnet new sekiban-orleans-aspire -n YourProjectName
  • Create C# Dapr app: dotnet new sekiban-dapr-aspire -n YourProjectName
  • Create TypeScript Dapr app (Alpha): npx create-sekiban-app my-app
  • Requires .NET 9+ runtime.
  • AI MCP Server URL: https://sekiban-doc-mcp.azurewebsites.net/

Highlighted Details

  • Integrates AI Programming Model Context Protocol (MCP) for enhanced AI coding assistant support.
  • Adopts Dynamic Consistency Boundary (DCB) for flexible event-driven system consistency.
  • Features a built-in testing framework and a Command/Query Web API generator with Swagger.
  • Supports Azure Cosmos DB Hierarchical Partition Keys and offers features like optimistic concurrency checks and event versioning.

Maintenance & Community

Developed by J-Tech Japan since 2022, the project is open source under Apache 2.0. Sponsorship opportunities are forthcoming. Direct contact for training or seminars is available via sekibanadmin@jtechs.com. Contribution guidelines are provided.

Licensing & Compatibility

Licensed under Apache 2.0, permitting commercial use and integration with closed-source projects. Sekiban Pure is compatible with .NET 9.

Limitations & Caveats

The TypeScript implementation is currently in Alpha. Live Projection capabilities are best suited for small to medium-sized systems, with materialized views typically requiring external implementation using data store features like Azure Cosmos DB's change feed. Official documentation deployment is planned but not yet live.

Health Check
Last Commit

1 day ago

Responsiveness

Inactive

Pull Requests (30d)
37
Issues (30d)
11
Star History
8 stars in the last 30 days

Explore Similar Projects

Starred by Pawel Garbacki Pawel Garbacki(Cofounder of Fireworks AI), Eric Zhu Eric Zhu(Coauthor of AutoGen; Research Scientist at Microsoft Research), and
6 more.

ag-ui by ag-ui-protocol

1.3%
11k
Protocol for agent-user interaction in frontends
Created 8 months ago
Updated 1 day ago
Feedback? Help us improve.