actions | ||
data | ||
scripts | ||
serializer | ||
simpleserver | ||
storage | ||
.gitignore | ||
goes_test.go | ||
goes.go | ||
goes.iml | ||
README.md | ||
Vagrantfile |
GoLang implementation of a simple EventStore
Getting started
Pre-requisites
- Install GoLang version 1.6+
- Install libsodium* version 1.0.10+ (Linux only^)
- Install zeromq* version 4.0+ (Linux only^)
- Install msys2 (Windows only)
* On Linux libsodium and zeromq are installed from source (./configure && make && sudo make install && sudo ldconfig
)
^ On Window libzmq and libsodium are installed using pacman in MSYS2 shell (pacman -S mingw-w64-x86_64-zeromq
)
You can look at scripts/bootstrap.sh to get an idea on how to install all the pre-requisites.
Build
Fetching GO packages
In your GOPATH folder, execute the following commands:
go get github.com/adymitruk/goes
go get github.com/pebbe/zmq4
go get github.com/satori/go.uuid
Compiling the binary
In the project root folder, execute the following command:
go build
Running the server
In the project root folder, execute the following command:
./goes --db=./events --addr=tcp://127.0.0.1:12345
Both flags are optional and their default values are the same as the example.