https://github.com/eduncan911/es
Event-sourcing and microservices infrastructure with specs framework for GoLang
https://github.com/eduncan911/es
Last synced: 11 months ago
JSON representation
Event-sourcing and microservices infrastructure with specs framework for GoLang
- Host: GitHub
- URL: https://github.com/eduncan911/es
- Owner: eduncan911
- Created: 2015-02-16T23:43:40.000Z (over 11 years ago)
- Default Branch: master
- Last Pushed: 2015-05-26T23:11:14.000Z (about 11 years ago)
- Last Synced: 2025-04-05T11:34:25.607Z (about 1 year ago)
- Language: Go
- Homepage:
- Size: 145 KB
- Stars: 13
- Watchers: 1
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
- awesome_cqrs - GitHub - eduncan911/es: Event-sourcing and microservices infrastructure with specs framework for GoLang
README
# es
import "github.com/eduncan911/es"
Package es is an event-sourcing infrastructure and specs framework for GoLang originally created by Rinat Abdullin.
This folder contains the core infrastructure for prototyping event-driven back-ends. You can import it in your go and move from there.
Additional packages available are:
* `root` - binary-sortable UUID and a definition of an event
* `api` - logic for hosting a simple JSON API (with some helpers)
* `bus` - event bus and an in-memory implementation
* `log` - helpers to setup logging
* `env` - environment for defining modules and specs (contracts)
* `specs` - express, verify and print event-driven specifications
* `hosting` - wire and run modules in a process
## type Contract
``` go
type Contract string
```
Contract is the string name
## type Event
``` go
type Event interface {
Meta() *Info
}
```
Event interface defines the Meta info
## type Info
``` go
type Info struct {
Contract string
EventID uuid.ID
}
```
Info represents a Contract and EventID
### func NewInfo
``` go
func NewInfo(contract string, eventID uuid.ID) *Info
```
NewInfo instantiates a new Info
- - -
Generated by [godoc2md](http://godoc.org/github.com/davecheney/godoc2md)