This is the repository for the Georgia Tech Esports Tournament Management App (for Game Fest)
This app is developed using React, Tailwind, and Vite.
This project can run as a single Vercel project with:
- Frontend (Vite static build)
- Backend serverless API routes under
/api/*
The backend serverless entrypoints are:
api/index.tsapi/[...path].ts
Both delegate to the Express app in backend/src/app.ts.
Clone the repository and run the following command:
npm i
To run the application, use:
npm run dev
For Supabase-backed auth/data, set these env vars in .env.local:
VITE_SUPABASE_URL=...
VITE_SUPABASE_ANON_KEY=...Then run SQL scripts in numerical order from supabase_scripts/. Existing
deployments should apply each script they have not yet run. In particular,
21_seasons.sql archives existing event records as GameFest 2026 and creates
GameFest 2027 as the active season; review those labels before applying it.
Apply 22_season_admin.sql next. If an earlier draft of script 22 was applied,
rerun the current version to remove its admin season-creation and name-editing
functions. Admin Settings can edit the active season's start.gg tournament
slug. Admins can view past seasons and their
archived totals and top players, with a link to tournament results on start.gg,
but cannot edit archived
data, change a season's name, or create a season. A maintainer must create and
activate future seasons through a reviewed database migration. New seasons
start with empty registrations, players, games, and challenges;
configure those in the admin panel.
The bracket page loads live start.gg data for the active season's tournament
slug. Leave it blank until that tournament exists.
Apply 23_drop_winners.sql after script 22 to remove the redundant match
winners table. Tournament outcomes come from start.gg; raffle results stay
on players.
Apply 24_remove_season_dates.sql after script 23 to remove the unused season
date columns and replace the admin update function. The older scripts retain
their original definitions for deployments that have already run them.
staff / admin access is enforced through public.user_roles and RLS.
Happy coding!
- Import this repo into Vercel as one project.
- Framework preset:
Vite. - Build command:
npm run build. - Output directory:
dist. - Add environment variables in Vercel Project Settings:
STARTGG_API_TOKENSTARTGG_API_ENDPOINT(optional)- any frontend
VITE_*variables you need.
- Deploy.
Notes:
vercel.jsonalready preserves/api/*and rewrites non-API routes toindex.htmlfor SPA routing.- Frontend can call relative API paths (for example,
/api/startgg/...) on the same domain.
Please use the Project Board to see what needs to be done and in general follow the Figma below. Anyone can assign/create any issues just make sure @longxiangchen reviews any pull request before merging.
Figma: https://www.figma.com/design/TtT5bhCALzVQwCiHiJUfLH/Midfi?node-id=0-1&p=f&t=PtHX77VUp1cWRrY3-0
If you have any suggestions for the Figma feel free to discuss them in the GT Esports administration discord under the development department tab.