Deploy e produção
O projeto roda na Vercel (deploy automático a cada push na branch de produção). O banco e o storage são o projeto Supabase de produção.
1. Vercel
- Importe o repositório na Vercel (framework detectado: Next.js).
- Configure as variáveis de ambiente (seção 3) em Production (e Preview, se quiser previews funcionais).
- Domínio próprio: aponte
atleticacovildomineiro.com.brpara a Vercel e definaNEXT_PUBLIC_SITE_URL=https://atleticacovildomineiro.com.br.
2. Migrations em produção
Aplique no SQL Editor do Supabase de produção as migrations de
supabase/migrations/ que ainda não foram aplicadas, em ordem cronológica
(lista em banco-de-dados.md).
⚠️ Verifique especialmente se estas já estão aplicadas (são recentes e/ou críticas):
20260807120000_security_hardening.sql— segurança (crítica).20260803120000_loyalty_pepitas.sql— programa de pepitas.20260804120000_membership_card.sql,20260805120000_member_photo.sql,20260805130000_member_photo_storage.sql— carteirinha e foto.20260810120000_page_banners.sql— banners por página.Como conferir rápido: procure a tabela/coluna/função da migration no schema (ex.: existe
loyalty_transactions? existecan_admin_section?). Se não existir, aplique.
Ao aplicar uma migration que muda o schema, garanta que src/types/supabase.ts
reflete o estado novo.
3. Segredos e variáveis (produção)
Todas as variáveis de setup.md, com os valores de produção.
Pontos de atenção:
SICOOB_ENV— definaproduction(o padrão ésandbox).SICOOB_CLIENT_ID— client_id da aplicação no portal developers.sicoob.com.br.SICOOB_PIX_KEY— chave PIX da conta recebedora (é nela que as cobranças caem).SICOOB_CERT_PFX_BASE64— certificado ICP-Brasil A1 (.pfxem base64) para o mTLS. Obrigatório em produção (o sandbox não usa certificado).SICOOB_CERT_PASSWORD— senha do.pfx. Só produção.SUPABASE_SERVICE_ROLE_KEY— a chave de produção.CARD_SIGNING_SECRET— defina um segredo forte e estável (mudá-lo invalida os códigos de autenticidade das carteirinhas já emitidas).GMAIL_USER/GMAIL_APP_PASSWORD— conta e senha de app para os e-mails.
4. Sicoob (PIX + webhook)
- Em produção, gere o certificado ICP-Brasil A1 (
.pfx), converta para base64 e configureSICOOB_CERT_PFX_BASE64+SICOOB_CERT_PASSWORD(sem eles o mTLS não sobe). Defina tambémSICOOB_ENV=production,SICOOB_CLIENT_IDeSICOOB_PIX_KEY. - Cadastre o webhook via API do Sicoob (
PUT /webhook/{chave}) apontando parahttps://atleticacovildomineiro.com.br/api/sicoob/webhook(o Sicoob concatena/pixao notificar). Não há "webhook secret": a confirmação é garantida pela reconsulta da cobrança portxidna API. - Faça uma cobrança PIX de teste e confirme no
/admin/financeiroque o pedido mudou de status.
5. Supabase Auth
- Configure Site URL e Redirect URLs com o domínio de produção (para o
callback OAuth
/auth/callbacke o fluxo de recuperação de senha funcionarem). - Se usar Google OAuth, configure o provedor e as credenciais.
- Decida a política de confirmação de e-mail conforme o fluxo desejado.
6. SEO
- Com
NEXT_PUBLIC_SITE_URLcorreto,sitemap.ts/robots.tse as metatags saem com o domínio certo. Cadastre o site no Google Search Console. - Ative o Analytics definindo
NEXT_PUBLIC_GA_ID.
Checklist de go-live
- Domínio apontado e
NEXT_PUBLIC_SITE_URL= domínio de produção. - Migrations pendentes aplicadas (em especial a de segurança).
- Todos os segredos configurados na Vercel (produção).
- Sicoob configurado (
SICOOB_ENV=production, certificado A1,SICOOB_*) e webhook cadastrado via API + testado. - Auth (Site URL, redirects, provedores) configurada.
-
npm run buildpassa;typechecketestverdes. - Pelo menos um
super_adminpromovido no banco de produção.