mirror of
https://github.com/evroon/bracket.git
synced 2026-01-28 16:11:23 -05:00
Vite is much simpler to use than Next.js and we don't need any of the features Next has that Vite doesn't have. Benefits of moving to Vite are: - Much better performance in dev and prod environments - Much better build times - Actual support for static exports, no vendor lock-in of having to use Vercel - Support for runtime environment variables/loading config from `.env` files - No annoying backwards-incompatible changes on major releases of Next - Better i18n support without having to define getServerSideProps on every page - Better bundle optimization - No opt-out Vercel telemetry Also replaces yarn by pnpm and upgrades mantine to 8.3
48 lines
2.2 KiB
Plaintext
48 lines
2.2 KiB
Plaintext
---
|
|
title: Introduction
|
|
---
|
|
# Introduction
|
|
|
|
[Bracket](https://github.com/evroon/bracket) is a tournament system meant to be easy to use. Bracket
|
|
is written in async Python (with [FastAPI](https://fastapi.tiangolo.com)) and
|
|
[Vite](https://vite.dev/) as frontend using the [Mantine](https://mantine.dev/) library.
|
|
|
|
## Overview of features
|
|
|
|
It has the following features:
|
|
|
|
- Supports **single elimination, round-robin and swiss** formats.
|
|
- **Build your tournament structure** with multiple stages that can have multiple groups/brackets in
|
|
them.
|
|
- **Drag-and-drop matches** to different courts or reschedule them to another start time.
|
|
- Various **dashboard pages** are available that can be presented to the public, customized with a
|
|
logo.
|
|
- Create/update **teams**, and add players to **teams**.
|
|
- Create **multiple clubs**, with **multiple tournaments** per club.
|
|
- **Swiss tournaments** can be handled dynamically, with automatic scheduling of matches.
|
|
|
|
## Why does this exist?
|
|
|
|
There are plenty of tournament systems to be found online. So why does Bracket exist?
|
|
|
|
**Firstly**, there are **no complete open-source tournament systems to be found** [on
|
|
github](https://github.com/search?q=tournament%20system&type=repositories). 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 **quite expensive**.
|
|
|
|
**Secondly**, there is a **lack of tournament systems that support Swiss tournaments**. There are a
|
|
few that exist, but they'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.
|
|
|
|
**Finally**, I developed this project to learn more about Vite and apply my Python (e.g. FastAPI)
|
|
experience to a project with a real purpose.
|
|
|
|
## Quickstart
|
|
|
|
To get started in selfhosting Bracket, follow the steps described
|
|
in [quickstart](/docs/running-bracket/quickstart.mdx).
|
|
|
|
To learn how to organize a tournament in Bracket, read the [usage guide](/docs/usage/guide.mdx).
|