Signal Cartel's Little Helper
Purpose
This is a utility for Eve Online, it looks up a list of characters and presents threat data.
I have been a user of Pirate's Little Helper for awhile and this is
intended to replace that service for the Eve corporation, Signal Cartel.
Requirements
The server code is written in Go. The client side
code is Javascript with DataTables. The information is pulled from
CCP using the ESI interface and zkillboard using their API.
Imports
- go-cache
$ go get github.com/patrickmn/go-cache
- mergo
$ go get -u github.com/imdario/mergo
- logrus
$ go get -u github.com/sirupsen/logrus
Running locally
Quick steps to build and run the server locally:
- Run directly (recommended for development):
# run with local mode (no TLS) and specify port
go run . -local -port 8443 -debug
- Build a binary and run it:
go build -o go-plh .
./go-plh -local -port 8080
- Useful flags:
-local : run without TLS (binds to :8443 by default when set)
-port : port to listen on (default 80)
-debug : enable debug logging to stdout
-kills : enable extra kill analysis (slower)
Testing
go test ./... -v
# include the race detector when appropriate
go test -race ./... -v
go test ./... -run TestFetchKillHistory -v
This repository includes ESLint and Prettier configs for the client-side code under static/.
- Install Node dev dependencies:
npm ci
- Format JavaScript files with Prettier:
npm run format
- Lint and auto-fix (if possible):
npm run lint
- CI check (what the GitHub Actions workflow runs):
npm run check
The CI workflow will run ESLint (strict, no auto-fix) and Prettier checks on push and pull requests for files under static/.
Installing on a Linux Host
Use the startup.sh script then restart.sh
References
- ZKillboard API
- CCP ESI API
- Pirate's Little Helper
- Javascript DataTables