Skip to content

HTL-Steyr/tourney

Repository files navigation

tourney

License: MIT Version Last Commit

Instagram Website

tourney

Mono repository for the tourney project. This project is a web application for managing tournaments.

It includes an admin dashboard for managing tournaments, teams/players, live scores, and a client app for tournament attendees.

⏳ 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

Note

Windows users need WSL installed.

Requirements:

  • Docker
  • Bun

Manual Installation

  1. install packages
bun i

Tip

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

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_SERVICE_KEY Service Role Key
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
  1. run dev server
bun run dev:viewer
  1. Head to http://localhost:3001/

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_KEY Anon 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.

🚀 Deployment

  1. build the app
bun run build

Caution

The following section will be deprecated in the future!

  1. start the app
bun run app:start

Tip

Didn't work? Try installing pm2 globally with npm install pm2 -g. For npm you need to install Node.js.

  1. monitor the app
bun run app:monitor
  1. enjoy the app!

😄 Authors

Creator

Core Maintainer

🛠️ Tech Stack

  • Nuxt 3
  • Supabase
  • Docker
  • pm2

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