App para gestão de peladas de futebol - criação de grupos, organização de partidas, sorteio de times, estatísticas e rankings.
- Frontend: Next.js 15 (App Router), React 19, TypeScript, Tailwind CSS
- Backend: Next.js API Routes
- Database: Neon (Postgres Serverless) via lib
postgres(raw SQL, sem ORM) - Auth: NextAuth v5 (Auth.js) com credenciais
- Deploy: Vercel
Documentação relacionada:
- Workflow de banco: src/db/README.md e src/db/MIGRATION_WORKFLOW.md
- Convenções para agentes/IDE: CLAUDE.md, .github/copilot-instructions.md, AGENTS.md
npm install- Faça deploy inicial na Vercel
- No dashboard da Vercel, vá em Integrations
- Adicione a integração Neon
- Isso vai criar automaticamente:
- Um database no Neon
- A variável
DATABASE_URLno Vercel - Pull das env vars para desenvolvimento local
npx vercel env pullIsso vai criar um arquivo .env.local com as variáveis do Vercel.
As migrations ficam em src/db/migrations/ e são aplicadas pelo runner do
projeto, que registra o histórico em public.schema_migrations.
pnpm db:status # lista pendentes + aplicadas
pnpm db:migrate -- --only 20260512_add_group_app_mode.sql
pnpm backup # dump local em src/db/backups/Use --only <arquivo>.sql para aplicar uma migration nova específica (preferido
por traceability). O baseline foi feito em 2026-05 — todas as migrations
existentes já estão registradas em schema_migrations.
Detalhes completos em src/db/MIGRATION_WORKFLOW.md.
A autenticação usa NextAuth v5 (Auth.js) com credenciais (email e senha).
Variáveis necessárias (no .env.local):
NEXTAUTH_URL=http://localhost:3000AUTH_SECRET=(gerar comopenssl rand -base64 32)- Ou
NEXTAUTH_SECRET=para compatibilidade
- Ou
Acesse http://localhost:3000/auth/signup para criar a primeira conta.
npm run devsrc/
├── app/ # Next.js App Router
│ ├── api/ # API Routes
│ │ └── auth/ # Auth API (signup, NextAuth handler)
│ ├── auth/ # Auth pages (signin, signup)
│ ├── dashboard/ # Dashboard
│ └── groups/ # Grupos e eventos
├── components/ # React components
│ ├── ui/ # shadcn/ui components
│ ├── layout/ # Layout components (header, etc)
│ └── providers/ # React providers (SessionProvider)
├── db/ # Database
│ ├── schema.sql # SQL schema
│ └── client.ts # Neon client
└── lib/ # Utilities
├── auth.ts # NextAuth configuration
├── auth-helpers.ts # Auth helpers para APIs
├── stores/ # Zustand stores
└── utils.ts # Helpers
- ✅ Setup do projeto
- ✅ CRUD de grupos e eventos
- ✅ Sistema de RSVP
- ✅ Sorteio de times
- ✅ Registro de gols/assistências
- ✅ Rankings básicos
- Placar ao vivo
- Notificações push
- Sorteio inteligente
- Financeiro/carteira
- Assinaturas
- Estatísticas avançadas
- Gamificação
- Social features