Repository navigation
Setup local
O passo a passo para rodar o projeto fica no README: pré-requisitos, variáveis de ambiente, npm e Docker Compose. Esta página não repete esse conteúdo e cobre só as decisões e os problemas comuns.
NEXT_PUBLIC_API_URL define qual backend o site local usa (sem o sufixo /api/v1/graphql).
| Opção | Valor | Quando usar |
|---|---|---|
| Backend local | http://localhost:8080 |
Quando você também está mexendo no backend. Suba o backend antes |
| Staging | https://staging.backend.basedosdados.org |
Para trabalhar só no front-end com dados reais de teste. Opção recomendada para a maioria das tarefas |
| Produção | https://backend.basedosdados.org |
Evite. Logins, assinaturas e edições afetam dados reais |
Depois de trocar o valor, recarregue o .env (source .env) e reinicie o npm run dev. Variáveis NEXT_PUBLIC_* são lidas na inicialização.
Sem NEXT_PUBLIC_DOMAIN, o site usa o hostname do navegador (localhost). Defina no .env:
export NEXT_PUBLIC_DOMAIN="basedosdados.org"Para testar outro domínio, use data-basis.org ou basedelosdatos.org, ou suba o serviço correspondente do Docker Compose.
Localmente, o idioma padrão é pt. Use os prefixos http://localhost:3000/en/... e http://localhost:3000/es/....
O cookie token é httpOnly e só recebe a flag secure quando NODE_ENV=production. Em http://localhost, garanta que NODE_ENV="development".
Confira a versão do Node: o projeto usa 20.18.1 (next/.nvmrc). Com nvm:
cd next && nvm useFalta NEXT_PUBLIC_KEY_STRIPE no .env. Use a chave publicável de teste (pk_test_...) e aponte para um backend em modo de teste (local ou staging). Veja Stripe.
CHATBOT_URL não está definida. Sem ela, as rotas pages/api/chatbot/* falham (exports e feedback retornam 503 Chatbot API URL is not configured).
URL_DOWNLOAD_OPEN e URL_DOWNLOAD_CLOSED não estão definidas. Peça os valores para a equipe.
Em desenvolvimento, reloadOnPrerender recarrega os JSONs de public/locales/ a cada request. Se não recarregar, reinicie o npm run dev.
Veja Testes com o Cypress.