/Manutencao-Equipamentos

Sistema para controle de manutenção de equipamentos

Primary LanguageJava

Projuris

Este projeto é uma API de controle de manutenção de equipamentos, nele controlaremos todos os estágios da execução de um serviço. Nossas funcionalidades são:

  • Listar Clientes
  • Cadastrar Cliente
  • Listar Ordem de Serviços
  • Lista Ordem de Serviços resumida
  • Cadastrar Ordem de Serviço
  • Cancelar ordem de serviço
  • Concluir ordem de serviço
  • Iniciar atendimento da ordem de serviço
  • Pausar ordem de serviço
  • Retomar ordem de serviço
  • Filtrar Ordem de Serviço por responsável

Tecnologias

O projeto foi inteiramente desenvolvido na linguagem de programação Java, porém para obter a melhor performance utilizamos alguns frameworks e bibliotecas, são elas:

  • Spring Boot
  • Spring Data JPA
  • Spring Data JDBC
  • Spring Devtools
  • SpringFox Swagger
  • Lombok
  • Flyway
  • Querydsl
  • ModelMapper

O que você precisa

  • Cerca de 15 minutos
  • Um editor de texto ou IDE favorito
  • JDK 12 ou posterior
  • Maven 3.2+

Como começar

Baixe e descompacte o repositório de origem ou clone-o usando o comando:

git clone https://github.com/victtorfreitas/Manutencao-Equipamentos.git 

Abra o diretório Manutencao-Equipamentos e execute o comando:

mvn spring-boot:run 

Documentação

Este projeto foi documentado através do Swagger, para acessar sua documentação você deve inicializar o projeto e logo em seguida acessar o link:

Futuras melhorias

  • Adicionar a funcionalidade de inserir um resultado sem alterar o status da ordem de serviço;
  • Adicionar a funcionaliadde de inserir funcionário;
  • Adicionar a funcionaliadde de listar equipamentos por cliente;
  • Adicionar a funcionalidade de listar os funcionários sem demanda;
  • Adicionar a funcionalidade de atualizar dados cadastrais do cliente;
  • Adicionar regra de ao inserir um resultado desabilitar o anterior;

Desafio

Um dos principais desafios desse projeto foi estruturar de forma modular, ao finalizar o desenvolvimento da primeria versão percebi que a forma que estruturei o projeto não foi a mais adequada e provavelmente mudarei na segunda versão. O problema dessa estrutura é a grande quantidade de separações, mantendo a navegação e o fácil entendimento do projeto um pouco complicado. Tenho em mente manter a arquitetura porém mudar a estruturação de forma que a modulação do projeto não se torne um problema de escalabilidade.

Autor

  • Victtor Araújo Freitas

Licença

MIT

Software Livre, É isto!