Oficinas mecânicas geralmente lidam com muitas informações operacionais ao mesmo tempo: histórico de clientes e veículos, agenda de atendimentos, status de serviços, disponibilidade de peças, desempenho da equipe e controle administrativo. Quando esses dados ficam em planilhas, mensagens ou anotações soltas, a operação perde previsibilidade, aumenta o risco de retrabalho e dificulta a tomada de decisão.
O OficinaPro foi desenvolvido para resolver esse problema com uma plataforma centralizada, visualmente profissional e orientada ao uso diário da oficina.
Desenvolvi uma aplicação web SaaS com landing page pública, autenticação, áreas protegidas, dashboard operacional e módulos de negócio integrados ao banco de dados. A arquitetura foi criada com foco em segurança, isolamento por oficina, manutenção modular e validação das regras no servidor.
O sistema utiliza uma estrutura multi-tenant, em que a organização e a oficina ativa são derivadas da sessão do usuário. Isso permite que cada oficina acesse somente seus próprios dados e prepara a base para cenários com múltiplas unidades.
- Landing page pública com apresentação do produto, planos, recursos e depoimentos aprovados.
- Autenticação com e-mail e senha usando Auth.js.
- Separação entre administração da plataforma e dashboard da oficina.
- Dashboard operacional com indicadores, gráficos, alertas, agenda do dia, ordens recentes e desempenho da equipe.
- Cadastro e gestão de clientes e veículos.
- Agenda com controle de horários já reservados por data.
- Ordens de serviço com status, serviços, responsáveis e histórico operacional.
- Controle de estoque com imagens dos itens e alertas de baixo estoque.
- Gestão de colaboradores e equipe com fotos, filtros, busca, paginação e visualizações em grade e lista.
- Perfil do usuário e dados da oficina.
- Upload de imagens com Cloudinary para avatar, logo da oficina, estoque e equipe.
- Planos Básico e Profissional integrados ao Stripe Checkout.
- Webhook Stripe para sincronizar assinatura, plano e status no banco.
- Permissões por plano aplicadas no menu e também validadas no servidor.
- Página de planos com status da assinatura e ação de cancelamento.
- Feedback da plataforma salvo no banco com status pendente para aprovação manual antes de aparecer na página inicial.
- Next.js App Router
- React
- TypeScript
- Tailwind CSS v4
- shadcn/ui
- Lucide React
- Motion
- Prisma ORM
- PostgreSQL/Neon
- Auth.js v5
- React Hook Form
- Zod
- Stripe
- Cloudinary
O projeto segue uma arquitetura server-first, com separação clara entre interface, validação, regras de negócio, acesso a dados e persistência.
Fluxo principal adotado:
Interface -> Server Action -> Data Access -> Prisma -> PostgreSQL
As funcionalidades foram organizadas por módulo e rota, mantendo código específico em pastas como _components, _actions, _data-access, _schemas, _types, _utils e _services. Componentes compartilhados ficam isolados em src/components/ui, enquanto regras reutilizáveis, como permissões por plano, ficam centralizadas em src/features.
As páginas protegidas validam sessão, perfil, assinatura e contexto de oficina no servidor antes de acessar dados sensíveis. Essa abordagem reduz o risco de vazamento entre tenants e evita depender apenas da interface para controle de acesso.
- Modelar uma base multi-tenant com Organization, Workshop, usuários e memberships.
- Garantir isolamento de dados por organização e oficina em consultas, actions e rotas protegidas.
- Integrar Stripe Checkout com webhooks assinados, tratando eventos assíncronos e estados de assinatura.
- Aplicar permissões por plano tanto na sidebar quanto no acesso direto por URL.
- Implementar uploads de imagem reutilizando serviços existentes e preservando validações.
- Criar dashboards e módulos operacionais com dados reais, sem depender de métricas fictícias.
- Manter uma interface dark, premium e responsiva sem alterar o layout global em correções pontuais.
- Preparar o projeto para deploy com validações de lint, TypeScript, build, Prisma, segurança e variáveis de ambiente.
- MVP funcional com área pública, autenticação, dashboard e módulos operacionais conectados ao banco.
- Regras de acesso por plano centralizadas e validadas também no servidor.
- Integração com Stripe preparada para assinatura, status, cancelamento e webhook.
- Uploads integrados ao Cloudinary nos principais fluxos com imagem.
- Roadmap técnico documentado por fases, com validações e pendências registradas.
- Projeto preparado para publicação controlada, aguardando apenas configurações finais de ambiente e validações de produção e homologação.
- Planejamento e condução do roadmap técnico do produto.
- Desenvolvimento full-stack da landing page, autenticação, dashboard e módulos operacionais.
- Modelagem do banco de dados com Prisma e aplicação de migrations.
- Implementação de regras de segurança, autorização e isolamento por tenant.
- Integração com Stripe para planos e assinaturas.
- Integração com Cloudinary para upload de imagens.
- Criação de interfaces responsivas com foco em uma experiência premium para o segmento automotivo.
- Documentação técnica de execução local, deploy, rollback e validações.
Login: oficina@oficinapro.com.br
Senha: admin123

