Skip to content

fvandrad/oficina-mecanica-azul

Repository files navigation

Sistema de Gestão de Oficina Mecânica

🔧 Sistema completo de gestão para oficinas mecânicas desenvolvido com Vue.js 3, Tailwind CSS, TypeScript e Vite.

📋 Sobre o Projeto

Sistema web responsivo para gestão completa de oficinas mecânicas, incluindo controle de clientes, veículos, serviços, peças, ordens de serviço e dashboard com relatórios em tempo real. O projeto utiliza IndexedDB para armazenamento local dos dados.

🤖 Desenvolvimento com IA

Este projeto foi desenvolvido com o auxílio de ferramentas de Inteligência Artificial, incluindo GitHub Copilot e outros assistentes de IA, para demonstrar as melhores práticas de desenvolvimento moderno e acelerar o processo de criação.

🛠️ Tecnologias Utilizadas

  • Vue.js 3 - Framework JavaScript progressivo
  • TypeScript - Superset do JavaScript com tipagem estática
  • Tailwind CSS - Framework CSS utilitário
  • DaisyUI - Componentes para Tailwind CSS
  • Vite - Build tool e dev server rápido
  • Composition API - API moderna do Vue 3 com <script setup>
  • IndexedDB - Banco de dados local do navegador
  • VueUse - Coleção de utilitários para Vue 3

📦 Pré-requisitos

  • Node.js (versão 16 ou superior)
  • npm ou yarn

🚀 Como Executar

  1. Clone o repositório

    git clone <url-do-repositorio>
    cd oficina-vue-tailwind
  2. Instale as dependências

    npm install
  3. Execute o projeto em modo de desenvolvimento

    npm run dev
  4. Acesse no navegador

    http://localhost:5173
    

🏗️ Scripts Disponíveis

  • npm run dev - Inicia o servidor de desenvolvimento (localhost:5173)
  • npm run build - Gera a build de produção
  • npm run preview - Visualiza a build de produção localmente
  • npm run type-check - Verifica os tipos TypeScript

🚀 Funcionalidades Técnicas

Arquitetura

  • Composition API com <script setup>
  • TypeScript para tipagem forte
  • Composables para lógica reutilizável
  • Reactive state com Vue 3
  • Component communication via eventos

Banco de Dados

  • IndexedDB para persistência local
  • Transações para operações complexas
  • Validação de dados em tempo real
  • Backup/Restore em formato JSON

Performance

  • Lazy loading de componentes
  • Computed properties para otimização
  • Virtual scrolling para listas grandes
  • Debounced search em filtros

UX/UI

  • Loading states em operações async
  • Error handling com mensagens claras
  • Confirmation dialogs para ações críticas
  • Responsive design mobile-first

📁 Estrutura do Projeto

oficina-vue-tailwind/
├── public/                    # Arquivos estáticos
│   ├── backup-oficina-demo.json  # Dados de exemplo
│   └── vite.svg
├── src/
│   ├── components/            # Componentes Vue reutilizáveis
│   │   ├── ClientesList.vue      # Gestão de clientes
│   │   ├── VeiculosList.vue      # Gestão de veículos
│   │   ├── ServicosList.vue      # Gestão de serviços
│   │   ├── PecasList.vue         # Gestão de peças/estoque
│   │   ├── OrdemServicoList.vue  # Gestão de ordens de serviço
│   │   └── Dashboard.vue         # Dashboard com relatórios
│   ├── composables/           # Composables Vue
│   │   └── useSorting.ts         # Hook para ordenação de dados
│   ├── services/              # Camada de dados e serviços
│   │   ├── db.ts                 # Gerenciamento IndexedDB
│   │   ├── types.ts              # Tipos TypeScript
│   │   ├── validators.ts         # Validadores de dados
│   │   └── *Service.ts           # Serviços específicos por entidade
│   ├── assets/                # Recursos (imagens, estilos)
│   ├── App.vue                # Componente raiz
│   └── main.ts                # Ponto de entrada da aplicação
├── index.html                 # Template HTML principal
└── package.json               # Dependências e scripts

🎯 Funcionalidades Implementadas

📊 Dashboard

  • Visão geral com estatísticas em tempo real
  • Gráficos de ordens de serviço por status
  • Alertas de estoque baixo
  • Relatório de faturamento
  • Ordens de serviço recentes
  • Exportação e importação de dados
  • Reset do banco de dados

👥 Gestão de Clientes

  • Cadastro, edição e exclusão de clientes
  • Validação de dados (nome, email, telefone, CPF)
  • Sistema de busca e filtros
  • Ordenação por colunas
  • Interface responsiva

🚗 Gestão de Veículos

  • Cadastro de veículos vinculados aos clientes
  • Controle de placa, modelo e ano
  • Filtros por cliente, placa, modelo
  • Integração com ordens de serviço
  • Validação de dados

🔧 Gestão de Serviços

  • Cadastro de tipos de serviços
  • Controle de valores e status
  • Histórico de serviços por veículo
  • Sistema de busca e filtros
  • Edição inline de dados

📦 Gestão de Peças/Estoque

  • Controle completo de estoque
  • Alertas de estoque baixo/crítico
  • Preços de compra e venda
  • Status automático por quantidade
  • Integração com ordens de serviço
  • Validação de quantidades

📋 Ordens de Serviço

  • Criação e gestão completa de O.S.
  • Vinculação de serviços e peças
  • Controle de status (aberta, em andamento, concluída, cancelada)
  • Cálculo automático de valores
  • Baixa automática no estoque
  • Impressão de O.S.
  • Compartilhamento via WhatsApp
  • Filtros avançados por data, cliente, status
  • Numeração automática

💾 Persistência de Dados

  • Armazenamento local com IndexedDB
  • Backup e restauração de dados
  • Dados de demonstração inclusos
  • Sistema de validação completo

🎨 Interface e UX

  • Design responsivo e moderno
  • Tailwind CSS para estilização
  • Componentes reutilizáveis
  • Feedback visual (loading, mensagens)
  • Modais para formulários
  • Ordenação de tabelas
  • Sistema de filtros

📚 Recursos de Aprendizado

🎯 Características do Sistema

Gestão Completa

Sistema completo para oficinas mecânicas com todas as funcionalidades necessárias para o dia a dia, desde o cadastro de clientes até a emissão de ordens de serviço.

Dados Locais

Todos os dados são armazenados localmente no navegador usando IndexedDB, garantindo privacidade e funcionamento offline.

Interface Moderna

Design responsivo e moderno usando Tailwind CSS, com componentes bem estruturados e experiência de usuário otimizada.

TypeScript

Código totalmente tipado em TypeScript, garantindo maior segurança e produtividade no desenvolvimento.

📊 Exemplo de Uso

  1. Cadastre clientes na aba correspondente
  2. Adicione veículos vinculados aos clientes
  3. Configure serviços e peças no estoque
  4. Crie ordens de serviço combinando serviços e peças
  5. Acompanhe tudo no dashboard com relatórios em tempo real

🤝 Contribuindo

  1. Faça um fork do projeto
  2. Crie uma branch para sua feature (git checkout -b feature/AmazingFeature)
  3. Commit suas mudanças (git commit -m 'Add some AmazingFeature')
  4. Push para a branch (git push origin feature/AmazingFeature)
  5. Abra um Pull Request

📄 Licença

Este projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.


⭐ Se este projeto te ajudou, considere dar uma estrela!

About

🔧 Sistema completo de gestão para oficinas mecânicas desenvolvido com Vue.js 3, Tailwind CSS, TypeScript e Vite.

Topics

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages