Esta API tem como finalidade gerenciar cadastro de pessoas. E uma API simples apenas como forma de estudo e aprimoramento de tecnologias. O objetivo desta API e cadastrar, consultar, lista, atualizar e deletar cadastros de pessoas.
Spring boot
- Framework de desenvolvimento Java.Spring Hateoas
- Hipermídia como o motor do estado do aplicativoLombok
- Biblioteca java que auxilia como ferramentas de construção.JPA/Hibernate
- Framework para persistência de dados / ORM.H2 Database Engine
- Banco de dados executado em memória, utilizado nos testes.Swagger
- Framework para projetar, construir, documentar e usar serviços da Web RESTful.jUnit5
- Testes de unitáriosMockk
- Ferramenta para mocks na realização dos testesJacoco
- Ferramenta para cobertura de tests
É necessário ter instalado na sua máquina os seguintes programas:
- A aplicação foi desenvolvida no java-jdk13.
Java
- Motor de build da aplicação e atraves do Mavem.
Maven
A estrutura do projeto foi desenvolvido pensando no conceito do
Clean Architecture
,
que divide a aplicação em módulos:
-
Configuration - Configurações do Framework, injeção de dependências, define as implementações e realiza a união do projeto como um todo
-
Core - Regra de negócio, essa módulo é livre de qualquer tipo de framework para deixar a regra independente de tecnologia e de fácil manutenção, nessa camada temos duas vertentes:
- entity - Entidades, objetos que representam o negócio
- use case - Casos de uso do projeto, como um
Service
, implementa funcionalidades e regras especificas de cada funcionalidade.
-
Data Provider - Camada responsável em fornecer os dados para o
core
implementando suas interfaces. -
Entry Points - Responsável em fornecer os end-points, essa camada trata os dados que o usuário envia processa utilizando os
use cases
docore
e trata seu retorno.
A idéia de utilizar o Clean Architecture
é para tornar o testável e flexível a alterações drásticas, atravéz dessa estrutura
também temos um ganho ao lidarmos com várias pessoas alterando o mesmo código;