Skip to content
This repository has been archived by the owner on May 13, 2022. It is now read-only.

A simple library to manage tournament brackets (round-robin, single elimination, double elimination).

License

Notifications You must be signed in to change notification settings

dipnot/brackets-manager.js

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

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.

npm Downloads Package Quality

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:

About

A simple library to manage tournament brackets (round-robin, single elimination, double elimination).

Resources

License

Stars

Watchers

Forks

Packages

No packages published

Languages

  • TypeScript 53.3%
  • JavaScript 46.7%