- Nessa jornada, através do bootcamp everis Site Reliability Engineer Essentials, são abordadas as principais ferramentas e práticas do mercado por grandes experts da área.
- Construir do zero uma API REST com Spring Boot para cadastro e gerenciamento de pessoas de uma organização, até o Deploy na nuvem ☁️ (Heroku) request Payload JSON
. Praticando os principais conceitos do estilo arquitetural REST envolvidos durante o desenvolvimento do projeto.
-
Setup inicial de projeto com o Spring Boot Initialzr
-
Criação de modelo de dados para o mapeamento de entidades em bancos de dados
-
Desenvolvimento de operações de gerenciamento de usuários (Cadastro, leitura, atualização e remoção de pessoas de um sistema).
-
Relação de cada uma das operações acima com o padrão arquitetural REST, e a explicação de cada um dos conceitos REST envolvidos durante o desenvolvimento do projeto.
-
Desenvolvimento de testes unitários para validação das funcionalidades
-
Implantação do sistema na nuvem através do (Heroku) ☁️
-
Para fixar o aprendizado implementei a funcionalidade de busca por cpf (ex:/api/v1/people/cpf?num=111.111.111-11) criei testes unitários para a busca de CPF nas camadas repository, service e testes integrados para a camada de controller, utilizei JUnit5, AssertJ, e Diffblue. Criei testes para cobrir as demais funcionalidades. Configurei o Swagger para documentação da API.
-
Bootcamp viabilizado em parceria com a DIO 🤝
Para executar o projeto no terminal, digite o seguinte comando:
mvn spring-boot:run
Após executar o comando acima, basta apenas abrir o seguinte endereço e visualizar a execução do projeto:
http://localhost:8080/api/v1/people
São necessários os seguintes pré-requisitos para a execução do projeto desenvolvido:
- Java 11 ou versões superiores.
- Maven 3.6.3 ou versões superiores.
- Intellj IDEA Community Edition ou sua IDE favorita.
- Controle de versão GIT instalado na sua máquina.
- Conta no GitHub para o armazenamento do seu projeto na nuvem.
- Conta no Heroku para o deploy do projeto na nuvem
- Muita vontade de aprender e compartilhar conhecimento :)
Abaixo, seguem links de conteúdos que me ajudaram no projeto:
- Teste unitário de Respository
- Software Testing Tutorial - Learn Unit Testing and Integration Testing
- AssertJ - fluent assertions java library
Abaixo, seguem links bem bacanas, sobre tópicos mencionados durante o bootcamp:
- SDKMan! para gerenciamento e instalação do Java e Maven
- Referência do Intellij IDEA Community, para download
- Palheta de atalhos de comandos do Intellij
- Site oficial do Spring
- Site oficial do Spring Initialzr, para setup do projeto
- Site oficial do Heroku
- Site oficial do GIT
- Site oficial do GitHub
- Documentação oficial do Lombok
- Documentação oficial do Map Struct
- Referência para o padrão arquitetural REST
Neste link, seguem os slides apresentados como o roteiro utilizado para o desenvolvimento do projeto.