This project is a Swiss System Tournament application built with React and TypeScript. It allows users to manage players, organize tournaments, and track results.
- Add players with optional ratings.
- Start and manage tournaments using the Swiss system.
- Input match results and automatically calculate standings.
- View final standings with points and Buchholz scores.
-
Clone the repository:
git clone git@github.com:tsepakme/aiusha.git -
Navigate to the project directory:
cd aiusha -
Install dependencies:
npm install
-
Start the development server:
npm run dev -
Open your browser and go to
http://localhost:5173to view the application.
- ThemeProvider: Provides theme context for consistent styling.
- Button: A reusable button component.
- Input: A text input component for user input.
- Select: A dropdown selection component.
- Table: A component for displaying data in a table format.
- ModeToggle: A component for switching between light and dark modes.
The application uses TypeScript for type safety. Key types include:
- Player: Represents a player in the tournament.
- Match: Represents a match between two players.
- Round: Represents a round of matches in the tournament.
- Tournament: Represents the overall tournament structure.
Utility functions are provided for tasks such as initializing players and generating rounds.
This project is licensed under the MIT License.