Giter Club home page Giter Club logo

fmt-library-manager's Introduction

Library Manager Restful API

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.

Autor

Sou a Barbara Calderon, desenvolvedora de software.

Schema do Banco de Dados

Abaixo, representação do banco de dados para o projeto desenvolvido.

fmt-library-manager-schema.png

Endpoints da API

/bibliotecario

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.

/emprestimo

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.

/livro

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.

/membro

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.

/visitante

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.

Tecnologias Utilizadas

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

Executando o Projeto

Antes de executar o projeto, certifique-se de ter o JDK 17 e o PostgreSQL instalados em sua máquina.

  1. Clone o repositório do projeto:

    git clone [email protected]:barbaracalderon/fmt-library-manager.git
  2. Acesse o diretório do projeto:

    cd fmt-library-manager
  3. 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:
# 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

  1. Execute o projeto:
    ./mvnw spring-boot:run

O servidor será iniciado em http://localhost:8080.

Testando os Endpoints

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.

Atividade

Esta foi uma atividade desenvolvida individualmente por mim, Barbara Calderon.

fmt-library-manager's People

Contributors

barbaracalderon avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.