Page:
Clube67 Development
Pages
Arquitetura Geral
Auto Cura Self Healing
Clube67 Baileys Swap
Clube67 Development
Clube67 Plano de Negocio
Comandos Agentes Referencia
Home
Instrucoes Antigravity
Instrucoes Claude
Loop Auto Cura Self Healing
Otimizacao PostgreSQL
Protocolo Agentes Swarm
Protocolo Deploy e Staging
SSH Calendar Monitor
ScoreOdonto Arquitetura
ScoreOdonto Deploy
Seguranca Deploy User
Setup VPS1 Production
Setup VPS3 Brain
Setup VPS4 Lab
Sincronizacao Instrucoes
Tuning Database e DragonflyDB
VPN WireGuard Setup
v1.0.0
v1.0.1
v1.0.2
v1.0.3
v1.0.4
v1.0.5
v1.0.6
v1.0.7
v1.0.8
v1.0.9
v1.1.0
v1.1.1
Clone
1
Clube67 Development
ruicesar edited this page 2026-05-17 08:16:08 +02:00
Table of Contents
- 🚀 Guia de Desenvolvimento - NewWhats
- 📋 Portas
- 🛠️ Setup Inicial
- 🏃 Executar em Desenvolvimento (Hot-Reload)
- 📝 Variáveis de Ambiente
- 🔄 Hot-Reload em Ação
- 🚨 Troubleshooting
- ⚙️ Scripts Disponíveis
- 🔗 URLs de Desenvolvimento
- 📌 Produção vs Desenvolvimento
- 🤝 Boas Práticas
- 📞 Suporte
🚀 Guia de Desenvolvimento - NewWhats
Este documento descreve como configurar e rodar o ambiente de desenvolvimento com hot-reload para desenvolvimento rápido.
📋 Portas
| Serviço | Produção | Desenvolvimento |
|---|---|---|
| Frontend (Next.js) | 3003 | 4004 |
| Backend (Express) | 8008 | 8009 |
🛠️ Setup Inicial
1. Requisitos
- Node.js (verifique com
node -v) - npm (verifique com
npm -v) - PostgreSQL rodando
- DragonflyDB (Redis-compatible) rodando
- NATS JetStream rodando
- Temporal.io rodando
2. Instalar Dependências
# Frontend
cd frontend
npm install
# Backend
cd ../backend
npm install
🏃 Executar em Desenvolvimento (Hot-Reload)
Opção 1: Usar Serviços Systemd (Recomendado)
Iniciar Ambos os Serviços
# Iniciar dev services
sudo systemctl start newwhats-frontend-dev newwhats-backend-dev
# Verificar status
sudo systemctl status newwhats-frontend-dev newwhats-backend-dev
# Ver logs em tempo real
sudo journalctl -u newwhats-frontend-dev -f
sudo journalctl -u newwhats-backend-dev -f
Parar Serviços Dev
sudo systemctl stop newwhats-frontend-dev newwhats-backend-dev
Ativar Auto-start na Boot
sudo systemctl enable newwhats-frontend-dev newwhats-backend-dev
Opção 2: Rodar Manualmente (Terminal)
Terminal 1 - Frontend (Hot-Reload)
cd /home/deploy/projetos/newwhats.local/frontend
npm run dev
# Output esperado:
# ▲ Next.js 14.2.35
# - Local: http://localhost:4004
# ✓ Ready in X.Xs
Terminal 2 - Backend (Hot-Reload)
cd /home/deploy/projetos/newwhats.local/backend
npm run dev
# Output esperado:
# Server running on port 8009
# Watching for file changes...
📝 Variáveis de Ambiente
Frontend
NODE_ENV=development→ Ativa React DevTools e hot-reload- Porta:
4004(configurado empackage.json)
Backend
NODE_ENV=development→ Logs detalhados, sem compressãoPORT=8009→ Porta dev (não conflita com produção 8008).envjá está configurado com valores corretos
🔄 Hot-Reload em Ação
Frontend
- Edite arquivos em
frontend/pages/,frontend/components/, etc. - Next.js recompila automaticamente e atualiza o navegador
- Para mudanças em
next.config.mjs, reinicie o serviço
Backend
- Edite arquivos em
backend/src/ tsx watchreinicia o servidor automaticamente- Mudanças em
.envrequerem restart manual
🚨 Troubleshooting
Porta já em uso
# Verificar qual processo usa a porta
lsof -i :4004 # Frontend
lsof -i :8009 # Backend
# Matar processo (último recurso)
sudo kill -9 <PID>
Serviço não inicia
# Verificar logs detalhados
sudo systemctl status newwhats-frontend-dev
sudo journalctl -u newwhats-frontend-dev -n 50
# Recarregar systemd após editar .service
sudo systemctl daemon-reload
Mudanças não aparecem
- Frontend: Limpar cache do navegador (Ctrl+Shift+Del)
- Backend: Aguarde a mensagem de restart no terminal
⚙️ Scripts Disponíveis
Frontend
npm run dev # Desenvolvimento com hot-reload (porta 4004)
npm run build # Build para produção
npm run start # Rodar build (produção, porta 3003)
npm run lint # Linting
Backend
npm run dev # Desenvolvimento com tsx watch (porta 8009)
npm run build # Compilar TypeScript
npm run start # Rodar compilado (produção, porta 8008)
npm run db:migrate # Migrar database
npm run db:push # Push schema para database
npm run db:studio # Prisma Studio
🔗 URLs de Desenvolvimento
- Frontend: http://localhost:4004
- Backend API: http://localhost:8009
- Prisma Studio:
npm run db:studio(backend)
📌 Produção vs Desenvolvimento
| Aspecto | Produção | Desenvolvimento |
|---|---|---|
| Hot-reload | ❌ | ✅ |
| Compilação | ✅ Build prévio | ❌ On-the-fly |
| Logs | Estruturados (JSON) | Pretty-printed |
| Otimização | ✅ | ❌ |
| Velocidade Dev | Lenta | ⚡ Rápida |
🤝 Boas Práticas
- Sempre use dev em desenvolvimento — hot-reload economiza tempo
- Teste em produção antes de deploy — verifique otimizações
- Mantenha
.envsincronizado — mudanças críticas requerem restart - Limpe logs regularmente —
journalctl --vacuum=time=7d - Verifique portas antes de mudar — evite conflitos
📞 Suporte
Para problemas ou dúvidas, verifique:
- Logs dos serviços:
journalctl -u newwhats-*-dev -f - Status das dependências:
systemctl status postgresql dragonfly nats - Conectividade:
curl http://localhost:8009/health
Última atualização: 2026-04-10 Ambiente: Linux (Debian/Ubuntu)