Skip to content

Stack Tecnológico

Backend

TecnologiaVersãoPor quê
Node.js20+Runtime padrão do ecossistema
NestJS10+Framework opinativo com DI, módulos, decorators — estrutura previsível para time
TypeScript5+Type safety em todo o código
Prisma5+ORM com migrations, type-safe queries, suporte a pgvector
PostgreSQL13+ (pgvector)Banco relacional com suporte a vetores para futuras features de AI
RedisLatestFilas (BullMQ), cache, deduplicação, flags de business hours
BullMQLatestProcessamento assíncrono de jobs com retry, backoff, dead-letter
NodemailerLatestEnvio de email via SMTP
MJMLLatestTemplates de email responsivos compilados para HTML

Frontend

TecnologiaVersãoPor quê
Next.js15SSR/SSG com App Router, bom ecossistema
React19UI library padrão
TypeScript5+Consistência com backend
Tailwind CSSLatestUtility-first, produtividade
shadcn/uiLatestComponentes acessíveis baseados em Radix UI
ClerkLatestAutenticação pronta (login, organização, convites)

Infraestrutura

TecnologiaPor quê
Docker ComposeOrquestração local e produção (3 arquivos obrigatórios)
TraefikReverse proxy com TLS automático (Let's Encrypt)
MinIOArmazenamento S3-compatible self-hosted para imagens e arquivos
Azure Key VaultGerenciamento seguro de secrets em produção

Serviços externos

ServiçoFunção
ClerkAutenticação, gestão de usuários e organizações
Meta WhatsApp Business APIEnvio oficial de mensagens WhatsApp (WABA)
ChatwootPlataforma de atendimento multicanal (self-hosted)
Evolution APICliente WhatsApp por QR code (não-oficial)
n8nAutomação de fluxos (self-hosted)
Millennium ERPSistema de gestão (fonte dos dados de clientes e vendas)

Padrões de código

  • Linguagem do código: inglês (variáveis, funções, comentários, commits)
  • Linguagem das respostas: português brasileiro
  • Commits: conventional commits (feat:, fix:, chore:)
  • Testes: Jest para unitários, Playwright para E2E
  • Linting: ESLint + Prettier

Documentação interna — Galdix CRM