Skip to content

Latest commit

 

History

History
217 lines (141 loc) · 6.02 KB

File metadata and controls

217 lines (141 loc) · 6.02 KB

tourney

License: MIT Version Last Commit

Instagram Website

Tourney

Tourney is a comprehensive tournament management system designed to streamline the organization and execution of sports tournaments. It provides a user-friendly interface for administrators to set up and manage tournaments, while also offering a live viewer experience for spectators to stay updated on matches, brackets, and standings in real-time.

Features

  • 🏆 Tournament setup for football, volleyball, and basketball with rules, prizes, and automatic group assignment
  • 📡 Live viewer with real-time updates on matches, brackets and standings
  • 🎓 Class and school year management
  • 🎟️ Central registration management with registration links, teams, pdf generation and status handling
  • 📰 News and gallery management directly from the admin dashboard
  • 🌳 Public tournament details, live brackets, standings, and media updates
  • 🤖 AI assistant

Live Deployment

https://tourney.dino-kupinic.dev

⏳ Activity

Alt

♻️ Release Cycle

tourney follows the Semantic Versioning guidelines.

✨ Installation and Configuration

Installation for Development

  1. clone the repository:
git clone https://github.com/Dino-Kupinic/tourney.git

Quick Installation Script

  1. Run the installation script and follow the instructions
./scripts/setup.sh

Warning

The setup script is due to be changed.

Note

Windows users need WSL installed.

Requirements:

  • Docker
  • Bun
  • Node.js 22

Manual Installation

  1. install packages
bun install

Tip

If you don't have bun installed, checkout https://bun.sh to install for your operating system.

  1. optionally run all development servers
bun run dev

Backend

  1. run supabase
bun run start:supabase

Tip

If you don't have docker installed, checkout https://www.docker.com/.

  1. head to http://127.0.0.1:54323

If it works, great!

Frontends

Admin

  1. define environment variables

Create a .env file and checkout the .env.example. Copy the content into your .env and replace the following fields with your own.

Field Description
SUPABASE_URL URL to Supabase API
SUPABASE_KEY Anon key
SUPABASE_SECRET_KEY Secret key (service-level key)
OPENAI_API_KEY OpenAI API key for the admin AI assistant
NUXT_PUBLIC_CLIENT_URL URL of the viewer app, default http://localhost:3001
  1. run dev server
bun run dev:admin
  1. Head to http://localhost:3000/

If it works, great!

Viewer

  1. define environment variables

Create a .env file and checkout the .env.example. Copy the content into your .env and replace the following fields

Field Description
SUPABASE_URL URL to Supabase API
SUPABASE_KEY Anon key
NUXT_GOTENBERG_URL URL to the Gotenberg service
NUXT_GOTENBERG_USERNAME Gotenberg username
NUXT_GOTENBERG_PASSWORD Gotenberg password
  1. run dev server
bun run dev:viewer
  1. Head to http://localhost:3001/

If it works, great!

Landing page (www)

  1. define environment variables

Create a .env file and checkout the .env.example. Copy the content into your .env and replace the following fields

| Field | Description | | ---------------------------------- | --------------------- | --- | | SUPABASE_URL | URL to Supabase API | | SUPABASE_KEY | Anon key | | NUXT_PUBLIC_ADMIN_APP_URL | URL of the admin app | | NUXT_PUBLIC_VIEWER_APP_URL | URL of the viewer app | | NUXT_PUBLIC_MUX_DEMO_PLAYBACK_ID | URL of mux asset id | |

  1. run dev server
bun run dev:www
  1. Head to http://localhost:3002/

If it works, great!

User creator script

  1. define environment variables

Create a .env file and checkout the .env.example. Copy the content into your .env and replace the following fields

Field Description
SUPABASE_URL URL to Supabase API
SUPABASE_SECRET_KEY Secret key (service-level key)
USERS_TO_CREATE See comment in .env.example
  1. run the script
bun run create:users

If it works, great! You can now log in in the admin dashboard with the created users.

😄 Authors

Creator

🛠️ Tech Stack

  • Bun
  • Turbo
  • Nuxt 4
  • Supabase
  • Docker
  • OpenAI API
  • Gotenberg

Contributing

Contributions are always welcome! Feel free to create an issue or submit a pull request. Please follow coding standards and commit message conventions.

😊 License

MIT