📚 Library API
API desenvolvida como parte do curso Spring Boot Expert ministrado pelo professor Dougllas Sousa . Este projeto foi criado com Spring Boot 3.x e Java 21, aplicando boas práticas de arquitetura e desenvolvimento de APIs RESTful.
🚀 Sobre o Projeto
A Library API é uma aplicação de gerenciamento de livros, construída com foco em boas práticas de arquitetura, modelagem de domínio e persistência de dados. Ela foi projetada para exercitar conceitos fundamentais no ecossistema Spring, como:
Criação de entidades e repositórios com Spring Data JPA
Exposição de endpoints RESTful seguindo boas práticas de design de APIs
Camada de serviços organizada para manter regras de negócio desacopladas
Validações e tratamento de exceções padronizados
Documentação automática da API com Swagger / OpenAPI
O objetivo não é apenas entregar uma aplicação funcional, mas também desenvolver uma mentalidade de pensar como arquiteto de software, entendendo por que cada camada e padrão foi aplicado.
🧩 Tecnologias Utilizadas
Java 21
Spring Boot (3.3.4 / 3.5.5)
Spring Data JPA & Hibernate
Banco de Dados Relacional (MySQL / PostgreSQL)
Swagger / OpenAPI para documentação e testes de endpoints
JUnit & Mockito (aprendizado de testes unitários e de integração)
📖 O que aprendi com este projeto
Este projeto não é apenas código: foi uma experiência de aprendizado prático. Alguns dos principais pontos de evolução foram:
Arquitetura em camadas: separar responsabilidades entre Controllers, Services e Repositories, deixando o código mais limpo e sustentável.
Persistência de dados com JPA: uso de JpaRepository, consultas customizadas e boas práticas para lidar com entidades.
Documentação profissional de API: integração com Swagger para facilitar a exploração e validação de endpoints.
Tratamento de erros: implementação de um Exception Handler global, retornando respostas consistentes para o cliente.
Pensamento arquitetural: compreender que uma API não é apenas endpoints e banco, mas contratos bem definidos, clareza de domínio e previsibilidade para o consumidor.
🎯 Próximos Passos
Adicionar testes de unidade e integração com JUnit e Mockito.
Implementar segurança com Spring Security.
Aprimorar a documentação da API com exemplos de requests e responses.
Deploy em ambiente de nuvem (AWS / Docker).
👨💻 Sobre o aprendizado
Este projeto faz parte da minha jornada de transição para me tornar um desenvolvedor backend sólido, com foco em Java e Spring Boot. Mais do que seguir tutoriais, busco entender profundamente o porquê das decisões de arquitetura e como aplicar boas práticas em projetos reais.
Se você é recrutador ou desenvolvedor e chegou até aqui: ➡️ Este repositório é apenas um reflexo do meu aprendizado constante e da minha dedicação em construir software limpo, robusto e escalável.
📌 Créditos
Curso: Spring Boot Expert - Dougllas Sousa (Udemy)
Instrutor: Dougllas Sousa – Engenheiro e Arquiteto de Software