Contexto
O NexPsi é um SaaS multi-tenant para gestão de clínicas e profissionais de psicologia. Sua proposta é organizar pacientes, agenda, sessões, pacotes, cobranças, pagamentos e informações financeiras.
O produto considera múltiplos profissionais e organizações. Isso torna a delimitação do contexto de cada operação uma parte central do desenho da aplicação.
Problema
Agenda e financeiro representam aspectos diferentes de um mesmo trabalho. Uma sessão agendada não equivale automaticamente a uma sessão realizada, uma cobrança emitida ou um pagamento recebido.
Quando essas informações são tratadas como uma única coisa, o sistema perde a capacidade de representar situações comuns, como cancelamentos, pacotes com várias sessões ou cobranças ainda pendentes. O problema do produto é organizar essas relações de maneira coerente.
Solução
O NexPsi reúne gestão de pacientes, agenda, sessões, pacotes, cobranças, pagamentos e informações financeiras em uma plataforma preparada para múltiplos profissionais e organizações.
Esse escopo aproxima a organização do atendimento e o acompanhamento financeiro. Não são apresentados aqui resultados comerciais, número de usuários ou indicadores operacionais.
Arquitetura
A stack do projeto utiliza .NET, Angular, PostgreSQL e Docker, com DDD e CQRS. A arquitetura é multi-tenant: o produto foi projetado para atender múltiplas organizações ou profissionais.
DDD orienta a modelagem a partir dos conceitos e regras do domínio. CQRS separa responsabilidades de escrita e leitura. O uso desses padrões não implica, por si só, bancos separados, event sourcing ou microsserviços.
O mecanismo concreto de isolamento entre tenants não foi detalhado neste case. Portanto, não se atribui ao projeto uma estratégia específica de banco por cliente, schema separado ou filtros por organização.
Principais decisões
A modelagem distingue conceitos como sessões, pacotes, cobranças e pagamentos no escopo do produto. Essa distinção é importante para representar o que aconteceu no atendimento e o que aconteceu no financeiro sem confundir os dois fluxos.
A escolha de DDD e CQRS indica uma abordagem que organiza regras do domínio e responsabilidades de leitura e escrita. Os limites internos dos módulos e os detalhes de implementação não são presumidos nesta apresentação.
Tecnologias
- .NET: desenvolvimento do backend.
- Angular: desenvolvimento da interface web.
- PostgreSQL: persistência relacional.
- Docker: empacotamento em containers.
- DDD: modelagem orientada ao domínio.
- CQRS: separação de responsabilidades de comandos e consultas.
Desafios
O contexto multi-tenant exige atenção ao acesso a dados em consultas, comandos e rotinas de processamento. Também é necessário representar corretamente as relações entre a agenda e os registros financeiros.
Esses são desafios inerentes ao escopo descrito. Esta apresentação não equivale a uma auditoria de segurança nem afirma certificações ou características de proteção de dados não documentadas.
O que o projeto demonstra tecnicamente
O NexPsi demonstra desenvolvimento de um produto SaaS orientado a um domínio específico, com múltiplas organizações, organização de regras e relação entre processos operacionais e financeiros.
Saiba mais sobre desenvolvimento SaaS e sobre os fatores que compõem o custo de criar um SaaS. Conheça também o iVertion Chat, outro contexto de produto com integração entre diferentes fluxos.
