Skip to content

itjuanr/library-management-api

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

2 Commits
 
 
 
 

Repository files navigation

📚 Library Management API

API RESTful robusta para gerenciamento de bibliotecas, desenvolvida com Spring Boot e documentada com Swagger.

Java Spring Boot MySQL Swagger

📖 Sobre o Projeto

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.

🚀 Tecnologias Utilizadas

  • 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.

⚡ Documentação da API (Swagger)

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

🛠️ Endpoints Principais

A API expõe os seguintes recursos para consumo:

🎓 Alunos (/alunos)

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

📖 Livros (/livros)

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

🔖 Empréstimos (/emprestimos)

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

🔧 Como Executar

Pré-requisitos

  • Java JDK 17 instalado.
  • MySQL Server rodando.
  • Maven instalado.

Passo a Passo

  1. Clone o repositório:
git clone [https://github.com/seu-usuario/library-management.git](https://github.com/seu-usuario/library-management.git)
  1. Configuração do Banco de Dados: Certifique-se de configurar seu arquivo src/main/resources/application.properties com 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
  1. Execute o projeto:
mvn spring-boot:run

About

API robusta para controle de empréstimos e alunos documentada com Swagger/OpenAPI. 📖

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages