# Yaltopia FIFA FIFA tournament platform by [Yaltopia Tech](https://yaltopia.com) — leagues, cups, fixtures, standings, and team management. ## Stack - **Next.js 15** (App Router) + **TypeScript** - **Supabase** (Auth, Postgres, RLS) - **Tailwind CSS 4** + **shadcn/ui** - **Cloudflare** deploy via OpenNext (`@opennextjs/cloudflare`) ## Portals | Portal | Login | Home | |--------|-------|------| | Team Manager (public) | `/login/manager` | `/manager` | | League Master (hidden) | `/login/master` | `/master` | See [docs/LEAGUE_MASTER_ACCESS.md](docs/LEAGUE_MASTER_ACCESS.md) for master URLs and signup notes. ## Quick start ```bash npm install cp .env.example .env.local # if present; otherwise create .env.local npm run dev ``` `.env.local` (minimum): ```env NEXT_PUBLIC_SUPABASE_URL=https://YOUR_REF.supabase.co NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ... ``` Optional (dev signup / admin tools): ```env SUPABASE_SERVICE_ROLE_KEY=eyJ... SUPABASE_AUTO_CONFIRM_EMAIL=true ``` Apply database migrations: ```bash npm run db:push ``` Open [http://localhost:3000](http://localhost:3000). ## Scripts | Command | Description | |---------|-------------| | `npm run dev` | Local dev server | | `npm run build` | Production build | | `npm run db:push` | Push Supabase migrations | | `npm run deploy` | Build + deploy to Cloudflare | | `npm run auth:reset-password -- email pass` | Dev password reset (service role) | ## Docs - [Cloudflare deploy](docs/CLOUDFLARE_DEPLOY.md) - [League Master access](docs/LEAGUE_MASTER_ACCESS.md) - [Password reset & rate limits](docs/PASSWORD_RESET.md) ## License Private — Yaltopia Tech.