Este projeto consiste em uma API Restful desenvolvida com Spring Data JPA para gerenciar uma biblioteca digital. A aplicação utiliza um banco de dados MySQL configurado por meio do docker-compose e inclui tabelas para armazenar informações sobre livros, autores, editoras e relacionamentos entre eles.
Certifique-se de ter o Docker instalado na sua máquina antes de prosseguir.
O arquivo docker-compose.yaml contém a configuração do serviço do MySQL configurado para armazenar os dados da aplicação.
- Subir o ambiente (MySQL):
docker-compose up -d
- Encerrar o ambiente:
docker-compose down
A estrutura do banco de dados inclui as seguintes tabelas:
- books: Armazena informações sobre os livros (título e gênero).
- authors: Mantém dados dos autores (nome e nacionalidade).
- publishers: Contém informações das editoras (nome e endereço).
- author_books: Tabela de relacionamento N:N entre livros e autores.
- book_details: Tabela de relacionamento 1:1 com livros, armazenando detalhes específicos do livro (resumo, contagem de páginas, ano, isbn).
- Relacionamento 1:N entre editora e livros.
A API oferece endpoints para realizar operações CRUD (Create, Read, Update, Delete) para cada entidade:
/api/books
: Gerencia informações dos livros./api/authors
: Gerencia informações dos autores./api/publishers
: Gerencia informações das editoras.
GET /books
: Obtém todos os livros cadastrados.GET /books/{id}
: Obtém detalhes de um livro específico.POST /books
: Adiciona um novo livro.PUT /books/{bookId}
: Atualiza informações de um livro.DELETE /books/{bookId}
: Remove um livro.
Consulte a documentação detalhada da API para mais informações sobre os endpoints disponíveis e seus usos.
- Clone o repositório.
- Suba o ambiente com Docker Compose.
- Execute a aplicação Spring Boot.
- Utilize ferramentas como Postman, Insomnia ou seu navegador para acessar os endpoints da API.