Pular para o conteúdo
Voltar

Receituário Agronômico

Em produçãoPapel: Autor e mantenedorFlutterBLoCNestJSOracle

Emissão de receita agronômica do Grupo Coagro: app Flutter para os agrônomos (desktop e web) e API NestJS sobre os bancos Oracle do Winthor e do SIAGRI, com assinatura eletrônica.

Receituário Agronômico

// Visão geral

Receita agronômica é documento legal: produto, cultura, alvo, dose, área e o agrônomo responsável, dentro do que a legislação permite. O sistema emite, cancela e cadastra receitas em lote a partir do que já está no ERP, com cálculo automático de dose e área.

// O desafio

Um ERP de distribuição não carrega regra agronômica — ela não vale para quem vende parafuso. Sem ela, o agrônomo redigitava o que o sistema já sabia, e um erro na receita não é retrabalho, é risco regulatório. E a receita precisa sair assinada pelo responsável técnico, sem papel circulando entre filiais.

// Restrições

A receita é documento legal: sai dentro do que a legislação permite, assinada pelo responsável técnico, sem papel entre filiais — e a regra agronômica não existe no ERP de distribuição.

// Decisões de engenharia

Emissão idempotente

Escolha
cada emissão leva uma Idempotency-Key.
Por quê
reenviar não pode duplicar um documento legal.
Trade-off
a API guarda e confere a chave a cada emissão.

Assinatura sem crédito desperdiçado

Escolha
o documento vai para o Autentique, e um reenvio reaproveita o mesmo documento em vez de criar outro.
Por quê
cada documento novo no serviço de assinatura gasta um crédito.
Trade-off
o sistema mantém o vínculo entre a receita e o documento externo.

// A solução

App Flutter com BLoC e Clean Architecture para Windows e web, e uma API NestJS em arquitetura hexagonal sobre três conexões Oracle (SIAGRI, Winthor e integração). A emissão é idempotente por Idempotency-Key, então reenviar não duplica receita; a assinatura do cliente é carimbada no PDF na mesma transação; o documento segue para o Autentique, onde o agrônomo assina, e reenviar reaproveita o documento sem gastar outro crédito. Emitida a receita, o número e o responsável técnico voltam para o pedido no Winthor. A API também aceita o login do CRM Loja, então o vendedor não precisa de outra senha.

Meu papel

Autor e mantenedor do app e da API (cerca de 98% dos commits), do primeiro commit, em junho de 2025, ao deploy: regras de negócio, API, app, testes e releases. Sistema do Grupo Coagro, em parceria com a NWERP.

Tecnologias

FlutterDartBLoCNestJSTypeScriptOracleTypeORMDockerGitHub Actions

// Telas

Dashboard de receitas emitidas com indicadores, gráfico mensal e barras por filial
Seleção de pedido com filtros, status da nota e produtos que exigem receita
Emissão de receita agronômica com ART, cultura, praga-alvo, dosagem e opções de gravação

// Resultado e evidências

Em produção, com o app na versão 3.12 e a API na 2.12, releases automatizadas pelo Release Please e CI com lint, typecheck, build e testes nos dois lados.

arquivos de teste
~400
entre app e API
conexões Oracle
3
SIAGRI, Winthor e integração
dos commits
~98%

Gostou deste tipo de trabalho?