Logo

Command Palette

Search for a command to run...

Command Palette

Search for a command to run...

ACID, Sistema de Gestão Associativa

Detalhes do Projeto

Período:
03.2026 — Present
  • Client Project
  • SaaS Multi-tenant
  • TypeScript
  • Next.js
  • PostgreSQL
  • Prisma
  • Redis
  • Asaas
  • ClickSign
  • Webhooks
  • Playwright
  • Docker
ACID, Sistema de Gestão Associativa

Impacto em números

Etapas Manuais Eliminadas
100%

Termo, assinatura e cobrança automáticos

Integrações Orquestradas
6

Asaas, ClickSign, Cloudinary, WhatsApp, SMTP e Sentry

Specs Versionadas
30

Desenvolvimento spec-driven

Modelos de Dados
31

Do lead ao associado ativo, num único schema

A transformação

Antes
Depois
Pedido de associação digitado à mão em planilha
+Formulário público alimentando um CRM de oportunidades
Termo impresso, assinado no papel e arquivado em pasta
+Termo gerado e assinado eletronicamente, com retorno automático
Boleto avulso, sem régua de cobrança nem controle de inadimplência
+Cobrança recorrente criada sozinha, com conciliação por webhook
Nenhuma visibilidade de receita recorrente e de associados ativos
+Dashboard de receita recorrente e inadimplência em tempo real
Atas e composição da diretoria em documentos soltos
+Governança digitalizada com atas assinadas e presença registrada

Sobre o projeto

Associações comerciais operam em planilha, WhatsApp pessoal, pasta de e-mail e papel. Pedido de associação chega no balcão e é digitado à mão. Termo é impresso e assinado fisicamente. Cobrança é boleto avulso, sem régua nem controle de inadimplência. Ninguém sabe, em tempo real, quantos associados estão ativos nem quanto entra de receita recorrente.

O custo disso vai além do operacional. É institucional: a diretoria decide sem dado confiável.

A decisão de produto mais importante do projeto foi tirar o login do candidato. Ele interage apenas por formulário público, WhatsApp, e-mail e links de assinatura e pagamento, e quem loga é a equipe administrativa. Toda vez que você exige cadastro antes de entregar valor, você perde gente.

Oportunidades (Kanban + enriquecimento de CNPJ)
        |
Formulário público /associe-se
        |
Aprovação -> Termo (PDF timbrado) -> ClickSign -> Asaas
        |
PENDENTE > APROVADO > AGUARDANDO_ASSINATURA > AGUARDANDO_PAGAMENTO > ATIVO

Máquina de estados explícita do associado, com cada transição auditada. O estado não é uma string solta, é o contrato do sistema.

Um adapter por integração. Asaas, ClickSign, Cloudinary, WhatsApp e SMTP ficam atrás de camadas próprias, então trocar de gateway não reescreve regra de negócio.

BaaS com subcontas Asaas: cada tenant com a própria subconta, split e conciliação isolados.

Redis para retries, jobs agendados e idempotência de webhook. Se o Redis cair, o sistema continua servindo e só perde o assíncrono.

Um schema Zod único compartilhado entre cliente e servidor.

Governança digitalizada. Diretoria, cargos, atas com assinatura eletrônica e lista de presença viraram entidades, e o histórico institucional saiu da pasta.

Testes em duas camadas, com Vitest e Playwright, cobrindo cadastro e cobrança, que são os fluxos que custam dinheiro quando quebram.

O desafio

Encadear quatro sistemas externos, de assinatura, pagamento, mensageria e storage, num fluxo que não pode falhar pela metade. Um termo assinado sem cobrança criada, ou uma cobrança criada sem termo, deixa a associação em situação jurídica ruim.

Resolvi com máquina de estados explícita, idempotência de webhook via Redis e retry com backoff. Cada etapa é reentrante, e o estado do associado é sempre a verdade, e não o que o provedor externo achou que aconteceu.

Resultados

Cadastro de associado saiu de dias para horas. Régua de cobrança automatizada com conciliação por webhook, receita recorrente visível em tempo real e um produto multi-tenant replicável para outras associações.

Stack técnica

01

Next.js 16 e React 19

Formulário público, painel administrativo e webhooks num único deploy.

02

PostgreSQL e Prisma

Migrações versionadas, sem divergência entre ambientes.

03

Asaas

Cobrança recorrente por PIX e boleto, subcontas por tenant e conciliação por webhook.

04

ClickSign

Assinatura eletrônica do termo com retorno automático do documento assinado.

05

Redis

Filas, jobs agendados e idempotência de webhook, com degradação graciosa.

06

pdf-lib e Puppeteer

Termos e documentos em PDF com timbre institucional.

07

Vitest e Playwright

Cobertura dos fluxos críticos de cadastro e cobrança.

08

Sentry

Observabilidade em produção com alerta automático.

Galeria(2)

ACID, Sistema de Gestão Associativa — imagem 1
ACID, Sistema de Gestão Associativa — imagem 2