This is the library used for Nebulo client and server.
/!\ This project is a school project, it's not finished, it's not 100% working, don't use it unless you know what you do /!\
Documentation
The Golang documentation is available on the godoc website
Licence
Distributed under GPL-3 License, please see license file, and/or browse tldrlegal.com for more details.
Contribute to the project
Report bugs
Create an issue or contact bug[at]nebulo[dot]io
Before you started
Check your golang installation
Make sure golang
is installed and is at least in version 1.8 and your $GOPATH
environment variable set in your working directory
$> go version
go version go1.8 linux/amd64
$> echo $GOPATH
/home/krostar/go
If you don't have golang
installed or if your $GOPATH
environment variable isn't set, please visit Golang: Getting Started and Golang: GOPATH
It may be a good idea to add $GOPATH/bin
and $GOROOT/bin
in your $PATH
environment!
Download the project
# Manually
$> mkdir -p $GOPATH/src/github.com/krostar/
$> git -c $GOPATH/src/github.com/krostar/ clone https://github.com/krostar/nebulo-golib.git
# or via go get
$> go get github.com/krostar/nebulo-golib
$> go get -u github.com/twitchtv/retool
Use our Makefile
We are using a Makefile to everything we need (build, release, tests, documentation, ...).
# Get the dependencies and tools
$> make vendor
# Build the project (by default generated binary will be in <root>/build/bin/nebulo)
$> make build
# Test the project
$> make test
Guidelines
Coding standart
Please, make sure your favorite editor is configured for this project. The source code should be:
- well formatted (
gofmt
(usage of tabulation, no trailing whitespaces, trailing line at the end of the file, ...))
- linter free (
gometalinter --config=.gometalinter.json ./...
)
- with inline comments beginning with a lowercase caracter
Make sure to use make test
before submitting a pull request!
Other things
- use the dependencies manager and update them (see govendor and retool)
- write unit tests