Files
bracket/docs/intro/index.html

44 lines
13 KiB
HTML
Raw Blame History

This file contains invisible Unicode characters
This file contains invisible Unicode characters that are indistinguishable to humans but may be processed differently by a computer. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
<!doctype html>
<html lang="en" dir="ltr" class="docs-wrapper plugin-docs plugin-id-default docs-version-current docs-doc-page docs-doc-id-intro" data-has-hydrated="false">
<head>
<meta charset="UTF-8">
<meta name="generator" content="Docusaurus v3.0.1">
<title data-rh="true">Introduction | Bracket</title><meta data-rh="true" name="viewport" content="width=device-width,initial-scale=1"><meta data-rh="true" name="twitter:card" content="summary_large_image"><meta data-rh="true" property="og:image" content="https://your-docusaurus-test-site.com/bracket/img/logo.svg"><meta data-rh="true" name="twitter:image" content="https://your-docusaurus-test-site.com/bracket/img/logo.svg"><meta data-rh="true" property="og:url" content="https://your-docusaurus-test-site.com/bracket/docs/intro"><meta data-rh="true" property="og:locale" content="en"><meta data-rh="true" name="docusaurus_locale" content="en"><meta data-rh="true" name="docsearch:language" content="en"><meta data-rh="true" name="docusaurus_version" content="current"><meta data-rh="true" name="docusaurus_tag" content="docs-default-current"><meta data-rh="true" name="docsearch:version" content="current"><meta data-rh="true" name="docsearch:docusaurus_tag" content="docs-default-current"><meta data-rh="true" property="og:title" content="Introduction | Bracket"><meta data-rh="true" name="description" content="Bracket is a tournament system meant to be easy to use. Bracket"><meta data-rh="true" property="og:description" content="Bracket is a tournament system meant to be easy to use. Bracket"><link data-rh="true" rel="icon" href="/bracket/img/logo.svg"><link data-rh="true" rel="canonical" href="https://your-docusaurus-test-site.com/bracket/docs/intro"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/bracket/docs/intro" hreflang="en"><link data-rh="true" rel="alternate" href="https://your-docusaurus-test-site.com/bracket/docs/intro" hreflang="x-default"><link rel="stylesheet" href="/bracket/assets/css/styles.8446d7d4.css">
<script src="/bracket/assets/js/runtime~main.7d2e3a0c.js" defer="defer"></script>
<script src="/bracket/assets/js/main.3c933846.js" defer="defer"></script>
</head>
<body class="navigation-with-keyboard">
<script>!function(){function t(t){document.documentElement.setAttribute("data-theme",t)}var e=function(){try{return new URLSearchParams(window.location.search).get("docusaurus-theme")}catch(t){}}()||function(){try{return localStorage.getItem("theme")}catch(t){}}();t(null!==e?e:"dark")}(),function(){try{const c=new URLSearchParams(window.location.search).entries();for(var[t,e]of c)if(t.startsWith("docusaurus-data-")){var a=t.replace("docusaurus-data-","data-");document.documentElement.setAttribute(a,e)}}catch(t){}}()</script><div id="__docusaurus"><div role="region" aria-label="Skip to main content"><a class="skipToContent_fXgn" href="#__docusaurus_skipToContent_fallback">Skip to main content</a></div><nav aria-label="Main" class="navbar navbar--fixed-top"><div class="navbar__inner"><div class="navbar__items"><button aria-label="Toggle navigation bar" aria-expanded="false" class="navbar__toggle clean-btn" type="button"><svg width="30" height="30" viewBox="0 0 30 30" aria-hidden="true"><path stroke="currentColor" stroke-linecap="round" stroke-miterlimit="10" stroke-width="2" d="M4 7h22M4 15h22M4 23h22"></path></svg></button><a class="navbar__brand" href="/bracket/"><div class="navbar__logo"><img src="/bracket/img/logo.svg" alt="Bracket Logo" class="themedComponent_mlkZ themedComponent--light_NVdE"><img src="/bracket/img/logo.svg" alt="Bracket Logo" class="themedComponent_mlkZ themedComponent--dark_xIcU"></div><b class="navbar__title text--truncate">Bracket</b></a><a aria-current="page" class="navbar__item navbar__link navbar__link--active" href="/bracket/docs/intro">Docs</a></div><div class="navbar__items navbar__items--right"><a href="https://github.com/evroon/bracket" target="_blank" rel="noopener noreferrer" class="navbar__item navbar__link">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a><div class="navbarSearchContainer_Bca1"><div class="navbar__search"><span aria-label="expand searchbar" role="button" class="search-icon" tabindex="0"></span><input id="search_input_react" type="search" placeholder="Loading..." aria-label="Search" class="navbar__search-input search-bar" disabled=""></div></div></div></div><div role="presentation" class="navbar-sidebar__backdrop"></div></nav><div id="__docusaurus_skipToContent_fallback" class="main-wrapper mainWrapper_z2l0"><div class="docsWrapper_hBAB"><button aria-label="Scroll back to top" class="clean-btn theme-back-to-top-button backToTopButton_sjWU" type="button"></button><div class="docRoot_UBD9"><aside class="theme-doc-sidebar-container docSidebarContainer_YfHR"><div class="sidebarViewport_aRkj"><div class="sidebar_njMd"><nav aria-label="Docs sidebar" class="menu thin-scrollbar menu_SIkG"><ul class="theme-doc-sidebar-menu menu__list"><li class="theme-doc-sidebar-item-link theme-doc-sidebar-item-link-level-1 menu__list-item"><a class="menu__link menu__link--active" aria-current="page" href="/bracket/docs/intro">Introduction</a></li><li class="theme-doc-sidebar-item-category theme-doc-sidebar-item-category-level-1 menu__list-item menu__list-item--collapsed"><div class="menu__list-item-collapsible"><a class="menu__link menu__link--sublist" aria-expanded="false" href="/bracket/docs/category/getting-started">Getting Started</a><button aria-label="Expand sidebar category &#x27;Getting Started&#x27;" type="button" class="clean-btn menu__caret"></button></div></li></ul></nav></div></div></aside><main class="docMainContainer_TBSr"><div class="container padding-top--md padding-bottom--lg"><div class="row"><div class="col docItemCol_VOVn"><div class="docItemContainer_Djhp"><article><nav class="theme-doc-breadcrumbs breadcrumbsContainer_Z_bl" aria-label="Breadcrumbs"><ul class="breadcrumbs" itemscope="" itemtype="https://schema.org/BreadcrumbList"><li class="breadcrumbs__item"><a aria-label="Home page" class="breadcrumbs__link" href="/bracket/"><svg viewBox="0 0 24 24" class="breadcrumbHomeIcon_YNFT"><path d="M10 19v-5h4v5c0 .55.45 1 1 1h3c.55 0 1-.45 1-1v-7h1.7c.46 0 .68-.57.33-.87L12.67 3.6c-.38-.34-.96-.34-1.34 0l-8.36 7.53c-.34.3-.13.87.33.87H5v7c0 .55.45 1 1 1h3c.55 0 1-.45 1-1z" fill="currentColor"></path></svg></a></li><li itemscope="" itemprop="itemListElement" itemtype="https://schema.org/ListItem" class="breadcrumbs__item breadcrumbs__item--active"><span class="breadcrumbs__link" itemprop="name">Introduction</span><meta itemprop="position" content="1"></li></ul></nav><div class="tocCollapsible_ETCw theme-doc-toc-mobile tocMobile_ITEo"><button type="button" class="clean-btn tocCollapsibleButton_TO0P">On this page</button></div><div class="theme-doc-markdown markdown"><h1>Introduction</h1>
<p><a href="https://github.com/evroon/bracket" target="_blank" rel="noopener noreferrer">Bracket</a> is a tournament system meant to be easy to use. Bracket
is written in async Python (with <a href="https://fastapi.tiangolo.com" target="_blank" rel="noopener noreferrer">FastAPI</a>) and
<a href="https://nextjs.org/" target="_blank" rel="noopener noreferrer">Next.js</a> as frontend using the <a href="https://mantine.dev/" target="_blank" rel="noopener noreferrer">Mantine</a> library.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="overview-of-features">Overview of features<a href="#overview-of-features" class="hash-link" aria-label="Direct link to Overview of features" title="Direct link to Overview of features"></a></h2>
<p>It has the following features:</p>
<ul>
<li>Supports <strong>single elimination, round-robin and swiss</strong> formats.</li>
<li><strong>Build your tournament structure</strong> with multiple stages that can have multiple groups/brackets in
them.</li>
<li><strong>Drag-and-drop matches</strong> to different courts or reschedule them to another start time.</li>
<li>Various <strong>dashboard pages</strong> are available that can be presented to the public, customized with a
logo.</li>
<li>Create/update <strong>teams</strong>, and add players to <strong>teams</strong>.</li>
<li>Create <strong>multiple clubs</strong>, with <strong>multiple tournaments</strong> per club.</li>
<li><strong>Swiss tournaments</strong> can be handled dynamically, with automatic scheduling of matches.</li>
</ul>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="why-does-this-exist">Why does this exist?<a href="#why-does-this-exist" class="hash-link" aria-label="Direct link to Why does this exist?" title="Direct link to Why does this exist?"></a></h2>
<p>There are plenty of tournament systems to be found online. So why does Bracket exist?</p>
<p><strong>Firstly</strong>, there are <strong>no complete open-source tournament systems to be found</strong> <a href="https://github.com/search?q=tournament%20system&amp;type=repositories" target="_blank" rel="noopener noreferrer">on
github</a>. Let me know if you find
one, I will list it here as alternative to Bracket. Furthermore, the closed-source tournament
systems that can be found online are typically payware, and <strong>quite expensive</strong>.</p>
<p><strong>Secondly</strong>, there is a <strong>lack of tournament systems that support Swiss tournaments</strong>. There are a
few that exist, but they&#x27;re typically quite ancient projects. Furthermore, AFAIK the Swiss
tournament systems that exist usually only support Swiss, no other types of tournament elements
(round-robin, elimination etc.). That is quite a limitation when you want to host a tournament that
starts with Swiss and determines a winner based on a knockoff (elimination) stage.</p>
<p><strong>Finally</strong>, I developed this project to learn more about Next.js and apply my Python (e.g. FastAPI)
experience to a project with a real purpose.</p>
<h2 class="anchor anchorWithStickyNavbar_LWe7" id="quickstart">Quickstart<a href="#quickstart" class="hash-link" aria-label="Direct link to Quickstart" title="Direct link to Quickstart"></a></h2>
<p>To get started, follow the steps described in <a href="/bracket/docs/getting-started/quickstart">quickstart</a></p></div><footer class="theme-doc-footer docusaurus-mt-lg"><div class="theme-doc-footer-edit-meta-row row"><div class="col"><a href="https://github.com/facebook/docusaurus/tree/main/packages/create-docusaurus/templates/shared/docs/intro.md" target="_blank" rel="noopener noreferrer" class="theme-edit-this-page"><svg fill="currentColor" height="20" width="20" viewBox="0 0 40 40" class="iconEdit_Z9Sw" aria-hidden="true"><g><path d="m34.5 11.7l-3 3.1-6.3-6.3 3.1-3q0.5-0.5 1.2-0.5t1.1 0.5l3.9 3.9q0.5 0.4 0.5 1.1t-0.5 1.2z m-29.5 17.1l18.4-18.5 6.3 6.3-18.4 18.4h-6.3v-6.2z"></path></g></svg>Edit this page</a></div><div class="col lastUpdated_vwxv"></div></div></footer></article><nav class="pagination-nav docusaurus-mt-lg" aria-label="Docs pages"><a class="pagination-nav__link pagination-nav__link--next" href="/bracket/docs/category/getting-started"><div class="pagination-nav__sublabel">Next</div><div class="pagination-nav__label">Getting Started</div></a></nav></div></div><div class="col col--3"><div class="tableOfContents_bqdL thin-scrollbar theme-doc-toc-desktop"><ul class="table-of-contents table-of-contents__left-border"><li><a href="#overview-of-features" class="table-of-contents__link toc-highlight">Overview of features</a></li><li><a href="#why-does-this-exist" class="table-of-contents__link toc-highlight">Why does this exist?</a></li><li><a href="#quickstart" class="table-of-contents__link toc-highlight">Quickstart</a></li></ul></div></div></div></div></main></div></div></div><footer class="footer footer--dark"><div class="container container-fluid"><div class="row footer__links"><div class="col footer__col"><div class="footer__title">Docs</div><ul class="footer__items clean-list"><li class="footer__item"><a class="footer__link-item" href="/bracket/docs/intro">Introduction</a></li><li class="footer__item"><a class="footer__link-item" href="/bracket/docs/getting-started/configuration">Configuration</a></li></ul></div><div class="col footer__col"><div class="footer__title">More</div><ul class="footer__items clean-list"><li class="footer__item"><a href="https://github.com/evroon/bracket" target="_blank" rel="noopener noreferrer" class="footer__link-item">GitHub<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li><li class="footer__item"><a href="https://github.com/evroon/bracket/releases" target="_blank" rel="noopener noreferrer" class="footer__link-item">Changelog<svg width="13.5" height="13.5" aria-hidden="true" viewBox="0 0 24 24" class="iconExternalLink_nPIU"><path fill="currentColor" d="M21 13v10h-21v-19h12v2h-10v15h17v-8h2zm3-12h-10.988l4.035 4-6.977 7.07 2.828 2.828 6.977-7.07 4.125 4.172v-11z"></path></svg></a></li></ul></div></div><div class="footer__bottom text--center"><div class="footer__copyright">Copyright © 2024 Bracket. Built with Docusaurus.</div></div></div></footer></div>
</body>
</html>