Go to file
2016-06-25 00:36:46 -07:00
scripts Fixing bootstrap, install and start scripts 2016-06-25 00:32:58 -07:00
simpleserver Fix simpleserver reference to goes 2016-06-25 00:32:58 -07:00
.gitignore Adding .gitignore 2016-02-16 21:34:19 -08:00
goes_test.go simpleserver replies with error instead of crashing, adding tests on 2016-02-16 21:30:50 -08:00
goes.go Adding readable disk storage with minimalistic tests 2016-02-17 18:15:40 -08:00
goes.iml First commit 2016-02-12 17:54:50 -08:00
readablediskstorage_test.go Adding readable disk storage with minimalistic tests 2016-02-17 18:15:40 -08:00
readablediskstorage.go Add flags and shutdown command to simpleserver 2016-02-18 16:28:02 -08:00
README.md Updating README with bootstrap link 2016-06-25 00:36:46 -07:00
serialization.go Adding readable disk storage with minimalistic tests 2016-02-17 18:15:40 -08:00
storage.go Adding readable disk storage with minimalistic tests 2016-02-17 18:15:40 -08:00
Vagrantfile Adding install to Vagrantfile 2016-06-25 00:32:58 -07:00

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 your GOPATH folder, execute the following command:

go build -o bin/goes src/github.com/adymitruk/goes/simpleserver/simpleserver.go

* Use -o bin/goes.exe on Windows

Running the server

In your GOPATH folder, execute the following command:

./bin/goes --db=./events --addr=tcp://127.0.0.1:12345

Both flags are optional and their default values are the same as the example.