Core Docs
Frontend

Configuração e Execução Local

Variáveis de ambiente e como rodar o frontend localmente.

Variáveis de ambiente

VariávelArquivoUso
NEXT_PUBLIC_API_URL.env.development / .env.productionBase URL da API do backend usada pelo axios (shared/lib/api.ts)
RESEND_API_KEY.env.local (não versionado)Usada pela rota /api/send-email; destinatários/remetente vêm de Configurações

.env.local não é versionado (está no .gitignore) — cada dev precisa criar o seu com a própria chave do Resend pra testar os envios localmente. Se a API de configurações globais não responder, /api/send-email usa os destinatários antigos como fallback para não bloquear o envio.

Supabase (DevBlog)

A página Início busca os posts direto do Supabase (features/home/supabase/supabase.ts), sem passar pela API do backend. URL e chave pública (anon/publishable) estão hardcoded nesse arquivo — não é uma variável de ambiente, então não precisa de configuração extra pra rodar localmente. É seguro porque a chave é a pública (só permite o que as Row Level Security policies do Supabase liberarem), mas se algum dia o projeto migrar essa lógica pra dentro do backend, vale revisar esse acoplamento direto.

Rodando localmente

npm install
npm run dev

Abre em http://localhost:3000. Sem NEXT_PUBLIC_API_URL configurado, todas as chamadas à API vão falhar (o axios não tem baseURL) — o app carrega, mas nenhuma tela com dados reais funciona.

Scripts completos

npm run dev             # servidor de desenvolvimento
npm run build             # build de produção
npm run lint               # eslint
npm run lint:fix            # eslint --fix
npm run format                # prettier --write
npm run format:check           # prettier --check
npm run typecheck                # tsc --noEmit
npm run test                       # vitest run
npm run test:watch                  # vitest (watch mode)
npm run test:coverage                # vitest run --coverage
npm run verify:quick                   # lint + typecheck + test
npm run verify                          # lint + typecheck + test + build

Deploy (Azure Pipelines → Vercel)

azure-pipelines.yml dispara só em push na branch main, um único estágio: npm install, instala a Vercel CLI e roda vercel --prod --force --token=$(VERCEL_PAT) (token e IDs de projeto/organização vêm do variable group VERCEL_DEPLOY_GNOQCORE_FRONTEND no Azure DevOps).

Diferente do backend, aqui não tem estágio de dev/homologação nem passo de lint/typecheck/test antes do deploy — o --force do Vercel builda e publica direto. Vale ter isso em mente: um erro de lint/type que passe despercebido só vai aparecer em produção (ou no build da própria Vercel, que falha o deploy se o next build quebrar).

On this page