Setor público e educação · Plataforma multi tenant
GestFrota
Gestão de frota e abastecimento para prefeitura: autoriza cada abastecimento, controla limite por veículo e gera a prestação de contas.

- Cliente
- Prefeitura Municipal de Carlos Chagas e empresas que gerenciam frota pública
- Onde
- Carlos Chagas, MG
- Tecnologia
- TypeScript · Node.js · Fastify · Zod · Drizzle ORM · PostgreSQL 16 · pg-boss · React · Vite · TanStack Query · Tailwind CSS · pdfmake · Vitest · Playwright · Docker Compose · nginx
- Situação
- Acesso restrito · gestaofrota.nexialabs.com.br
- Desenvolvimento
- André Gomes · NexiaLabs
Em resumo
GestFrota é uma plataforma web de gestão de frota e abastecimento para órgãos públicos, desenvolvida por André Gomes, da NexiaLabs, a partir do Termo de Referência do Pregão Eletrônico nº 28/2026 da Prefeitura Municipal de Carlos Chagas, MG. O sistema autoriza ou recusa cada abastecimento por regras auditáveis, controla o limite por veículo e o teto de preço pela média da ANP, e gera relatórios e faturas para a prestação de contas. Foi construído em TypeScript, com Fastify, React e PostgreSQL, e roda em Docker numa VPS da Hostinger.
O cliente
Prefeituras contratam uma empresa gerenciadora para abastecer a frota municipal numa rede de postos credenciados, com cartão por veículo. O edital de Carlos Chagas descreve em detalhe o que esse sistema precisa fazer: senha do condutor, limite por veículo, teto de preço, comprovante no posto, contingência quando a rede cai e uma longa lista de relatórios. Editais desse tipo são muito parecidos entre municípios. Por isso o GestFrota foi pensado como produto para várias gerenciadoras, cada uma com vários contratos, e não como sistema de uma prefeitura só.
O desafio
Dinheiro público exige que cada litro seja explicado ao fiscal do contrato. Uma autorização errada, um centavo perdido em arredondamento ou um relatório com o dia errado vira glosa e problema na prestação de contas. Os dados de um contrato não podem aparecer em outro, nem se a aplicação tiver um erro. E tudo isso precisava caber numa VPS de 1 vCPU e 4 GB, junto de outros projetos.
O que foi construído
O centro do sistema é um motor de autorização: cada regra do edital, como cartão ativo, condutor habilitado, saldo do veículo, combustível compatível e preço abaixo do teto, é uma função pura testada que responde aprovado ou recusado com motivo. Toda transação entra num registro único de eventos que não se edita, e o estorno é um evento novo que aponta para o original. O isolamento entre organizações e contratos fica no próprio PostgreSQL, com segurança por linha e um papel de banco sem permissão para ignorar essas regras. Cada requisito tem um identificador ligado à cláusula do edital, e esse identificador aparece nos commits e nos testes.
O que o sistema faz
- Cadastro de veículos, condutores e cartões, com importação em massa, bloqueio e cancelamento imediato.
- Motor de autorização com regras parametrizáveis por contrato e um simulador que usa as mesmas funções.
- Teto de preço por litro pela média semanal da ANP no município, importada por tarefa agendada.
- Limite de gasto por veículo e período, com exceção que só passa com autorização registrada.
- Lançamento de contingência a partir do formulário em papel do posto, com prazo e justificativa.
- Catálogo de relatórios com período livre, exportação em planilha e PDF com cabeçalho institucional.
- Fatura por centro de custo, repasse ao posto, ocorrências do fiscal e trilha de auditoria de cada alteração.
- Registro de viagens em que dois usos do mesmo veículo ou do mesmo motorista no mesmo horário são barrados pelo próprio banco.
// Para quem avalia o código: arquitetura e decisões.
Por dentro
O GestFrota é um monorepo pnpm com quatro pacotes: a API, o painel web, um pacote de domínio compartilhado e as configurações. A API em Fastify valida cada rota com os mesmos esquemas Zod usados nos formulários e acessa o PostgreSQL 16 pelo Drizzle, com migrações versionadas que sempre têm arquivo de reversão. O painel é uma aplicação React compilada pelo Vite e entregue como arquivo estático. Tarefas em segundo plano, como a importação de preços da ANP, rodam numa fila guardada no próprio PostgreSQL, dentro do processo da API, e os PDFs são gerados em memória, sem navegador. Em produção, banco e API sobem em Docker Compose numa VPS da Hostinger, atrás do nginx, com o banco sem porta exposta, backup diário e teste de restauração.
Decisões técnicas
- Dinheiro, litros e preço trafegam como texto e são calculados só com decimal.js; o lint proíbe parseFloat e toFixed, porque número de ponto flutuante corrompe centavo.
- Segurança por linha no PostgreSQL com dois papéis de banco separados, para que o isolamento entre contratos não dependa só do código da aplicação.
- Disputa entre dois abastecimentos simultâneos do mesmo veículo resolvida com trava consultiva no banco, que relê limite e hodômetro antes de gravar.
- A API só sobe em UTC e o dia civil é sempre o de São Paulo, depois que datas calculadas no fuso errado apareceram em vencimento e competência.
Seu negócio parece com esse?
Serve para prefeituras, consórcios e empresas que administram frota pública e precisam explicar cada abastecimento ao controle interno.
Perguntas frequentes
Quem desenvolveu GestFrota?
GestFrota foi desenvolvido por André Gomes Andrade, desenvolvedor full stack de Carlos Chagas, Minas Gerais, pela NexiaLabs, do planejamento à publicação.
Onde fica o cliente de GestFrota?
Prefeitura Municipal de Carlos Chagas e empresas que gerenciam frota pública. Carlos Chagas, MG.
Com quais tecnologias GestFrota foi feito?
GestFrota usa TypeScript, Node.js, Fastify, Zod, Drizzle ORM, PostgreSQL 16, pg-boss, React, Vite, TanStack Query, Tailwind CSS, pdfmake, Vitest, Playwright, Docker Compose e nginx.
Dá para fazer um projeto parecido para o meu negócio?
Dá. Cada projeto é feito sob medida, com código e acessos no nome do cliente. O primeiro passo é uma conversa pelo WhatsApp +55 (33) 98465 6356 para entender o que você precisa.
Outros projetos de setor público e educação

E.E. Dr. João Beraldo
Site e plataforma de cursos de uma escola estadual, com aulas, prova final e certificado com código de validação.
Escola estadual de Ensino Médio em Tempo Integral em Carlos Chagas, MG
Ver o projeto
Escola IDEC
Site de uma escola de capacitação de servidores públicos, com catálogo de cursos, cronograma editável e captação de contatos.
Instituto de educação continuada que capacita servidores públicos municipais
Ver o projeto