Sistema TAZZIN: o que construí na indústria, auditável por qualquer pessoa
A plataforma de gestão que levo à indústria sob a minha marca. Ela junta num sistema só o que normalmente vive numa planilha por departamento — e roda com dados sintéticos, para que qualquer pessoa possa abrir a demo e ler o código.
- Desafio
- O trabalho que faço dentro de uma empresa é confidencial: quem me avalia não tem como conferir.
- O que fiz
- Levei a forma de estruturar um sistema de gestão para um produto próprio, com dados sintéticos coerentes entre os módulos.
- Resultado
- 18 módulos, 21 telas e 299 testes automatizados, com demo no ar e código aberto.
- Meu papel
- Produto, arquitetura, código e marca.
O que o sistema cobre
- Comercial — vendas, relacionamento com cliente, oportunidades e leads;
- Chão de fábrica — produção, usinagem, operadores, refugo e ajustes;
- Cadeia e caixa — estoque, compras, financeiro e remuneração;
- Gestão — pessoas, projetos, manutenção, qualidade e administração.
A venda baixa o estoque, que dispara a compra, que movimenta o financeiro; o apontamento da máquina conversa com o refugo e com a remuneração do operador — porque está tudo no mesmo lugar.
Duas decisões que pesaram
Regras de negócio como funções puras
A camada de domínio decide sem tocar em banco, interface ou arquivo; os serviços só orquestram. Cada regra é testável sozinha.
Alternativa rejeitada — Regra de negócio dentro do serviço ou do modelo, como na maioria dos sistemas de cadastro. Funciona no início e degrada rápido: regra misturada com banco só se testa com tudo de pé.
Módulos conversam por contrato, não por atalho
Um módulo referencia outro só pelo identificador. Se Vendas precisa do nome de um produto, pergunta ao serviço de Estoque.
Alternativa rejeitada — Deixar o ORM navegar livremente entre módulos. É mais cômodo e cria o acoplamento invisível que impede qualquer módulo de evoluir sozinho.
Detalhes técnicosArquitetura, testes e stack
Arquitetura em camadas
Tela → serviço → domínio → repositório → banco, sempre nessa direção, com o núcleo (configuração, log estruturado, métricas e verificação de saúde) atravessando todas. Cada módulo de negócio percorre todas as camadas com os próprios arquivos — entender um é entender todos.
Outras decisões
- Testes contra banco real em memória, não contra imitações: cada teste exercita a consulta de verdade.
- Observabilidade desde o primeiro dia — log em JSON, latência medida por operação e verificação de saúde.
- Cor com significado — verde é "dentro da meta", vermelho é problema, azul é neutro; a legenda diz isso em palavras.
Stack
- Python 3
- SQLAlchemy 2.0
- Streamlit
- SQLite
- pytest
- Log estruturado (JSON)
Aprendizado
- O que cada camada é proibida de fazer importa mais do que o que ela faz. Sem as proibições escritas, toda fronteira erode — e a exceção que existe está documentada como exceção.