Skip to content

bborbe/cqrs

Repository files navigation

cqrs

CI Go Reference Go Report Card

Generic CQRS (Command Query Responsibility Segregation) library for event-driven Go services over Kafka.

Packages

Package Purpose
base Core types: Command, Event, Result, RequestID, CommandCreator
cdb Schema-based CQRS (group-kind-version), BoltDB persistence, K8s CRD
raw Lightweight streaming schemas (group-kind), no versioning
iam Permission system: Initiator, Roles, RoleBindings, PermissionChecker
topic Strimzi KafkaTopic builder with cleanup policies

Installation

go install github.com/bborbe/cqrs@latest

Documentation

Guide Purpose
Architecture Overview Package structure, cdb vs raw, data flow, design decisions
Base Types Command, Event, Result, RequestID, CommandCreator
Schema and Topics SchemaID, topic derivation, cleanup policies, K8s CRD
Producing Commands CommandObjectSender, building commands, domain senders
Command Consumer RunCommandConsumerTx, CommandObjectExecutorTx, auto wrapping
Command-Result Pattern Quick reference: send command → get result
Result Consumer ResultChannelProviderForRequestID, cross-process results
Event System EventObjectSender, EventStore, typed message handlers
IAM Initiator, PermissionChecker, Roles, RoleBindings

License

BSD-2-Clause

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors

Languages