Go to file
2016-08-26 22:14:01 -07:00
actions Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
data Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
scripts Fixing bootstrap, install and start scripts 2016-06-25 00:32:58 -07:00
serializer Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
server Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
simpleserver Refactoring: re-organize project intro multiple packages (folders) 2016-08-26 13:32:04 -07:00
storage Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
.gitignore Refactoring: re-organize project intro multiple packages (folders) 2016-08-26 13:32:04 -07:00
goes_test.go Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
goes.go Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
goes.iml First commit 2016-02-12 17:54:50 -08:00
LICENSE Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
README.md Implement v2 Protocol. Adding expectedVersion for optimistic concurrency and metadata. 2016-08-26 22:10:15 -07:00
Vagrantfile Adding install to Vagrantfile 2016-06-25 00:32:58 -07:00

Goes

GoLang implementation of a simple EventStore

Released under the MIT license. See LICENSE file.

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.