Files
bracket/docs/content/index.mdx
Erik Vroon 583eb4e963 Migrate Next.js to Vite (#1397)
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
2025-11-12 11:18:06 +01:00

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).