- monorepo skeleton (apps/, packages/, infrastructure/, scripts/, docs/) - docker-compose with PostgreSQL 18 and Redis 7 (localhost-only) - .gitignore and .env.example - initial TODO.md and docs/ARCHITECTURE.md
1.6 KiB
1.6 KiB
Arquitetura — B2BCall
SaaS multi-tenant de call center, discagem preditiva, telefonia, IA e billing.
Ver agente.md na raiz do projeto para a especificação completa.
Stack
- Backend: Node.js, TypeScript, NestJS, Fastify
- Frontend: Next.js, React, TypeScript, Tailwind CSS, shadcn/ui
- Banco: PostgreSQL (18)
- Cache/Jobs: Redis + BullMQ
- Telefonia: FreeSWITCH
- Reverse Proxy: nginx
Monorepo
apps/
frontend/ Next.js
api/ API principal (NestJS)
dialer-worker/ Predictive Dialer Engine
freeswitch-events/ Consumidor ESL (mod_event_socket)
freeswitch-config/ Provedor XML Curl (Directory/Dialplan)
scheduler/ Jobs agendados (callbacks, retenção, fechamento)
ai-worker/ Pipeline de transcrição/análise IA
billing-worker/ Rating Engine / fechamento mensal
packages/
database/ auth/ billing/ ai/ telephony/ shared/ types/ ui/
infrastructure/
docker/ freeswitch/ postgres/ redis/ nginx/
scripts/
docs/
Servidor atual (ambiente de desenvolvimento)
- Debian 13 (trixie), kernel 6.12
- 2 vCPU, ~1.9GB RAM, ~26GB disco livre
- Hostname:
Lab-FSCore-RTPEngine— sugere ambiente de laboratório, não produção
Atenção: a RAM disponível é baixa para rodar a stack completa (Postgres + Redis +
FreeSWITCH + workers Node + Next.js) ao mesmo tempo. Ver TODO.md para riscos e
recomendações antes de escalar para todos os serviços simultaneamente.
Rede
Serviços de infraestrutura (Postgres, Redis) expostos apenas em 127.0.0.1, nunca
publicamente, conforme seção 184 de agente.md.