Blipay Case 🪙

Descrição

Foi desenvolvida uma API que realiza a análise de crédito de clientes para determinar a aprovação ou não de um empréstimo. As variáveis consideradas no cálculo do score de crédito incluem idade, renda mensal e a temperatura da cidade local.

Funcionalidades principais

  • Análise de Score: Recebe os dados do cliente e retorna se o empréstimo foi aprovado ou não com base no cálculo do score.
  • Consulta de Análises: Permite consultar todas as análises de crédito realizadas por CPF.

👩‍💻 Tecnologias Utilizadas

  • Linguagem de Programação: Java 17
  • Framework: Spring
  • Banco de Dados: H2
  • Testes: JUnit

⚙️ Como Executar

  1. Clone o repositório em uma pasta de sua preferência
git clone git@github.com:julianaando/blipay-case.git
  1. Entre na pasta que você acabou de clonar e instale as dependências
mvn clean install
  1. Rode o projeto
mvn spring-boot:run

Para rodar os testes, entre no diretório src/test/java/com/example/LoanApprovalSystem/service e execute o comando

mvn test

📚 Documentação (endpoints)

📝 Leads

Análise de Score(POST)
Método Funcionalidade URL
POST Cadastra um novo cliente e analisa seu score, para validar a liberação do empréstimo http://localhost:8080/score/calculate
A estrutura do corpo da requisição deve seguir o padrão abaixo:
{
  "name": "String",
  "age": "Integer",
  "cpf": "String",
  "monthlyIncome": "BigDecimal",
  "city": "String"
}
Um exemplo de resposta bem-sucedida com status 200 é:
{
  "Parabéns, o seu score é 232 e seu empréstimo foi aprovado."
}

❌ A requisição irá falhar se algum dos atributos não for preenchido corretamente ou estiver ausente. O endpoint retornará um erro 400

Consultas por CPF (GET)
Método Funcionalidade URL
GET Consulta todas as análises de crédito realizadas por CPF http://localhost:8080/score/cpf/{cpf}
Um exemplo de resposta bem-sucedida com status 200 é:
[
  {
    "cpf": "012345678900",
    "score": 232,
    "createdAt": "2024-06-12T19:30:28.788+00:00"
  },
  // "Outras análises..."
]

❌ A requisição irá falhar se não houver nenhuma análise de crédito cadastrada para o CPF. O endpoint retornará um erro 404