2016-08-27 05:10:15 +00:00
# Goes
2016-06-25 07:14:20 +00:00
GoLang implementation of a simple EventStore
2016-08-27 05:10:15 +00:00
Released under the MIT license. See [LICENSE ](https://github.com/adymitruk/goes/blob/master/LICENSE ) file.
## Getting started
2016-06-25 07:14:20 +00:00
2016-08-27 05:10:15 +00:00
### Pre-requisites
2016-06-25 07:14:20 +00:00
- Install [GoLang ](https://golang.org/doc/install ) version 1.6+
- Install [libsodium ](https://download.libsodium.org/libsodium/releases/ )\* version 1.0.10+ (Linux only^)
- Install [zeromq ](http://zeromq.org/intro:get-the-software )\* version 4.0+ (Linux only^)
- Install [msys2 ](https://msys2.github.io/ ) (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`)
2016-06-25 07:36:46 +00:00
You can look at [scripts/bootstrap.sh ](https://github.com/adymitruk/goes/blob/master/scripts/bootstrap.sh ) to get an idea on how to install all the pre-requisites.
2016-08-27 05:10:15 +00:00
### Build
2016-06-25 07:14:20 +00:00
2016-08-27 05:10:15 +00:00
#### Fetching GO packages
2016-06-25 07:14:20 +00:00
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`
2016-08-27 05:10:15 +00:00
#### Compiling the binary
2016-06-25 07:14:20 +00:00
2016-08-26 20:32:04 +00:00
In the project root folder, execute the following command:
2016-06-25 07:14:20 +00:00
2016-08-28 20:29:53 +00:00
`go build -o bin/goes`
2016-06-25 07:14:20 +00:00
2016-08-27 05:10:15 +00:00
### Running the server
2016-06-25 07:14:20 +00:00
2016-08-26 20:32:04 +00:00
In the project root folder, execute the following command:
2016-06-25 07:14:20 +00:00
2016-08-28 20:29:53 +00:00
`./bin/goes --db=./events --addr=tcp://127.0.0.1:12345`
2016-06-25 07:14:20 +00:00
Both flags are optional and their default values are the same as the example.