Git Product home page Git Product logo

system-order-service's Introduction

System Order Service - SOS

Este é um projeto realizado para a matéria estágio supervisionado no curso de Ciência da Computação no CEUB. É uma aplicação responsável pelo gerenciamento de ordens de serviço. O fluxo básico da aplicação é:

  1. Um cliente cria uma ordem de serviço

  2. Um administrador visualizar ordens de serviço e distribui para desenvolvedores atenderem o serviço, até certo prazo de dias.

  3. O desenvolvedor visualiza as ordens de serviço atribuídas a ele. Realiza o trabalho e finaliza a ordem de serviço.

Setup para rodar o projeto

Usando o docker para rodar a aplicação completa(Backend Server e MySQL Server)

Clonando o repositório

$ git clone [email protected]:julioomoura/system-order-service.git

Rodando a aplicação

$ docker-compose up --build

Só esperar o build e a execução do projeto. Por padrão a aplicação está sendo exposto na porta 8080.

Rodando a aplicação no terminal

Para instalar o Java 11 podemos utilizar o sdkman

$ curl -s "https://get.sdkman.io" | bash
$ source "$HOME/.sdkman/bin/sdkman-init.sh"

Usar a versão 11 do Java

$ sdk env

Rodando a aplicação utilizando o Maven

$ ./mvnw spring-boot:run

Qualidade do código

O projeto utiliza o Spotless para validação e auto-formatação de código.

Para validar se o código está de acordo com as regras:

$ ./mvnw spotless:check

Para auto-formatação do código:

$ ./mvnw spotless:apply

system-order-service's People

Contributors

julioomoura avatar juliomoura-ilia avatar linsgb avatar

Watchers

Neustradamus avatar  avatar

Forkers

felipemaia02

system-order-service's Issues

Adicionar swagger-codegen

Com o objetivo de facilitar a integração da aplicação a partir de outros serviços, é interessante utilizar os contratos(Swagger/OpenAPI). Dessa forma, fica mais fácil para outros desenvolvedores entenderem como funciona a API e, ainda, facilita a criação e manutenção de DTO's.

  • Adicionar dependência e plugin
  • Escrever arquivo api.yml
  • Refatorar controller para implementar a interface criada e utilizar novos DTO's

Refatoração de queries de busca ordens de serviços.

No endpoint buscaOrdensDeServic foi criado um método para cada combinação de filtros(devId, clienteId, status) possível.

Isso é insustentável, porque o aumento de filtros gera um aumento exponencial(2^n) de queries pré-definidas.

Seria interessante unificar em único método que recebecesse todos os filtros.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.