bracket-creator

command module
v0.8.0 Latest Latest
Warning

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

Go to latest
Published: Dec 8, 2023 License: Apache-2.0 Imports: 1 Imported by: 0

README

Logo

bracket-creator

GitHub release (latest SemVer including pre-releases) goreleaser Go reference License Apache 2.0
codeql Go report card


A CLI to create kendo tournament brackets

Usage

You will need to compile the binary from source or download a release from github, if one is available.

To learn how to use the CLI run:

bracket-creator --help
bracket-creator create-pools --help
bracket-creator create-playoffs --help

Example to build the tool from source:

make go/build

CSV format for individual matches should be (see mock_data.csv for an example):

First_Name Last_Name, Dojo

For teams, it shoud be one team per line.

Parameters to create Pools

Example command line to create pools with 5 players and 3 winners per pool:

bracket-creator create-pools -s -p 5 -w 3 -f ./mock_data_medium.csv -o ./pools-example.xlsx
  • -d / -determined - Do not shuffle the names read from the input file
  • -f / -file - Path to the CSV file containing the players/teams in Name, Dojo format. Dojo is a field to ensure players/teams don't endup fighting someone of the same dojo
  • -h / -help - Show help
  • -o / -output - Path to write the output excel file
  • -p / -players - Minimum number of players/teams per pool. Extra players are added to the end of the pool if there are more than expected. The default is 3
  • -w / -pool-winners - Number of players/teams that can qualify from each pool. The default is 2
  • -r / -round-robin - Round robin, to ensure that in a pool of 4 or more, everyone would fight everyone. Otherwise, everyone fights only twice in their pool. The default is False
  • -s / -sanatize - Sanatize print names into first name initial and capitalize the last name. This is useful for individual player tournaments.
  • -t / -team-matches - Create team matches with x players per team. Default is 0, which means these are not team matches

Parameters to create Playoffs

Example command line to create team playoffs with 5 players per team:

bracket-creator create-playoffs -t 5 -f ./mock_data_small.csv -o ./playoffs-example.xlsx
  • -d / -determined - Do not shuffle the names read from the input file
  • -f / -file - Path to the CSV file containing the players/teams in Name, Dojo format. Dojo is a field to ensure players/teams don't endup fighting someone of the same dojo
  • -h / -help - Show help
  • -o / -output - Path to write the output excel file
  • -s / -sanatize - Sanatize print names into first name initial and capitalize the last name. This is useful for individual player tournaments.
  • -t / -team-matches - Create team matches with x players per team. Default is 0, which means these are not team matches

Examples

See also the example files created by the Makefile:

Individual pool player tournament

With 4 players and 2 winners per pool with sanatized names:

./bin/bracket-creator create-pools -s -p 4 -f mock_data.csv -o output.xlsx

Team pool tournament

With 5 players per team:

./bin/bracket-creator create-pools -t 5 -f mock_data.csv -o output.xlsx 

Individual playoffs player tournament

Straight knockout with sanatized names:

./bin/bracket-creator create-playoffs -s -f mock_data.csv -o output.xlsx

Team pool tournament

Straight knockout team competition with teams of 3:

./bin/bracket-creator create-playoffs -t 3 -f mock_data.csv -o output.xlsx

How to Use the output files

All generated output files are based on the template.xlsx file. However, I recommend you edit the final file, because there are some assumptions about the structure and contents of the template file.

To be able to print the tree, you will need to reset the width and height in the Page Layout tab.

On the day of the tournament

These files are generated to be uploaded to Google Drive (or similar), so all shiai-jo tables are in sync during the tournament, working from the same file.

Install - WIP

Please use the pre-compiled binaries from the release page or build from sratch with make go/build The instructions below do not work yet.

You can install the pre-compiled binary (in several ways), use Docker or compile from source (when on OSS).

Below you can find the steps for each of them.

homebrew tap

brew install gitrgoliveira/tap/bracket-creator

apt

echo 'deb [trusted=yes] https://apt.fury.io/gitrgoliveira/ /' | sudo tee /etc/apt/sources.list.d/gitrgoliveira.list
sudo apt update
sudo apt install bracket-creator

yum

echo '[gitrgoliveira]
name=Gemfury gitrgoliveira repository
baseurl=https://yum.fury.io/gitrgoliveira/
enabled=1
gpgcheck=0' | sudo tee /etc/yum.repos.d/gitrgoliveira.repo
sudo yum install goreleaser

deb, rpm and apk packages

Download the .deb, .rpm or .apk packages from the [release page](https://github.com/gitrgoliveira/bracket-creator/releases) and install them with the appropriate tools.

go install

go install github.com/gitrgoliveira/bracket-creator@latest

from the GitHub releases

Download the pre-compiled binaries from the release page page and copy them to the desired location.

$ VERSION=v1.0.0
$ OS=Linux
$ ARCH=x86_64
$ TAR_FILE=bracket-creator_${OS}_${ARCH}.tar.gz
$ wget https://github.com/gitrgoliveira/bracket-creator/releases/download/${VERSION}/${TAR_FILE}
$ sudo tar xvf ${TAR_FILE} bracket-creator -C /usr/local/bin
$ rm -f ${TAR_FILE}

manually

$ git clone github.com/gitrgoliveira/bracket-creator
$ cd bracket-creator
$ go generate ./...
$ go install

Contribute to this repository

This project adheres to the Contributor Covenant code of conduct. By participating, you are expected to uphold this code. We appreciate your contribution. Please refer to our contributing guidelines for further information.

Documentation

The Go Gopher

There is no documentation for this package.

Directories

Path Synopsis
Package cmd handle the cli commands
Package cmd handle the cli commands
internal

Jump to

Keyboard shortcuts

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