Skip to content

kkuba91/turnament_organizer

Repository files navigation

Version: 0.2.0 Platform: win / linux GitHub License

Turnament Organizer

Lightweight tool for smart player pairing in swiss system.

Generals

  • in two words weekend project
  • layer structured application with builder pattern :rage3:
  • free and simple

Actual Status

  • it is on stage PROOF OF CONCEPT 👷
  • simple pairing order: 1) points 2) bucholz 3) progress
  • command line API DEPRICATED
  • REST API Fast API
  • platforms Linux Windows
  • logging DEBUG (forced) console
  • bugs 🐛 aggregation high 😔

Targets

  • [must have] support swiss system matching for all rounds of defined with all rules - ✔
  • [need have] swiss system should match players with similar opponent ranks/points - ✔
  • [need to have] single elimination (round Robin) and circular systems - x
  • [must have] results sort with dynamic defined preferences - x
  • [optional] gui layer with some third party module used or REST API - ✔
  • [optional] save data to db/text files (save data) - ✔
  • [optional] load data from saved files - ✔
  • [optional] save data to excel with all rounds dump - x

Launch

Update pip packages:

$ pip install -r ./requirements.txt

Main launcher is runner.py.

On Linux:

$ python3 runner.py

On Windows:

$ py -3 runner.py

Quick Manual

After the Launch run in cmd/bash console, open web browser on location: http://127.0.0.1:8000/.

In the window suppose to load a welcomepage:

alt text

To begin click OPEN. Select existing file (just point and click right one on the list) or type new one name. Than click Set Tournament File. As on presented below screenshot.

alt text

  • Tournament files are stored as sqlite3 db data files.
  • Storing directory on linux: ~/.turnament_organizer/.
  • Storing directory on windows: C:/Users/<user>/.turnament_organizer/

Now it is a moment to add players who are going to play in the tournament. Note, that tournament indicator in the top-left cornr changed. Add players one-by-one by [+] and than apply to start clicking START TOURNAMENT.

alt text

In showed popup set quantity of rounds to play and pairing system.

Warning

Actual version supports only swiss system!

alt text

When tournament is started, simply fill up results of right tables. To approve round result, click Next Round.

alt text

When the last round is about to end and the last result is filled, also approve round by Next Round. Than final results table will show.

alt text

Rest API

If interested only in rest api visit: http://127.0.0.1:8000/docs - openapi endpoint webpage (SmartBear© free swagger page).

Third Party packages

  • Fast API for rest api - Fast API GitHub License
  • Bulma for frontend CSS style standard - Bulma GitHub License

About

Chess turnament organizer (short construct concept)

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published