EmmaVZ89 /
JavaScript-Challenges-Codewars
Repositorio con las soluciones a desafíos de código en CodeWars
Loading repository data…
NExT-2023-1 / repository
Repositório de código do desafio proposto no final do modulo spring boot do curso NExT 2023.1
Bem-vindo ao teste de teste de recrutamento do NExT 2023.1. Aqui no NExT nós realmente valorizamos código de qualidade, e este teste foi projetado para permitir que você nos mostre como você acha que código de qualidade deve ser escrito.
Para permitir que você se concentre no design e na implementação do código, adicionamos todos os casos de uso que esperamos que você implemente no final das instruções. Em troca, pedimos que você certifique-se de que sua implementação siga todas as melhores práticas que você conhece e que, no final, o código que você enviar seja um código do qual você se orgulhe.
Precisamos de pessoas com energia, integridade e inteligência, que aprendam rápido e que gostem de conhecer e aplicar novas tecnologias.
O tempo sugerido para conclusão do desafio é de 4 dias, mas não é uma regra! Não temos prazo para entrega, queremos que você se dedique e demonstre a qualidade de seu código. Estamos mais interessados em observar a qualidade da solução do que o tempo que você vai demorar.
Estamos interessados em ver como você aborda o desafio, portanto, crie commits e envie-os com mais regularidade do que normalmente faria para que possamos ver cada etapa do desafio.
Nesse desafio, você irá desenvolver uma API REST, que atende a empresa NExT Seguros. Agora você irá praticar o que você aprendeu até agora no modulo de java do NExT sobre Java e Spring Boot, para criar uma pequena API para pedidos de seguros.
Essa será uma API que receberá requisições de um aplicativo movel, e retornará e filtrará as linhas de seguro da NExT Seguros e permitirá a analise de perfil do cliente.
O NExT oferece aos seus usuários um pacote de seguros personalizado de acordo com suas necessidades específicas, sem exigir que o usuário entenda nada sobre seguros. Isso permite que o NExT atue como seu consultor de seguros de fato.
O NExT determina as necessidades de seguro do usuário fazendo perguntas pessoais e relacionadas a riscos e coletando informações sobre o veículo e a casa do usuário. Usando esses dados, O NExT determina seu perfil de risco para cada linha de seguro e então sugere um plano de seguro ( "econômico", "regular", "responsável") correspondente ao seu perfil de risco.
Você foi encarregado de criar um serviço que calcule a analise dos seguros e para este desafio, você criará uma versão simplificada desse aplicativo codificando um endpoint de API simples que recebe uma carga JSON com as informações do usuário e retorna seu perfil de risco (JSON novamente).
Na data marcada pelo professor tenha sua aplicação rodando na sua máquina local para execução dos testes e para nos mostrar os pontos desenvolvidos e possíveis questionamentos. Faremos um code review junto contigo como se você já fosse do nosso time ❤️, você poderá explicar o que você pensou, como arquitetou e como pode evoluir o projeto.
Aconselho seguir o versionamento semântico e o gitflow para versionar este desafio.
Deve haver uma rota para listar todos os clientes cadastrados;
URL de Requisição
{
}
Retorna um Array dos clientes.
[
{
"id": long,
"name": String,
"age": int,
"dependents": int,
"houses": List [
{
"id": int,
"ownership_status": String,
"location": String,
"zipcode": String
}
],
"income": float,
"marital_status": String,
"vehicles": List [
{
"id": 1,
"brand": String,
"model": String,
"year": int
}
],
"createdAt": Date,
"updatedAt": Date
},
{...},
{...}
]
Deve haver uma rota para cadastrar um cliente no sistema;
Parâmetros
| Parâmetro | Descrição | Tipo de Parâmetro | Tipo de dado | Obrigatório |
|---|---|---|---|---|
name | Nome | body | String | Sim |
age | Idade | body | int | Sim |
dependents | Numero de dependentes | body | int | Sim |
income | Renda | body | float | Sim |
marital_status | estado civil | body | String | Sim |
URL de Requisição
$ curl -i -H "Content-Type:application/json" -d '{"name": "String", "age": "int", "dependents": "int", "income": "float", "marital_status": "String"}' https://localhost:8080/clients
Envia um objeto do tipo cliente com o formato abaixo.
{
"name": String,
"age": int,
"dependents": int,
"income": float,
"marital_status": String
}
Retorna um Array do cliente cadastrado.
[
{
"id": long,
"name": String,
"age": int,
"dependents": int,
"houses": List,
"income": float,
"marital_status": String,
"vehicles": List
}
]
Buscar cliente por ID.
Parâmetros
| Parâmetro | Descrição | Tipo de Parâmetro | Tipo de dado | Obrigatório |
|---|---|---|---|---|
id | ID do cliente | path | long | Sim |
URL de Requisição
{
}
Retorna um Array do cliente cadastrado.
{
"id": long,
"name": String,
"age": int,
"dependents": int,
"houses": List [
{
"id": int,
"ownership_status": String,
"location": String,
"zipcode": String
}
],
"income": float,
"marital_status": String,
"vehicles": List [
{
"id": 1,
"brand": String,
"model": String,
"year": int
}
],
"createdAt": Date,
"updatedAt": Date
}
Atualizar cliente por ID.
Parâmetros
| Parâmetro | Descrição | Tipo de Parâmetro | Tipo de dado | Obrigatório |
|---|---|---|---|---|
id | ID do cliente | path | long | Sim |
name | Nome | body | String | Não |
age | Idade | body | int | Não |
dependents | Numero de dependentes | body | int | Não |
income | Renda | body | float | Não |
marital_status | estado civil | body | String | Não |
URL de Requisição
$ curl -X PUT -H "Content-Type:application/json" -d '{"name": "String", "age": "int", "dependents": "int", "income": "float", "marital_status": "String"}' https://localhost:8080/clients/{id}
{
"name": String,
"age": int,
"dependents": int,
"income": float,
"marital_status": String
}
Retorna um Array do cliente cadastrado.
{
"id": long,
"name": String,
"age": int,
"dependents": int,
"houses": List [
{
"id": int,
"ownership_status": String,
"location": String,
"zipcode": String
}
],
"income": float,
"marital_status": String,
"vehicles": List [
{
"id": 1,
"brand": String,
"model": String,
"year": int
}
],
"createdAt": Date,
"updatedAt": Date
}
Exclui um cliente por ID.
Parâmetros
| Parâmetro | Descrição | Tipo de Parâmetro | Tipo de dado | Obrigatório |
|---|---|---|---|---|
id | ID do cliente | path | long | Sim |
URL de Requisição
$ curl -X DELETE https://localhost:8080/clients/{id}
{
}
Retorna um Array do cliente, suas casas e veículos deletados.
lembrando que ao deletar um cliente as suas casas e veículos também deverão ser deletados.
{
"id": long,
"name": String,
"age": int,
"dependents": int,
"houses": List [
{
"id": int,
"ownership_status": String,
"location": String,
"zipcode": String
}
],
"income": float,
"marital_status": String,
"vehicles": List [
{
"id": 1,
"brand": String,
"model": String,
"year": int
}
],
"createdAt": Date,
"updatedAt": Date
}
Listar todas as casas, Filtrar casas por zipcode.
Parâmetros
| Parâmetro | Descrição | Tipo de Parâmetro | Tipo de dado | Obrigatório |
|---|---|---|---|---|
zipcode | cep da casa | query | String | Não |
URL de Requisição
Selected from shared topics, language and repository description—not editorial ratings.
EmmaVZ89 /
Repositorio con las soluciones a desafíos de código en CodeWars
Pedro-Josue /
Repositório destinado ao código para a terceira sprint da matéria de DDD-Java.
PedroSodreUFES /
Repositório para guardar os códigos do desafio de frontend de uma aplicação de visualização de em cursos usando Java.
becaliraa /
Este repositório contém soluções em Java para dois desafios práticos de lógica desenvolvidos durante o curso da DIO. A proposta é treinar pensamento computacional e estruturação de código limpo e reutilizável.
jhonnyxjj /
Este repositório contém exercícios de lógica de programação que desenvolvi em JavaScript para aprimorar minhas habilidades em resolução de problemas e pensamento crítico. Cada desafio foi criado com o objetivo de fortalecer minha capacidade de escrever código eficiente e estruturado.
yuribrito01 /
Esse repositório foi criado para armazenar os códigos de um desafio de 30 dias fazendo exercícios de Java Script