Este projeto é uma API RESTful para o gerenciamento de uma biblioteca simples. Utiliza JDK 17 e banco de dados PostgreSQL com o esquema de banco de dados especificado.
Sou a Barbara Calderon, desenvolvedora de software.
Abaixo, representação do banco de dados para o projeto desenvolvido.
Método | Endpoint | Descrição |
---|---|---|
POST | /bibliotecario |
Cria um novo bibliotecário. |
GET | /bibliotecario |
Retorna todos os bibliotecários cadastrados. |
GET | /bibliotecario/{idBibliotecario} |
Retorna o bibliotecário com o ID especificado. |
PUT | /bibliotecario/{idBibliotecario} |
Atualiza os dados do bibliotecário com o ID especificado. |
DELETE | /bibliotecario/{idBibliotecario} |
Remove o bibliotecário com o ID especificado. |
GET | /bibliotecario/emails |
Retorna os emails de todos os bibliotecários cadastrados. |
PUT | /bibliotecario/{idBibliotecario}/senha |
Atualiza a senha do bibliotecário com o ID especificado. |
Método | Endpoint | Descrição |
---|---|---|
POST | /emprestimo |
Cria um novo empréstimo. |
GET | /emprestimo |
Retorna todos os empréstimos cadastrados. |
GET | /emprestimo/{idEmprestimo} |
Retorna o empréstimo com o ID especificado. |
PUT | /emprestimo/{idEmprestimo} |
Atualiza os dados do empréstimo com o ID especificado. |
DELETE | /emprestimo/{idEmprestimo} |
Remove o empréstimo com o ID especificado. |
Método | Endpoint | Descrição |
---|---|---|
POST | /livro |
Cria um novo livro. |
GET | /livro |
Retorna todos os livros cadastrados. |
GET | /livro/{idLivro} |
Retorna o livro com o ID especificado. |
PUT | /livro/{idLivro} |
Atualiza os dados do livro com o ID especificado. |
DELETE | /livro/{idLivro} |
Remove o livro com o ID especificado. |
GET | /livro/titulos |
Retorna todos os títulos dos livros cadastrados. |
GET | /livro/autores |
Retorna todos os autores dos livros cadastrados. |
Método | Endpoint | Descrição |
---|---|---|
POST | /membro |
Cria um novo membro. |
GET | /membro |
Retorna todos os membros cadastrados. |
GET | /membro/{idMembro} |
Retorna o membro com o ID especificado. |
PUT | /membro/{idMembro} |
Atualiza os dados do membro com o ID especificado. |
DELETE | /membro/{idMembro} |
Remove o membro com o ID especificado. |
GET | /membro/nomes |
Retorna todos os nomes dos membros cadastrados. |
GET | /membro/telefones |
Retorna todos os telefones dos membros cadastrados. |
PUT | /membro/{idMembro}/telefone |
Atualiza o telefone do membro com o ID especificado. |
Método | Endpoint | Descrição |
---|---|---|
POST | /visitante |
Cria um novo visitante. |
GET | /visitante |
Retorna todos os visitantes cadastrados. |
GET | /visitante/{idVisitante} |
Retorna o visitante com o ID especificado. |
PUT | /visitante/{idVisitante} |
Atualiza os dados do visitante com o ID especificado. |
DELETE | /visitante/{idVisitante} |
Remove o visitante com o ID especificado. |
- Spring Boot Starter Web: Framework para o desenvolvimento de aplicativos da web em Java.
- Spring Boot DevTools: Ferramenta para desenvolvimento mais produtivo no ambiente Spring Boot.
- Project Lombok: Biblioteca que reduz a verbosidade do código Java.
- Spring Boot Starter Data JPA: Facilita a implementação de persistência de dados usando Spring Data e JPA.
- PostgreSQL: Banco de dados relacional.
- Maven: Gerenciador de dependências e construção de projetos.
- Java 17: Versão da linguagem de programação Java utilizada no projeto.
Antes de executar o projeto, certifique-se de ter o JDK 17 e o PostgreSQL instalados em sua máquina.
-
Clone o repositório do projeto:
git clone git@github.com:barbaracalderon/fmt-library-manager.git
-
Acesse o diretório do projeto:
cd fmt-library-manager
-
Configure o banco de dados PostgreSQL:
- Crie um banco de dados com o nome
fmt_library_manager_db
(sugestão) - Insira suas configurações no arquivo
application.properties
:
- Crie um banco de dados com o nome
# arquivo application.properties
spring.application.name=library
server.port=8080
spring.datasource.url=jdbc:postgresql://localhost:5432/fmt_library_manager_db
spring.datasource.username=postgres
spring.datasource.password=[digite sua senha]
spring.datasource.driver-class-name=org.postgresql.Driver
spring.jpa.properties.hibernate.format_sql=true
spring.jpa.hibernate.ddl-auto=update
spring.jpa.show-sql=true
- Execute o projeto:
./mvnw spring-boot:run
O servidor será iniciado em http://localhost:8080.
Você pode testar os endpoints utilizando ferramentas como Postman, Insomnia ou cURL. Por exemplo, usando Insomnia:
-
Para listar todos os livros:
GET http://localhost:8080/livro
-
Para criar um novo livro:
POST http://localhost:8080/livro Body: { "titulo": "Nome do livro", "autor": "Nome do autor", "anoPublicacao": 1912 }
Certifique-se de substituir os valores de exemplo pelos valores reais.
Esta foi uma atividade desenvolvida individualmente por mim, Barbara Calderon.