Sistema 01 · Plataforma central

Plataforma WhatsApp + IA.

O coração da operação digital da IRB. Um monorepo com oito aplicações que cobrem atendimento por WhatsApp, painel interno, agendamento público, IA conversacional e integrações.

O que é

Um único repositório (irb-whatsapp-ai) reúne todas as aplicações que conversam entre si. A IRB ganha um sistema completo onde o paciente entra pelo WhatsApp ou pelo site público, é atendido por uma assistente virtual com IA, e toda a operação acompanha pelo painel interno.

As oito aplicações

apps/api — API REST

Backend principal em Fastify + TypeScript. 27 módulos de rota cobrem todos os domínios da operação: autenticação, pacientes, médicos, agendas, agendamento, exames, conversas, webhooks, CRM, assinaturas, PDV, financeiro (faturamento, contas a pagar/receber, fluxo de caixa), farmácia, laboratório, ambulatorial, teleconsulta, dashboard, hub central, IGS, usuários e configurações.

apps/ai — Pipeline de IA conversacional

  • Classificadores de intenção para entender o que o paciente quer
  • Máquina de estados que conduz a conversa
  • Integração com OpenAI (modelo gpt-4o-mini)
  • Fallback automático para Claude quando há erro ou estouro de quota na OpenAI
  • Prompts especializados por contexto
  • RAG (Retrieval-Augmented Generation) para consultar a base de conhecimento
  • Processamento de áudio (transcrição de mensagens de voz)
  • Memória de contexto entre mensagens

apps/worker — Processadores em fila

Workers BullMQ que rodam tarefas pesadas em background: envio de mensagens WhatsApp, sincronização com Klingo, processamento de mídia, fluxos de botões interativos. Garante que o usuário não espera por operações lentas.

apps/dashboard — Painel interno

Aplicação React (Vite) com 30 telas para a equipe operar:

  • Atendimento: Conversations, Chat, WorkflowDashboard
  • Operação clínica: Schedules, Pharmacy, LabTests, OPDVisits, Teleconsultation
  • Comercial: CRMPipeline, CRMCampaigns, CRMMetrics, Subscriptions, Plans, PDV
  • Financeiro: Finance, FinanceCadastros, Billing, AccountsPayable, AccountsReceivable, CashFlow, DailyPayments, PaymentOrders, Reimbursements
  • Indicadores: Dashboard, Indicators, Metrics
  • Administração: Hub, Settings, Users, Login

apps/booking — Site público de agendamento

Aplicação React standalone para pacientes agendarem consultas pela web. Mostra slots em tempo real puxando direto da agenda da Klingo. Fluxo escalonado, sem fricção.

apps/site — Site institucional

Aplicação separada para a presença pública da IRB.

apps/teleconsulta — Sala de teleconsulta

Aplicação dedicada ao atendimento por vídeo.

apps/sync-klingo — Sincronização Klingo

Serviço dedicado para manter pacientes, médicos e agendas sincronizados com a Klingo via fila BullMQ, com retries e validação.

Pacotes compartilhados

  • packages/database — modelos PostgreSQL (Prisma) e MongoDB (Mongoose), reutilizados em todas as apps
  • packages/shared — tipos TypeScript e utilitários comuns

Tamanho

  • ~73.000 linhas de TypeScript
  • 314 arquivos .ts / .tsx só nas apps
  • 8 aplicações
  • 2 pacotes compartilhados
  • 27 módulos de rota na API
  • 30 telas no painel

Onde está rodando

Servidor de produção em 187.77.62.141, orquestrado via Docker Compose. Containers: irb-api, irb-worker, irb-dashboard, irb-postgres, irb-redis, irb-mongo, irb-bullboard. Detalhes completos na seção Infraestrutura.