Skip to content

erichiroshi/desafio-backend-backendbrasil-emprestimos

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Backend Brasil Logo

Desafio Backend - Empréstimos

License: MIT Language: Java Version: 1.0


🧭 Visão Geral

Este projeto foi desenvolvido como parte do desafio técnico Backend Brasil e implementa um serviço que determina quais modalidades de empréstimo uma pessoa tem acesso..


📚 Sumário


⚙️ Tecnologias Utilizadas

Tecnologia Finalidade
Java 25 Linguagem principal
🍃 Spring Boot 3.5.7 Framework de aplicação
🩺 Spring Boot Actuator Monitoramento e métricas da aplicação
Spring Boot DevTools Hot reload e ferramentas de desenvolvimento
Spring Boot Validation (Jakarta) Validação de dados de entrada via anotações (@NotNull, @Blank, etc.)
🌐 Spring Web (Spring MVC) Criação de endpoints RESTful
RFC 9457 Problem Details Tratamento de erros
📘 Springdoc OpenAPI (Swagger UI) Documentação interativa da API
🧰 Lombok Redução de boilerplate

🏗️ Arquitetura da Solução

[Cliente / Postman / Swagger UI]
        ↓
  REST API (Spring Boot)
        ↓
 [PointsController]
   ├── POST /customer-loans → modalidades de empréstimo
        ↓
 [Service Layer]
   └── LoanService (regras de modalidades de empréstimo)

🚀 Execução do Projeto

✅ Pré-requisitos

  • Java 25+
  • Maven 3.9+

📥 Clonar o repositório

git clone https://github.com/erichiroshi/desafio-backend-backendbrasil-emprestimos.git
cd desafio-backend-backendbrasil-emprestimos

▶️ Rodar a aplicação

./mvnw spring-boot:run

A aplicação estará disponível em:
👉 http://localhost:8080

🧩 Acessar a documentação Swagger

👉 http://localhost:8080/swagger-ui.html


💬 Interagindo com a API

As requisições podem ser testadas via Postman, Insomnia ou Swagger UI.


📬 Endpoints e Exemplos

1️⃣ Listar modalidades de empréstimo que uma pessoa tem acesso — POST /customer-loans

Request Body

{
    "age": 26,
    "cpf": "275.484.389-23",
    "name": "Vuxaywua Zukiagou",
    "income": 7000.00,
    "location": "SP"
}

Response

{
    "customer": "Vuxaywua Zukiagou",
    "loans": [
        {
            "type": "CONSIGNMENT",
            "interestRate": 2.0
        }
    ]
}

🤝 Contribuições

Contribuições são sempre bem-vindas!
Para contribuir:

  1. Crie um fork do repositório.
  2. Crie uma branch de feature:
    git checkout -b feature/nova-funcionalidade
  3. Commit suas mudanças:
    git commit -m "feat: nova funcionalidade"
  4. Envie um Pull Request.

📜 Boas práticas

  • Adicione testes unitários.
  • Documente suas alterações no código.
  • Use mensagens de commit seguindo o padrão Conventional Commits.

🔗 Referências e Créditos


“Código limpo é aquele que expressa a intenção com simplicidade e precisão.”

About

Resolução do desafio "Empréstimos" proposto pelo Back-End Brasil.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages