Skip to content

Latest commit

 

History

History
186 lines (139 loc) · 4.18 KB

File metadata and controls

186 lines (139 loc) · 4.18 KB
title desenvolvimento local
description configure o ambiente de desenvolvimento para trabalhar com nossa API
**pré-requisitos**: - Node.js versão 19 ou superior - Wrangler CLI instalado - Acesso ao Cloudflare Workers - Repository com `wrangler.toml` configurado

este guia te ajuda a configurar o ambiente de desenvolvimento para trabalhar com nossa API do dashboard backend.

# clone o repositório
git clone [REPO_URL]
cd dashboard-backend

# instale dependências
npm install

você precisará configurar as seguintes variáveis no wrangler.toml:

[vars]
JWT_SECRET = "seu_jwt_secret"
BEEHIIV_API_KEY = "sua_api_key"
GEMINI_API_KEY = "sua_gemini_key"
RESEND_API_KEY = "sua_resend_key"
# ... outras variáveis
nunca commite secrets reais no repositório. use `wrangler secret put` para secrets sensíveis.
# inicia o servidor local conectado ao ambiente remoto
npm run dev

sua API estará disponível em http://localhost:8787.

você pode testar os endpoints usando curl ou Postman:

# teste um endpoint público
curl http://localhost:8787/referrals/count

# teste um endpoint autenticado
curl -H "Authorization: Bearer YOUR_JWT_TOKEN" \
     http://localhost:8787/referrals

estrutura do projeto

nossa API é organizada da seguinte forma:

dashboard-backend/
├── src/
│   ├── routes/          # definições de rotas
│   ├── handlers/        # lógica de negócio
│   ├── services/        # integrações externas
│   ├── middleware/      # autenticação e cache
│   ├── schema/          # schemas do banco
│   └── types/           # tipos TypeScript
├── drizzle/             # migrações do banco
└── wrangler.toml        # configuração do Workers

bancos de dados

ossa arquitetura utiliza múltiplos bancos D1 especializados:

dados principais, métricas e newsletters gamificação, leituras e engagement gestão de relacionamento com clientes formulários dinâmicos e submissions

migrações do banco

para aplicar migrações localmente:

# gerar nova migração
npm run generate

# aplicar migrações localmente
npm run migrate

deploy para produção

quando estiver pronto para fazer deploy:

# deploy com minificação e source maps
npm run deploy
o deploy inclui automaticamente integração com Sentry para monitoramento de erros.

ferramentas recomendadas

para melhor experiência de desenvolvimento:

  • VSCode com extensões TypeScript
  • Drizzle Kit para gestão do banco
  • Postman ou Insomnia para teste de APIs
  • Wrangler para gestão do Cloudflare Workers

solução de problemas

instale o wrangler CLI globalmente:
```bash
npm install -g wrangler
```

ou use via npx:
```bash
npx wrangler dev --remote
```
faça login no Cloudflare:
```bash
wrangler login
```

verifique se o `account_id` está correto no `wrangler.toml`.
verifique se os database IDs estão corretos no `wrangler.toml` e se os bancos existem no painel do Cloudflare.
verifique os logs do Sentry ou use `wrangler tail` para debug em tempo real:
```bash
wrangler tail
```
**dica**: use `console.log()` liberalmente durante desenvolvimento - os logs aparecerão no terminal com `npm run dev`.