Rest com Spring Boot e Java - (Em desenvolvimento)

Descrição

O projeto "Rest com Spring Boot e Java" é uma aplicação pessoal, que está em constante evolução, desenvolvida com o objetivo de aplicar e demonstrar a implementação de APIs RESTful utilizando o Spring Boot e a linguagem de programação Java. Este projeto, serve como um laboratório prático para explorar os fundamentos e as melhores práticas na criação de APIs RESTful.

Funcionalidades

O projeto inclui as seguintes funcionalidades principais:

  • Operações CRUD (Criar, Ler, Atualizar, Excluir) para entidades de usuários e livros, explorando os conceitos fundamentais de manipulação de dados.
  • Validação dos dados de entrada utilizando anotações do Spring, visando garantir a integridade e consistência dos dados.
  • Paginação e ordenação dos resultados retornados pela API, para uma experiência de usuário mais eficiente em APIs com grandes volumes de dados.
  • Tratamento personalizado de exceções, para lidar com erros de forma elegante e consistente na aplicação Spring Boot.
  • Autenticação e autorização de usuários utilizando JSON Web Tokens (JWT), garantindo a segurança e autenticidade das requisições na API.
  • Testes unitários e de integração para as funcionalidades principais, assegurando a qualidade e robustez do código.

Tecnologias Utilizadas

O projeto utiliza um conjunto abrangente de tecnologias, incluindo:

  • Java 18
  • Spring Boot 3
  • Spring Data JPA
  • Spring Security
  • Hibernate
  • Banco de dados MySQL
  • Flyway
  • Swagger Open API
  • Maven
  • JSON Web Tokens (JWT)
  • JUnit 5
  • Mockito
  • REST Assured
  • Testcontainers
  • Docker
  • AWS
  • Front-end com React

Configuração

Para executar o projeto em seu ambiente local, siga as etapas abaixo:

  1. Certifique-se de ter o Java e o Maven instalados em sua máquina.
  2. Clone este repositório para o seu ambiente local.
  3. Configure as informações do banco de dados MySQL no arquivo application.properties.
  4. Execute o comando mvn clean install na raiz do projeto para baixar as dependências e compilar o código.
  5. Execute o comando mvn spring-boot:run para iniciar a aplicação.

Após seguir essas etapas, a aplicação estará disponível em http://localhost:8080.

Documentação da API

A documentação completa da API, incluindo os endpoints disponíveis e exemplos de uso, pode ser encontrada em Swagger UI após iniciar a aplicação. Lá você encontrará informações detalhadas sobre como interagir com a API, incluindo exemplos de solicitações e respostas para os endpoints mais comuns.

Este projeto é desenvolvido como um laboratório pessoal para aplicar e explorar conceitos de desenvolvimento de APIs RESTful com Spring Boot e Java.

Autor

Gabriel Carvalho