PWA offline e páginas públicas conectadas ao ERP
Front-ends fora do ERP: um PWA offline de inventário para coletor Android e páginas públicas em que o cliente aprova pedido e amostra por link, todos falando com a API do ERP.
- Setor
- Indústria de confecção e moda
- Período
- 2026
- Atuação
- Autoria integral (front-end e API)
- Escala
- 3 aplicações, 3 endpoints novos
Offline
contagem sem depender da rede
64 hex
token aleatório por link público
E2E
testes contra um ERP simulado
Tecnologias
Desafio
Dois problemas da mesma empresa, nenhum deles resolvível com mais uma tela do ERP.
O inventário é contado no corredor do armazém, com um coletor Android de leitor embutido, e ali a rede não é garantida. Uma contagem não pode parar porque o Wi-Fi caiu.
Do lado comercial, o cliente precisava conferir o pedido e aprovar a amostra antes da produção, mas não tem, nem deve ter, acesso ao ERP.
Solução
PWA de inventário. Aplicativo em React e TypeScript que guarda tudo no IndexedDB do aparelho e sincroniza quando o operador manda. A captura é cega de propósito: o coletor não valida regra de negócio, só registra o que foi lido. A regra continua no ERP, que recebe a contagem e decide. O app é operado inteiro por teclado e leitor, sem toque, e uma única chamada traz o contexto completo da contagem para o aparelho trabalhar sem rede. Fica publicado no Cloudflare Pages, com um Worker de proxy para que a credencial do ERP nunca chegue ao aparelho. Os testes de navegador rodam com Playwright contra um ERP simulado, sem tocar ambiente de cliente.
Endpoint do ERP em camadas. A rota da API não conhece o inventário: ela só repassa para um despachante por módulo e ação, e o módulo de inventário é uma peça entre outras. O próximo módulo do coletor entra sem mexer na API.
Páginas públicas de aprovação. O ERP gera um link com um token aleatório de 64 caracteres hexadecimais e guarda um retrato do pedido no momento do envio, para que o cliente aprove o que recebeu mesmo que o pedido mude depois. O cliente aprova, reprova ou comenta com justificativa, e a resposta volta para uma consulta do ERP. As páginas são apps React com Supabase na plataforma interna de aplicações da empresa; a chamada ao ERP passa por uma função no servidor, com contrato de API versionado e códigos de erro fixos.
Resultado
Três front-ends novos, nenhum deles com regra de negócio duplicada fora do ERP. O inventário deixa de depender de rede no momento da leitura, e a aprovação do cliente fica registrada no próprio pedido, com o retrato do que foi aprovado.
O que esse case mostra
O trabalho não termina na fronteira do ERP. Escrevi o app, a API e o teste automatizado das duas pontas, e o princípio de manter a regra no ERP valeu também para o front-end.
Travou em algum termo? Tem um glossário. Glossário