1- ![ tourney] ( ./.github/assets/banner.png )
1+ ![ tourney] ( ./.github/assets/preview- banner.jpg )
22
33[ ![ License: MIT] ( https://img.shields.io/badge/License-MIT-blue.svg )] ( https://opensource.org/licenses/MIT )
44[ ![ Version] ( https://img.shields.io/github/v/release/HTL-Steyr/tourney?color=blue )] ( https://github.com/HTL-Steyr/tourney/releases )
1111
1212Mono repository for the tourney project. This project is a web application for managing tournaments.
1313
14- It includes an admin dashboard for managing tournaments, teams/players, live scores, and a client app for tournament
15- attendees.
14+ ### ⚽️ Features
15+
16+ - 🏆 tournament setup for football, volleyball, and basketball with rules, time windows, prizes, and automatic group assignment
17+ - 📡 live control for group stages, active matches, and score updates during the event
18+ - 🎓 class and school year management as the base for team and registration logic
19+ - 🎟️ central registration management with registration links, teams, and status handling
20+ - 📰 news and gallery management directly from the admin dashboard
21+ - 🌳 public tournament details, live brackets, standings, and media updates in the viewer
22+ - 🤖 AI assistant for tournament setup and management suggestions in the admin dashboard
23+
24+ ### Live Deployment
25+
26+ > https://tourney.dino-kupinic.dev
1627
1728## ⏳ Activity
1829
@@ -40,25 +51,35 @@ git clone https://github.com/Dino-Kupinic/tourney.git
4051./scripts/setup.sh
4152```
4253
54+ > [ !WARNING]
55+ > The setup script is due to be changed.
56+
4357> [ !NOTE]
4458> Windows users need WSL installed.
4559
4660Requirements:
4761
4862- Docker
4963- Bun
64+ - Node.js 22
5065
5166#### Manual Installation
5267
53682 . install packages
5469
5570``` bash
56- bun i
71+ bun install
5772```
5873
5974> [ !TIP]
6075> If you don't have bun installed, checkout https://bun.sh to install for your operating system.
6176
77+ 3 . optionally run all development servers
78+
79+ ``` bash
80+ bun run dev
81+ ```
82+
6283### Backend
6384
64851 . run supabase
@@ -84,10 +105,11 @@ Create a `.env` file and checkout the `.env.example`.
84105Copy the content into your ` .env ` and replace the following fields with your own.
85106
86107| Field | Description |
87- | ------------------------ | ------------------------------------------------------ |
108+ | -------------------------- | -------------------------------------------------------- |
88109| ` SUPABASE_URL ` | URL to Supabase API |
89110| ` SUPABASE_KEY ` | Anon key |
90111| ` SUPABASE_SECRET_KEY ` | Secret key (service-level key) |
112+ | ` OPENAI_API_KEY ` | OpenAI API key for the admin AI assistant |
91113| ` NUXT_PUBLIC_CLIENT_URL ` | URL of the viewer app, default ` http://localhost:3001 ` |
92114
931152 . run dev server
@@ -106,10 +128,13 @@ If it works, great!
106128
107129Create a ` .env ` file and checkout the ` .env.example ` . Copy the content into your ` .env ` and replace the following fields
108130
109- | Field | Description |
110- | -------------- | ------------------- |
111- | ` SUPABASE_URL ` | URL to Supabase API |
112- | ` SUPABASE_KEY ` | Anon key |
131+ | Field | Description |
132+ | ---------------------------| ------------------------------|
133+ | ` SUPABASE_URL ` | URL to Supabase API |
134+ | ` SUPABASE_KEY ` | Anon key |
135+ | ` NUXT_GOTENBERG_URL ` | URL to the Gotenberg service |
136+ | ` NUXT_GOTENBERG_USERNAME ` | Gotenberg username |
137+ | ` NUXT_GOTENBERG_PASSWORD ` | Gotenberg password |
113138
1141392 . run dev server
115140
@@ -121,14 +146,38 @@ bun run dev:viewer
121146
122147If it works, great!
123148
149+ #### Landing page (www)
150+
151+ 1 . define environment variables
152+
153+ Create a ` .env ` file and checkout the ` .env.example ` . Copy the content into your ` .env ` and replace the following fields
154+
155+ | Field | Description |
156+ | ------------------------------------| -----------------------|
157+ | ` SUPABASE_URL ` | URL to Supabase API |
158+ | ` SUPABASE_KEY ` | Anon key |
159+ | ` NUXT_PUBLIC_ADMIN_APP_URL ` | URL of the admin app |
160+ | ` NUXT_PUBLIC_VIEWER_APP_URL ` | URL of the viewer app |
161+ | ` NUXT_PUBLIC_MUX_DEMO_PLAYBACK_ID ` | URL of mux asset id | |
162+
163+ 2 . run dev server
164+
165+ ``` bash
166+ bun run dev:www
167+ ```
168+
169+ 3 . Head to http://localhost:3002/
170+
171+ If it works, great!
172+
124173#### User creator script
125174
1261751 . define environment variables
127176
128177Create a ` .env ` file and checkout the ` .env.example ` . Copy the content into your ` .env ` and replace the following fields
129178
130179| Field | Description |
131- | --------------------- | ------------------------------ |
180+ | ----------------------- | -------------------------------- |
132181| ` SUPABASE_URL ` | URL to Supabase API |
133182| ` SUPABASE_SECRET_KEY ` | Secret key (service-level key) |
134183| ` USERS_TO_CREATE ` | See comment in ` .env.example ` |
@@ -147,15 +196,15 @@ If it works, great! You can now log in in the admin dashboard with the created u
147196
148197- [ @Dino Kupinic] ( https://www.github.com/Dino-Kupinic )
149198
150- ### Core Maintainer
151-
152- - [ @Leon Arbeithuber] ( https://github.com/larbeith )
153-
154199## 🛠️ Tech Stack
155200
201+ - Bun
202+ - Turbo
156203- Nuxt 4
157204- Supabase
158205- Docker
206+ - OpenAI API
207+ - Gotenberg
159208
160209## Contributing
161210
0 commit comments