stonecqrs/README.md
Rene Nochebuena 672ab94042
All checks were successful
Go CI/CD / go-ci (push) Successful in 19m7s
Go CI/CD / go-ci (pull_request) Successful in 19m9s
Update README with enhanced documentation and examples
Revamp README to include detailed usage examples, installation instructions, scientific benchmarks, and core CQRS/Event-Sourcing patterns. Improve explanation of StoneCQRS features and benefits, targeting clearer communication and user engagement.
2025-04-13 09:14:03 -06:00

85 lines
2.4 KiB
Markdown

# πŸ”₯ StoneCQRS - **10 billion% decoupled architecture!**
Ultimate CQRS/Event toolkit! ⚑ Command/Query separation with event-driven superpowers. Perfect for complex domains & microservices. Saga-ready architecture baked in. Part of stone-utils ecosystem. 10 billion% more decoupled! πŸš€
[![Kingdom of Science Approved](https://img.shields.io/badge/Approved%20By-Kingdom%20of%20Science-blueviolet)]()
[![EVENT-DRIVEN](https://img.shields.io/badge/Patterns-SO_BADASS!-blueviolet)]()
[![10 BILLION](https://img.shields.io/badge/Throughput-10_Billion%25-blueviolet)]()
## πŸš€ Why StoneCQRS?
- **CQRS/Event-Sourcing** with Senku-level precision
- **Saga-ready** architecture out of the box
- **100% decoupled** components (like good science should be)
- **10 billion events/sec** handling capacity (theoretical)
## πŸ’₯ Installation
```bash
go get gitstormr.dev/stone-utils/stonecqrs@latest
```
## ⚑ Basic Usage
```go
package main
import (
"gitstormr.dev/stone-utils/stonecqrs"
)
type CreateOrderCommand struct{ UserID string }
type OrderCreatedEvent struct{ OrderID string }
type OrderHandler struct{}
func (h *OrderHandler) Handle(ctx context.Context, cmd stonecqrs.Command) ([]stonecqrs.Event, error) {
return []stonecqrs.Event{OrderCreatedEvent{OrderID: "123"}}, nil
}
func main() {
dispatcher := stonecqrs.NewDispatcher()
dispatcher.RegisterCommandHandler(CreateOrderCommand{}, &OrderHandler{})
events, _ := dispatcher.DispatchCommand(ctx, CreateOrderCommand{UserID: "u-456"})
// events = [OrderCreatedEvent]
}
```
## πŸ”¬ Core Patterns
### Command -> Event -> Reaction
```text
[CreateOrderCommand]
↓
[OrderCreatedEvent] β†’ [PaymentHandler] β†’ [InventoryHandler]
```
### Saga ready flow
```go
// 1. Execute command
events, _ := dispatcher.DispatchCommand(ctx, cmd)
// 2. Automatic event processing
// (Handlers trigger subsequent commands)
// 3. Compensation on failure
// (Built-in rollback capabilities)
```
## βš—οΈ Scientific Benchmarks
| METRIC | STANDARD LIB | STONECQRS |
|---------------|---------------|-----------|
| Decoupling | 30% | 10B% |
| Scalability | 1x | ∞x |
| Debuggability | ❌ | πŸ”πŸ’‘ |
**Join the Scientific Revolution!**
> "This isn't just CQRS - it's revolutionizing software patterns like we revived civilization!" - Senku Ishigami
Kingdom of Science Approved
(Now with 100% more Chrome screaming "SO BADASS!")