Drarig29 / brackets-toornament-layer

A layer to convert Toornament data to data following the brackets-model

Home Page:https://replit.com/@Drarig29/Toornament-and-brackets-viewerjs

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

brackets-toornament-layer

A layer to convert Toornament data to brackets-viewer.js data.

You can use this to view Toornament stages with your own personalized viewer without embedding Toornament's viewer.

npm

Input

You need to give data for one tournament at a time.

Toornament API routes needed:

  • /stages to have the list of stages
  • /bracket-nodes to have the source_node_id property (used to have the position property)
  • /matches/{match_id}/games for each match (if you know you have child matches, i.e. Bo3, Bo5, ...)

The input is constructed as this:

{
    "tournament_id": "4468708049713692672", // Input tournament ID
    "stages": [ 
        // Output of `/stages?tournament_ids=4468708049713692672`
    ],
    "matches": [ 
        // Output of `/matches?stage_ids=618965765764577354,618931468547654563` for round-robin stages 
        // and `/bracket-nodes?tournament_ids=4468708049713692672` for single and double elimination brackets
    ],
    "match_games": [ 
        // Flattened list of all `/matches/{match_id}/games` list results
    ]
}

Note: If match_games is omitted, the child_count will be set to 0.

How to test

First, do npm start. This will generate the database file db.json.

To quickly test the results, you can use json-server.

npx json-server ./output/db.json

Then, open the ./demo/index.html file from the brackets-viewer.js project.

And tada! You are viewing Toornament data with your own viewer! 🎉

Credits

This library has been created to be used by the Nantarena.

About

A layer to convert Toornament data to data following the brackets-model

https://replit.com/@Drarig29/Toornament-and-brackets-viewerjs


Languages

Language:TypeScript 74.2%Language:JavaScript 25.8%