70 lines
1.7 KiB
Markdown
70 lines
1.7 KiB
Markdown
# 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.
|