Helen

command module
v0.0.0-...-937b28e Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Dec 28, 2022 License: GPL-3.0 Imports: 29 Imported by: 0

README

Helen

Helen is the backend server component for the tf2stadium.com project written in Go.

Build Status Go Report Card GitHub license Stories in Ready

Coverage Status

Requirements
  • Go >= 1.5
  • PostgreSQL (with the hstore extension installed) Default development account data can be found at database/setup.md
  • RabbitMQ
  • go-bindata
Installation

Running this project requires configuring it via environment variables, documentation for which can be found on CONFIG.md

  1. go get github.com/TF2Stadium/Helen
  2. cd $(GOPATH)/src/github.com/TF2Stadium/Helen
  3. make assets -B
  4. make static

To build docker images, use docker build -t tf2stadium/helen .

Structure

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
Contributing
  1. Fork this repository - http://github.com/TF2Stadium/Helen/fork
  2. Create your feature branch - git checkout -b my-new-feature
  3. Commit your changes - git commit
  4. Push - git push origin my-new-feature
  5. Create a Pull Request.

Before creating a Pull Request:

  1. Ensure the code matches the Go style guidelines mentioned Here. Code can be formatted with the go fmt tool.
  2. Ensure existing tests pass (with go test ./...), or are updated appropriately.
  3. For new features, you should add new tests.
  4. The pull request should be squashed (no more than 1 temporary commit per 100 loc, more info here)
License

Helen is licensed under the GNU Public License v3.

This product includes GeoLite2 data created by MaxMind, available from http://www.maxmind.com"

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
controllerhelpers/hooks
Package hooks contains event hooks, which are called after specific events, like lobby joins and logins.
Package hooks contains event hooks, which are called after specific events, like lobby joins and logins.
socket/sessions
Package sessions provides functions to help maintain consistency across multiple websocket connections from a single player, when the player has multiple tabs/windows open (since each tab opens a new websocket connection)
Package sessions provides functions to help maintain consistency across multiple websocket connections from a single player, when the player has multiple tabs/windows open (since each tab opens a new websocket connection)
internal
rpc

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL