Quiz de Verdadeiro ou Falso sobre o Claude Code, com pontuação dinâmica (tempo + streak) e
ranking global anti-cheat via Supabase. Ver prd.md para a especificação completa do produto.
npm install
npm run devAbra http://localhost:3000.
Copie .env.local.example para .env.local e preencha com as credenciais do seu projeto
Supabase (crie o projeto e rode supabase/schema.sql antes):
| Variável | Onde é usada | Observação |
|---|---|---|
NEXT_PUBLIC_SUPABASE_URL |
client (browser) e server | URL do projeto Supabase |
NEXT_PUBLIC_SUPABASE_ANON_KEY |
client (browser) | chave pública, só leitura (SELECT) no ranking |
SUPABASE_SERVICE_ROLE_KEY |
server (app/api/submit-score) |
chave secreta — nunca exposta ao client |
Sem essas variáveis configuradas, o app funciona normalmente: a tela /ranking mostra um estado
"indisponível" e o envio de score na tela de resultado retorna um erro amigável, sem quebrar o
build ou as demais telas.
npm run dev— servidor de desenvolvimentonpm run build— build de produçãonpm run lint— ESLint
Hospedagem alvo: Vercel, com as 3 variáveis acima configuradas no dashboard do projeto
(SUPABASE_SERVICE_ROLE_KEY marcada como secreta).