Pular para o conteúdo
Todos os projetos
Logo do ESData

ESData

Plataforma SaaS para gestão de organizações, com módulos configuráveis, identidade visual própria, controle de acesso e cobrança recorrente.

Ano
2026
Tipo
SaaS
Situação
Em produção
Código
Proprietário

Tecnologias

  • Next.js
  • TypeScript
  • Supabase
  • PostgreSQL
Imagem do projeto ESData

Sobre o projeto

O ESData é uma plataforma SaaS para gestão de organizações. Utiliza uma arquitetura multi-tenant: vários clientes compartilham a infraestrutura, mas cada organização mantém seus próprios dados, identidade visual, módulos e permissões.

Problema

Pequenas organizações frequentemente administram pessoas, demandas e processos em planilhas separadas. Precisam centralizar essas informações e adaptar o sistema à sua rotina, sem financiar o desenvolvimento de uma aplicação exclusiva.

Solução

Uma plataforma na qual cada organização habilita os módulos necessários e aplica sua identidade visual. O cliente realiza o próprio cadastro, utiliza um período de avaliação e pode contratar o serviço por assinatura.

Minha atuação

Concebi e desenvolvi a plataforma de ponta a ponta. Fui responsável pela modelagem multi-tenant, pelas políticas de acesso, pelos módulos, pela integração de cobrança e pelos e-mails transacionais, além da interface e da operação do produto.

Principais funcionalidades

  • Painel de gestão, cadastros com importação em CSV e registro de instituições
  • Acompanhamento de demandas com anexos e comentários
  • Agenda, atividades e aniversariantes
  • Mapa, histórico de auditoria e notificações
  • Busca global e configurações de segurança
  • Área administrativa para gestão dos clientes

Arquitetura e decisões técnicas

A aplicação utiliza Next.js, TypeScript e Supabase. Os dados das organizações ficam no mesmo PostgreSQL, com políticas de segurança por linha (Row Level Security, ou RLS) para restringir o acesso aos registros de cada cliente.

As políticas verificam o vínculo do usuário e se a organização está ativa. Assim, o controle de acesso também é aplicado pelo banco de dados, inclusive para organizações suspensas.

A configuração dos módulos determina os itens do menu, os cards do painel e o acesso às rotas. Desabilitar um módulo também bloqueia o acesso direto à sua rota.

A integração com o gateway de pagamentos utiliza webhooks para atualizar o estado da organização após a confirmação de pagamento ou em caso de inadimplência. Uma tarefa diária envia lembretes de encerramento do período de avaliação.

Desafios técnicos

  • Separar os dados dos clientes. Definir políticas por tabela reduz o risco de uma falha na aplicação expor registros de outra organização.
  • Representar o ciclo da assinatura. Os estados de avaliação, ativo, suspenso e cancelado ficam registrados no banco para consulta direta pelas regras de acesso e cobrança.

Resultado

Plataforma em produção.

Tecnologias

Next.js, React, TypeScript, Tailwind CSS, Supabase, PostgreSQL e Vercel.