API RESTful robusta para gerenciamento de bibliotecas, desenvolvida com Spring Boot e documentada com Swagger.
O Library Management é um sistema backend projetado para modernizar o controle de acervos acadêmicos. A aplicação gerencia todo o ciclo de vida de uma biblioteca, desde o cadastro de alunos e livros até o controle complexo de empréstimos e devoluções.
O projeto foi construído seguindo as melhores práticas de arquitetura REST, utilizando o ecossistema Spring para garantir escalabilidade e facilidade de manutenção.
- Java 17: Linguagem base moderna e performática.
- Spring Boot 3: Framework para agilidade no desenvolvimento.
- Spring Data JPA: Abstração para persistência de dados e repositórios.
- MySQL: Banco de dados relacional robusto.
- SpringDoc OpenAPI (Swagger): Documentação automática e interativa da API.
- Maven: Gerenciamento de dependências.
Graças à implementação do SpringDoc, você pode testar todas as rotas visualmente sem precisar de ferramentas externas (como Postman).
Após rodar a aplicação, acesse em seu navegador:
http://localhost:8080/swagger-ui.html
A API expõe os seguintes recursos para consumo:
Gerenciamento dos usuários da biblioteca.
| Método | Rota | Descrição |
|---|---|---|
GET |
/alunos |
Lista todos os alunos |
GET |
/alunos/{id} |
Busca aluno por ID |
POST |
/alunos |
Cadastra um novo aluno |
DELETE |
/alunos/{id} |
Remove um aluno |
Controle do acervo com filtros avançados.
| Método | Rota | Descrição |
|---|---|---|
GET |
/livros |
Lista todos os livros |
GET |
/livros/buscarPorTitulo/{titulo} |
Filtra por título |
GET |
/livros/buscarPorAutor/{autor} |
Filtra por autor |
GET |
/livros/buscarPorGenero/{genero} |
Filtra por gênero |
GET |
/livros/buscarPorPreco/{preco} |
Filtra por preço |
POST |
/livros |
Adiciona novo livro ao acervo |
O coração da regra de negócio.
| Método | Rota | Descrição |
|---|---|---|
POST |
/emprestimos |
Registra saída de livro para um aluno |
POST |
/emprestimos/devolucao/{id} |
Registra a devolução do livro |
GET |
/emprestimos |
Histórico de empréstimos |
- Java JDK 17 instalado.
- MySQL Server rodando.
- Maven instalado.
- Clone o repositório:
git clone [https://github.com/seu-usuario/library-management.git](https://github.com/seu-usuario/library-management.git)
- Configuração do Banco de Dados:
Certifique-se de configurar seu arquivo
src/main/resources/application.propertiescom as credenciais do seu MySQL:
spring.datasource.url=jdbc:mysql://localhost:3306/library_db
spring.datasource.username=seu_usuario
spring.datasource.password=sua_senha
spring.jpa.hibernate.ddl-auto=update
- Execute o projeto:
mvn spring-boot:run