Web/ERP Rodrigues Denoni Engenharia

Web/ERP Rodrigues Denoni Engenharia

Sistema ERP completo para centralizar clientes, contratos, finanças e projetos de um escritório de engenharia, substituindo processos manuais por controle em tempo real.

Repositório privado — O código-fonte é de propriedade da empresa e não está disponível publicamente. Os dados exibidos nas imagens são fictícios e têm caráter exclusivamente ilustrativo.

Resumo

O ERP Rodrigues Denoni Engenharia foi desenvolvido para digitalizar e centralizar toda a operação de um escritório de engenharia civil — da gestão financeira ao acompanhamento de obras em campo. O sistema cobre desde o cadastro de clientes, fornecedores e colaboradores até o controle de contratos, ordens de serviço, manutenção de frota e folha de pagamento, substituindo processos manuais fragmentados por uma plataforma integrada acessível em qualquer dispositivo.

O Desafio

O escritório operava com planilhas dispersas, comunicação informal e sem nenhuma visibilidade centralizada sobre o que acontecia em campo ou nas finanças. Engenheiros registravam o andamento das obras em cadernos, o controle de horas dos colaboradores era feito manualmente, os extratos bancários precisavam ser conciliados na mão e os clientes não tinham nenhuma forma de acompanhar o status de suas obras. Cada área funcionava de forma isolada, gerando retrabalho, inconsistências e dificuldade de tomada de decisão.

A Solução

Desenvolvi um ERP completo com back-end em Python (FastAPI) e front-end em React + TypeScript, totalmente containerizado com Docker. A arquitetura foi desenhada para cobrir todos os fluxos operacionais do escritório em um único sistema, com controle de acesso por perfil (admin, engenheiro, cliente) e interface responsiva que funciona tanto no desktop quanto no celular para uso em campo.

Funcionalidades

Financeiro

  • Lançamento de receitas e despesas com categorização e histórico
  • Conciliação bancária via importação de extratos no formato OFX
  • Geração de relatórios financeiros e exportação em PDF
Módulo financeiro

Módulo financeiro — lançamentos, conciliação bancária e relatórios

Obras e contratos

  • Cadastro e acompanhamento de contratos com cronograma, status e histórico de alterações
  • Diário de obras: registro de atividades, ocorrências e fotos diretamente pelo celular em campo
  • Recebimento de obras com registro de etapas e documentação
Diário de obras

Diário de obras — registro de atividades e ocorrências pelo celular em campo

Acompanhamento de obras

Obras e contratos — cronograma, status e recebimento de etapas

Clientes e fornecedores

  • Cadastro completo de clientes, fornecedores e colaboradores
  • Portal do cliente: acompanhamento de ordens de serviço, status de obras e pagamentos pendentes em tempo real

Frota e sinistros

  • Controle de manutenção preventiva e corretiva de veículos
  • Registro e acompanhamento de sinistros com histórico e documentação
Módulo de frota e veículos

Frota e sinistros — manutenção de veículos e registro de ocorrências

Pessoas e pagamentos

  • Registro de ponto e horas trabalhadas por colaborador
  • Geração automática de planilhas de pagamento com base nos registros de horas
Módulo de registro de horários

Registro de horários — controle de ponto e geração de planilhas de pagamento

Stack

Back-end

TecnologiaUso
FastAPIFramework web assíncrono
SQLAlchemyORM
PostgreSQLBanco de dados relacional
AlembicMigrations
PydanticValidação de dados
JWT + bcryptAutenticação e hash de senhas
ofxparseParser de extratos bancários OFX
boto3Integração com S3 / MinIO
pytestTestes automatizados

Front-end

TecnologiaUso
React + TypeScriptUI tipada e escalável
TanStack RouterRoteamento type-safe
TanStack QueryEstado do servidor e cache
React Hook Form + ZodFormulários com validação
Tailwind CSSEstilização utilitária
shadcn/ui + Radix UIComponentes acessíveis (WCAG 2.1 AA)
RechartsGráficos e dashboards
jsPDFGeração de PDFs
AxiosCliente HTTP
ViteBuild tool e dev server

Infraestrutura

ServiçoUso
Docker + Docker ComposeContainerização
NginxReverse proxy e SPA fallback
MinIOStorage S3-compatible (desenvolvimento)
Backblaze B2Bucket storage de imagens e documentos (produção)
RailwayHospedagem em produção

Arquitetura

O projeto segue Clean Architecture no back-end, com separação clara de responsabilidades:

Requisição HTTP
      ↓
  routers/       ← recebe e valida a entrada
      ↓
  services/      ← lógica de negócio e regras
      ↓
   models/       ← acesso ao banco (SQLAlchemy)
      ↓
  PostgreSQL

Estrutura do Projeto

rodrigues-denoni-engenharia/
├── backend/
│   ├── app/
│   │   ├── routers/          # Endpoints da API (17 módulos)
│   │   ├── services/         # Lógica de negócio
│   │   ├── models/           # Models SQLAlchemy (21 entidades)
│   │   ├── schemas/          # Pydantic schemas
│   │   ├── dependencies/     # Injeção de dependências (auth, permissões)
│   │   ├── core/             # Database, rate limiting
│   │   └── utils/            # Funções auxiliares
│   └── alembic/              # Migrations
│
├── frontend/
│   └── src/
│       ├── routes/           # Páginas (TanStack Router)
│       ├── components/
│       │   └── ui/           # shadcn/ui (24+ componentes)
│       ├── lib/              # Queries, utils, gerador de PDF
│       ├── hooks/            # Custom hooks
│       └── contexts/         # AuthContext
│
├── nginx/                    # Configurações dev e produção
├── docker/                   # Docker Compose
├── docs/                     # Documentação técnica
└── scripts/                  # Scripts de backup e manutenção

Desenvolvimento

No back-end, o código é organizado em camadas: routers para entrada e validação, services para regras de negócio, models para acesso ao banco e schemas para contratos de dados com Pydantic. Testes automatizados com pytest garantem estabilidade.

No front-end, a interface consome endpoints via Axios com cache inteligente pelo TanStack Query. Formulários com validação via Zod, feedback visual e foco em usabilidade completam a experiência.

Resultados

Após o lançamento, o sistema trouxe ganhos concretos:

  • Gestão financeira centralizada, eliminando planilhas dispersas e reduzindo erros de digitação
  • Acompanhamento de contratos e prazos em tempo real, com histórico detalhado
  • Redução significativa do tempo gasto em tarefas repetitivas
  • Maior transparência entre as equipes, tornando o fluxo de trabalho mais ágil e confiável
  • Pipeline de CI/CD com Docker garantindo deploys rápidos e reprodutíveis