Skip to content

Esse é um projeto desenvolvido como base para a avaliação de habilidades técnicas para o papel de Desenvolvedor Backend Java da empresa Olisaúde.

Notifications You must be signed in to change notification settings

brtiago/teste-dev-backend

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend Developer Challenge Olisaúde

@tgribeiro Desafio

💻 Sobre o projeto

Esse é um projeto desenvolvido como base para a avaliação de habilidades técnicas para o papel de Desenvolvedor Backend Java da empresa Olisaúde. Para mais detalhes a respeito do desafio é recomendada a leitura do seu arquivo README.

🎯 Objetivos

Criar uma API simples para gerenciar Clientes.

Funcionalidades desejadas:

  • Criar um cliente
  • Editar um cliente
  • Obter um cliente específico
  • Listar clientes

Um Cliente deve ter os seguintes campos:

  • nome
  • data de nascimento
  • sexo
  • [ problemas de saude ]
  • data de criação
  • data de atualização
Problemas de Saúde
  • nome
  • grau do problema (de 1 a 2)
    ex: diabetes, grau 2
    

Criar um endpoint para trazer os 10 clientes com maior risco de saúde, no qual o cálculo é:

  sd = soma do grau dos problemas
  score = (1 / (1 + eˆ-(-2.8 + sd ))) * 100

⛔ O que NÃO será implementado

  • Frontend (só implementaremos a API Restful)
  • Autenticação

Práticas adotadas

  • SOLID, Clean code
  • Consultas com Spring Data JPA
  • Injeção de Dependências
  • Tratamento de respostas de erro
  • Geração automática do Swagger com a OpenAPI 3
  • Testes automatizados
  • Uso de DTOs para a API

🛠 Tecnologias utilizadas

As seguintes tecnologias foram utilizadas no desenvolvimento da API Rest do projeto:

Como Executar

  • Clonar repositório git
  • Construir o projeto:
$ ./mvnw clean package
  • Executar a aplicação:
$ java -jar target/todolist-0.0.1-SNAPSHOT.jar

A API poderá ser acessada em localhost:8080. O Swagger poderá ser visualizado em localhost:8080/swagger-ui/index.html

API Endpoints

Para fazer as requisições HTTP abaixo, foi utilizada a ferramenta curl:

  • Editar um cliente

  • Obter um cliente específico

  • Listar clientes

  • Criar um cliente

$ curl -X POST -H "Content-Type: application/json" -d '{
  "name": "João Anonimo",
  "birthDate": "1993-02-22",
  "gender": "MALE",
  "healthProblem": [
    {
      "name": "DEPRESSION"
    },
    {
      "name": "ASHMA"
    }
  ]
}' http://localhost:8080/customer

  • Detalhar planeta pelo ID
$ curl http://localhost:8080/planets/1
[
  {
    "id":1,
    "name":"Tatooine",
    "climate":"arid",
    "terrain":"desert",
    "filmCount":"5"
  }
]

📝 Materiais úteis

About

Esse é um projeto desenvolvido como base para a avaliação de habilidades técnicas para o papel de Desenvolvedor Backend Java da empresa Olisaúde.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • Java 100.0%