Suprimentos (WMS)
WMS do Grupo Coagro em Flutter: inventário, recebimento, conferência, separação e endereçamento no coletor Android, no lugar do app do fornecedor do ERP.

// Visão geral
O módulo de armazém da Coagro: gestão de lotes, dados logísticos, endereços de separação, inventário, recebimento, conferência, separação e auditoria — no coletor de dados Android, na web e no Windows.
// O desafio
O armazém trabalhava com o coletor do fornecedor do ERP, uma caixa-preta difícil de adaptar à operação. Trocá-lo exigia reproduzir com fidelidade o que ele fazia, rotina por rotina, antes de melhorar qualquer coisa — sem parar o armazém.
// Restrições
Reproduzir com fidelidade, rotina por rotina, o coletor do fornecedor do ERP antes de melhorar qualquer coisa — sem parar o armazém — e rodar no coletor Android, na web e no Windows.
// Decisões de engenharia
Regra no banco
- Escolha
- todo acesso a dados passa por RPCs no Postgres.
- Por quê
- a regra vale para qualquer cliente — coletor Android, web e Windows — sem ser reescrita em cada um.
- Trade-off
- a lógica de negócio fica em SQL, fora do código Dart.
// A solução
App Flutter com Riverpod e Clean Architecture por funcionalidade, que divide tema, componentes e telemetria com o CRM Loja. Todo acesso a dados passa por RPCs no Postgres, então a regra mora no banco e vale para qualquer cliente. Os fluxos são guiados por código de barras, com contagem e conferência às cegas e busca de produto que ignora acentos; a distribuição é por atualização OTA do APK, sem loja.
Meu papel
Desenvolvedor principal (cerca de 98% dos commits): arquitetura, app, banco (169 migrations), testes e distribuição. Sistema do Grupo Coagro, em parceria com a NWERP.
Tecnologias
// Telas



// Resultado e evidências
Em uso no armazém, com inventário, conferência e separação já em produção, na versão 1.50 e com cerca de 290 arquivos de teste.
- arquivos de teste
- ~290
- migrations no Supabase
- 169
- dos commits
- ~98%