Helen is the backend server component for the tf2stadium.com project written in Go.
- Go >= 1.5
- PostgreSQL (with the
hstore
extension installed) Default development account data can be found at database/setup.md - RabbitMQ
- go-bindata
Running this project requires configuring it via environment variables, documentation for which can be found on CONFIG.md
go get github.com/TF2Stadium/Helen
cd $(GOPATH)/src/github.com/TF2Stadium/Helen
make assets -B
make static
To build docker images, use docker build -t tf2stadium/helen .
The code is divided into multiple packages that follow the usual web application structure:
- models go in
models
- controllers go in
controllers
- database go in
database
, migration code goes to database/migrations - routes go in
routes/routes.go
- helpers go in
helpers
- Fork this repository - https://github.com/TF2Stadium/Helen/fork
- Create your feature branch -
git checkout -b my-new-feature
- Commit your changes -
git commit
- Push -
git push origin my-new-feature
- Create a Pull Request.
Before creating a Pull Request:
- Ensure the code matches the Go style guidelines mentioned Here. Code can be formatted with the
go fmt
tool. - Ensure existing tests pass (with
go test ./...
), or are updated appropriately. - For new features, you should add new tests.
- The pull request should be squashed (no more than 1 temporary commit per 100 loc, more info here)
Helen is licensed under the GNU Public License v3.
This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com"