JetCustoms: toda a oficina num só sistema, em três meses.

O desafio
Uma oficina de personalização automóvel com dez colaboradores funcionava com Excel, PDFs feitos à mão e folhas de ponto em papel, reimpressas sempre que um plano mudava. O mesmo trabalho vivia em vários deles sem nada que os ligasse, pelo que os números não podiam ser cruzados nem validados com facilidade.
O que fizemos
Um engenheiro sénior, três meses, da primeira conversa à produção. ERP, finanças, RH, CRM e um CMS como um só produto, numa só base de dados, sobre um único modelo de dados: cada hora, peça e viatura registada uma vez e ligada em vez de copiada, para que os números fechem por construção e a análise de negócio tenha uma base sobre a qual crescer. Entregue com um manual e um guia de engenharia, para que a oficina não fique dependente de nós.
O que abrange
| Módulo | O que faz | Substituiu |
|---|---|---|
| ERP | Projetos, viaturas, horas, materiais, aprovações | Excel, WhatsApp |
| Finanças | Notas de acerto, tarifas por secção, extratos em PDF | PDFs feitos à mão |
| RH | Folhas de ponto, horários, férias e ausências | Papel, reimpresso |
| CRM | Clientes, responsáveis de conta, seguimentos automáticos | Memória |
| CMS | Conteúdo público em duas línguas; rascunhos, pré-visualização, publicação num clique | Uma agência |
Como está construído
| Área | Implementação |
|---|---|
| Autorização | Row-level security em todas as tabelas. Cinco perfis relevantes para o domínio, mais do que um por utilizador |
| Autenticação | Palavra-passe ou magic link, com fornecedor substituível. Uma conta nova não lê nada até ser aprovada |
| Integridade de dados | Os totais são colunas geradas e triggers, não aritmética aplicacional. Linhas de acerto imutáveis depois de emitidas, com um teste de paridade sobre cada total |
| Transferência de ficheiros | URLs assinados de uso único diretos para armazenamento de objetos. Nenhum byte de ficheiro passa pelo servidor |
| Alterações de esquema | Primeiro em desenvolvimento, sempre. Migrações ordenadas e registadas, nunca alteradas à mão. Os tipos são gerados a partir do esquema no mesmo commit e a CI falha se os dois divergirem |
| Testes | Testes unitários, uma matriz de RLS e o teste de paridade, na CI contra uma base de dados real. Lint sem avisos. Os scripts destrutivos são testados para recusar em produção |
| Ambientes | Dois: produção e um clone descartável do seu esquema e dados para desenvolvimento. As cópias seguem num só sentido. O clone fica fora dos resultados de pesquisa |
| Build e deploy | Um workflow por branch: verificações, migração, regeneração de tipos, testes SQL, build, deploy. É o pipeline que desencadeia o deploy, não o commit, para que nenhuma versão chegue antes da sua migração |
O resultado
- 3 meses
- da primeira chamada à produção
- [−80%]
- de tempo administrativo por fatura
- [2×]
- mais rápido do trabalho feito ao recebimento
A versão técnica
O mesmo trabalho, escrito para quem tem de manter o sistema: porque é que cinco domínios de negócio ficaram num único esquema, o que isso traz e o que custa. Em inglês.
Ler na Corvale EngineeringComece com uma resposta clara.
Uma avaliação técnica a preço fixo, sem compromisso posterior. Ou simplesmente marque uma chamada.