@unitetheculture/brackets-manager
v1.4.6
Published
A simple library to manage tournament brackets (round-robin, single elimination, double elimination)
Downloads
17
Maintainers
Readme
brackets-manager.js
A simple library to manage tournament brackets (round-robin, single elimination, double elimination).
It contains all the logic needed to manage tournaments.
Features
- BYE supported: only during creation (for seeding and balancing).
- Forfeit supported: only during updates.
- Match supported (locked, waiting, ready, running, completed, archived).
Round-robin
- Each participant plays each opponent once.
- No limitation nor restriction in numbers.
Single elimination
- Number of participants : 8, 16, 32, etc. (powers of two)
- Optional Consolation Final : matches semi-final losers.
- Handles up to 4 first places.
Double elimination
- Twice the number of matches.
- Contains a Winner Bracket (WB), and a Loser Bracket (LB).
- Number of participants : 8, 16, 32, etc. (powers of two)
- Optional Grand Final : matches the WB winner against the LB winner.
- Can be simple or double.
- Handles up to 3 first places.
Interface
- This library doesn't come with a GUI to create and update tournaments.
- You can use brackets-viewer.js to display the current state of a stage.
- It is designed to be used with any storage.
- An example of JSON storage is given to run tests. You can use it out of the box.
- It uses asynchronous calls to a storage interface to be able to handle asynchronous SQL requests (for example).
Credits
This library has been created to be used by the Nantarena.
It has been inspired by:
- Toornament (configuration, API and data format)
- Challonge's bracket generator
- jQuery Bracket (feature examples)