Fábrica de Placas
webapp que acompanha a placa rodoviária do pedido até a entrega assinada: solicitação, produção, estoque de insumos, expedição e inventário.
o ciclo de vida de uma placa — pedido, fila de produção, consumo de insumo, expedição e inventário — vivia em planilha e papel avulso. não dava para responder onde estava um pedido sem perguntar para alguém, e o consumo de material só aparecia no fim do mês.
um fluxo rastreável ponta a ponta. a solicitação vira ordem de serviço com modelo padrão de sinalização vertical e imagem de referência; a produção baixa o insumo; a expedição gera pedido em PDF para conferência e assinatura; o inventário fecha o ciclo com relatório exportável.
como as peças se conectam
- NavegadorReact 19 + Vite
- NginxHTTPS e proxy
- FastifyAPI e front no mesmo processo
- PostgreSQLbanco isolado dos outros
o que existe dentro
Cadastros base
implementadomateriais de produto e de insumo, modelos padrão de sinalização vertical com imagem de referência e tamanhos normalizados.
Solicitação (O.S.)
implementadoabertura do pedido com modelo, medida e quantidade, gerando a ordem de serviço em PDF.
Pendentes / Produção
implementadofila do que está para produzir, com baixa de insumo no apontamento.
Expedição
implementadopedido de expedição em PDF, conferência e registro de entrega.
Estoque e Inventário
implementadosaldo de produto acabado e insumo, contagem e relatório de inventário exportável.
Histórico
implementadorastro completo por pedido, da abertura à entrega.
Dashboard
a definirindicadores consolidados de produção e consumo.
o que foi usado
decisões técnicas e o porquê
mesma stack do Portal MRO
padronizar reduz o número de ferramentas mantidas em paralelo: mesmos padrões de projeto, mesmos scripts de dev e build, mesmo fluxo de deploy nos dois sistemas.
VPS própria em vez de serverless
geração de PDF e planilha não cabe bem numa função com timeout de dez segundos, e a cota gratuita de storage era curta para imagens e documentos gerados.
um processo só
o Fastify serve a API e o build estático do frontend na mesma porta: um processo, um domínio, um certificado.
seed idempotente dos modelos padrão
os modelos de sinalização vertical entram por script que pode rodar de novo sem duplicar, com a imagem de referência embutida no banco.
o que ficou
- seed idempotente vale mais que migração: dá para reconstruir o cadastro base do zero a qualquer momento sem medo.
- não force digitalizar o que a operação não pediu — a assinatura de entrega continua no papel, e o sistema só gera o documento que vai ser assinado.