|
Some checks failed
Deploy to Cloudflare Workers / deploy (push) Has been cancelled
|
||
|---|---|---|
| .cursor | ||
| .github/workflows | ||
| actions | ||
| app | ||
| components | ||
| docs | ||
| lib | ||
| public | ||
| scripts | ||
| supabase | ||
| .dev.vars.example | ||
| .env.local.example | ||
| .gitattributes | ||
| .gitignore | ||
| components.json | ||
| eslint.config.mjs | ||
| middleware.ts | ||
| next.config.ts | ||
| open-next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| README.md | ||
| tsconfig.json | ||
| wrangler.jsonc | ||
Yaltopia FIFA
FIFA tournament platform by Yaltopia Tech — 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 for master URLs and signup notes.
Quick start
npm install
cp .env.example .env.local # if present; otherwise create .env.local
npm run dev
.env.local (minimum):
NEXT_PUBLIC_SUPABASE_URL=https://YOUR_REF.supabase.co
NEXT_PUBLIC_SUPABASE_ANON_KEY=eyJ...
Optional (dev signup / admin tools):
SUPABASE_SERVICE_ROLE_KEY=eyJ...
SUPABASE_AUTO_CONFIRM_EMAIL=true
Apply database migrations:
npm run db:push
Open 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
License
Private — Yaltopia Tech.