Projetos Full Stack
Casos detalhados focados em arquitetura de código, concorrência e modelagem de dados
Dindom — Plataforma de Gestão Condominial SaaS
React • TypeScript • NestJS • Supabase • PostgreSQL • Redis • Docker • Capacitor • WhatsApp API
Problema
Administradoras de condomínio e síndicos lidam diariamente com processos fragmentados de comunicação, reservas de áreas comuns instáveis e dificuldades no fechamento de contas financeiras. A falta de centralização e histórico de pagamentos/moradores resulta em atritos de dados e lentidão operacional.
Solução
Uma plataforma SaaS ponta a ponta com acesso multiplataforma (Web e aplicativo mobile via Capacitor) que unifica o ecossistema. Permite gerenciar avisos, reclamações, encomendas, reservas financeiras, fluxo de caixa (contas a pagar/receber) e inventário de forma centralizada e segura.
Arquitetura
O backend é estruturado em módulos independentes com NestJS, utilizando injeção de dependência estrita para garantir manutenibilidade. A persistência de dados utiliza PostgreSQL no Supabase, com segurança baseada em RLS (Row Level Security) e controle de acesso granular de múltiplos escopos (unidade, bloco, condomínio). O processamento assíncrono de e-mails, relatórios e notificações é orquestrado via filas no Redis para isolar gargalos.
Desafios Técnicos & Decisões Arquiteturais
- Desafio (Isolamento Multi-Tenant): Impedir cruzamento de dados sensíveis entre diferentes condomínios na mesma base relacional de forma escalável.
- Decisão: Implementei uma estratégia de Tenant Identification baseada em headers HTTPS nas requisições. O NestJS utiliza interceptors dinâmicos para injetar o contexto de tenant nas conexões do pool do Supabase, isolando os dados de forma lógica a nível de aplicação.
- Desafio (Comunicação Ativa): Manter moradores atualizados sem forçar o uso constante do aplicativo móvel.
- Decisão: Integrei a API oficial do WhatsApp Business conectada a webhooks e filas do Redis. Notificações importantes (como chegada de encomendas e boletos) são disparadas assincronamente pelo Worker sem consumir recursos da API principal.
Resultado
Plataforma SaaS operando em produção com estabilidade completa. O processamento assíncrono garantiu um tempo médio de resposta de API abaixo de 80ms, e a automatização via WhatsApp reduziu a perda de informações de encomendas em mais de 90%.
Pontos Fortes da Solução
- • Arquitetura modular robusta e altamente testável no backend.
- • Reaproveitamento de base React Web para mobile via Capacitor, otimizando custos e tempo de feature delivery.
- • Infraestrutura leve conteinerizada em Docker, facilitando deploys horizontais.
Rastreamento de Veículos em Tempo Real
Next.js • NestJS • Golang • Apache Kafka • WebSockets • MongoDB • Google Maps API • Docker
Problema
Monitorar frotas veiculares em trânsito com atualizações lentas gera atrasos e relatórios inconsistentes para operadores de logística. Realizar polling HTTP frequente gera sobrecarga nos servidores e falha em renderizar movimentações fluidas no mapa do painel de monitoramento.
Solução
Construção de uma arquitetura altamente distribuída que simula o tráfego de frotas enviando coordenadas geográficas de forma contínua para um microsserviço de recepção, transmitindo-as instantaneamente via WebSockets para painéis web enriquecidos com a API do Google Maps.
Arquitetura
Um microsserviço de simulação em Golang gera e envia coordenadas geográficas concorrentemente para tópicos do Apache Kafka. O broker distribui essas mensagens de forma ordenada para um consumidor NestJS. A API do NestJS persiste o histórico de rotas em um banco de dados MongoDB (ideal para escrita rápida) e replica as localizações para o frontend Next.js por meio de uma conexão persistente WebSocket.
Desafios Técnicos & Decisões Arquiteturais
- Desafio (Concorrência e Escrita Concorrente): Processar milhares de atualizações de localização simultâneas sem perder ordem de pacotes.
- Decisão: Utilizei o Apache Kafka como barramento de mensagens por causa do seu design baseado em partições com garantia de ordenação de logs de commits. O simulador em Go aproveitou canais concorrentes nativos da linguagem para maximizar o throughput.
- Desafio (Conexão persistente leve): Evitar gargalos no servidor ao manter centenas de telas conectadas em tempo real.
- Decisão: Adoção de WebSockets puro em cima do NestJS gateway, configurando buffers de tráfego para enviar atualizações agregadas a cada 100ms em vez de pacotes individuais soltos.
Resultado
O sistema suporta atualizações instantâneas simuladas de múltiplas frotas de forma fluida no mapa, com entrega ordenada garantida de eventos e persistência duradoura em MongoDB rodando inteiramente em contêineres Docker isolados.
Sistema Financeiro e Comercial Integrado
TypeScript • Node.js • Express • React • MySQL • JWT Authentication • Axios
Problema
Empresas comerciais de médio porte perdem controle financeiro ao utilizar ferramentas dispersas de estoque, compras, comissões de vendedores e contas a pagar/receber, gerando relatórios furados e riscos de vazamento de informações.
Solução
Desenvolvimento de um ERP comercial integrado, centralizando o controle de estoque de produtos, ordens de compra, transações financeiras de vendas com cálculo dinâmico de comissões, relatórios de fluxo de caixa e segurança através de login por tokens JWT estruturados.
Arquitetura & Decisões
Backend construído com Node.js e Express, priorizando simplicidade operacional e respostas em JSON estruturadas. Modelagem relacional estrita no MySQL para garantir integridade referencial física das transações e evitar inconsistências em tabelas de vendas/estoque. Autenticação e autorização stateless via JWT, onde as credenciais de sessão não são guardadas em memória do servidor, simplificando escalabilidade horizontal.
Resultado
Estrutura transacional isolada, fluxos robustos de cadastro, atualização e exclusão lógica de registros, prevenindo deleção acidental de registros fiscais e garantindo conciliação financeira precisa.
Integração SOAP/XML Corporativa para Emissão Fiscal
Node.js • Express • SOAP Protocol • XML Parsing • Axios • JSON to XML
Problema
Faturamento manual de Notas Fiscais Eletrônicas de Serviço (NFS-e) diretamente nos portais das prefeituras causa atrasos fiscais, redigitação burocrática de dados de vendas e erros recorrentes de digitação que geram multas.
Solução e Engenharia
Módulo de background incorporado no ERP legado da Tizza Tecnologia. Ele intercepta as ordens de faturamento geradas na API corporativa, converte a estrutura interna de dados (JSON) no layout XML esperado pelo serviço governamental, executa a requisição via protocolo SOAP seguro, trata a resposta e registra a emissão no banco.
Desafios & Decisões Arquiteturais
- Instabilidade das APIs Públicas: Servidores fiscais costumam ficar fora do ar por minutos sem aviso prévio.
- Decisão: Implementei uma fila com estratégia de Backoff Exponencial utilizando Axios e persistência temporária no banco. Se o servidor governamental responder com erros 500 ou timeouts, o sistema agenda automaticamente novas tentativas de envio com intervalos crescentes, marcando o faturamento como "Pendente" sem travar a interface do usuário.
- Criptografia e Certificados: A requisição SOAP exige validação com certificados digitais A1.
- Decisão: Adoção de bibliotecas seguras de assinatura XML com chaves privadas descriptografadas em memória apenas durante o handshake da conexão HTTP.
Resultado
Faturamento automático integrado ao ERP comercial da empresa, processando centenas de emissões semanais de forma totalmente autônoma, reduzindo o tempo de fechamento contábil e eliminando totalmente erros de redigitação manual.
Estudos Avançados e Projetos Experimentais
API de Rotas Geográficas com Flask
Serviço de backend desenvolvido em Python para geocodificação de pontos físicos no mapa, cálculo de distâncias em coordenadas lineares e persistência relacional.
- Uso do GeoPy para cálculos trigonométricos avançados de rotas na esfera terrestre.
- Validação e serialização de dados de entrada rigorosa utilizando Marshmallow Schemas.
- Modelagem flexível com SQLAlchemy ORM e migrações estruturadas.
Modelo Preditivo de Emissões de CO₂
Estudo de Inteligência Artificial e Ciência de Dados utilizando regressão linear para correlacionar o tamanho de motores veiculares com o volume médio de gás poluente expelido.
- Engenharia de features com limpeza de dados nulos e normalização estatística usando Pandas/NumPy.
- Métricas de avaliação rigorosas: MSE (Mean Squared Error), MAE e cálculo de R²-score.
- Análise gráfica detalhada do coeficiente linear do motor e dispersão de emissões.