Go-foosball is an application to manage your foosball tournaments. It supports multiple tournaments, and you can easily add players and tables. Each players receives a rating based on a chess like rating system (Elo).
The application is using a REST service back-end written in Go and a front-end created using TypeScript and React.
Start the application on MacOS using:
./go-foosball-darwin
or on Linux:
./go-foosball-linux
or on Windows:
go-foosball.exe
The GUI can then be accessed using [http://localhost:8080/]
Use --help
to list command line options - e.g.:
./go-foosball-darwin --help
This will output:
Usage of ./go-foosball-darwin:
-db string
the database file (default "foosball.db")
-debug
enable debug
-port uint
the port number (default 8080)
Build the back-end using:
make build
or
go build -o go-foosball
Go must be installed.
The front-end will be embed in the back-end executable when build using:
make client build
but back-end and front-end can also run separately. To only build the front-end use:
cd client
pnpm build
To only start the front-end use:
cd client
pnpm start
Node.js version 14 or above and Yarn must be installed.
Test the back-end using:
make test
or
go test -cover ./...
Test the front-end using:
cd client
pnpm test
make swagger
or
$(go env GOPATH)/bin/swag init
Swagger can be viewed using [http://localhost:8080/swagger/index.html]