💻
Sobre o desafio
Olá! Este é um desafio SpringBoot + JPA + PostgresSQL para gerenciar seus pertences emprestados!
-
O objetivo é construir uma API para você não esquecer para quem emprestou cada coisa.
-
O usuário se cadastra e seus dados ficam salvos
-
A aplicação deve receber o item emprestado, a data de devolução prevista, e contato do amigo
-
Cada empréstimo tem 20 dias de prazo, ao cadastrar um item emprestado o sistema deve salvar a data atual
-
Ao devolver um Item o sistema deve salvar a data da devolução do Item
-
O sistema deve permitir avaliar um amigo após a devolução do empréstimo
-
Um Item só pode ser emprestado novamente caso o Amigo tenha recebido alguma avaliação
-
Um Amigo deve ter um Dono associado
-
Um Item emprestado precisa ter um Dono e um Amigo emprestimo associado
-
Um Item deve ter um status atual definido como EMPRESTADO ou DEVOLVIDO
⌛
Status do Desafio: Concluido
✔
🚀
Funcionalidades disponiveis
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
[
🥇
Aplicação disponivel no Heroku:
https://givemeback-api.herokuapp.com
🛠
Serviços disponíveis
👨💻
Dono:
[GET] https://givemeback-api.herokuapp.com/donos/buscar_por_nome?nomeDono=Samuel
[GET] https://givemeback-api.herokuapp.com/donos/buscar_por_id/4
[GET] https://givemeback-api.herokuapp.com/donos/listar_todos
[POST] https://givemeback-api.herokuapp.com/donos/adicionar
[PUT] https://givemeback-api.herokuapp.com/donos/alterar/3
[DELETE] https://givemeback-api.herokuapp.com/donos/deletar/1
"id": 1,
"nome": "Samuel",
"whatsapp": "555-777-522"
🙅♂️
Amigo:
[GET] https://givemeback-api.herokuapp.com/amigos/buscar_por_nome?amigoEmprestimo=José
[GET] https://givemeback-api.herokuapp.com/amigos/buscar_por_id/8
[GET] https://givemeback-api.herokuapp.com/amigos/buscar_por_dono_item?idAmigo=2&idDono=2
[GET] https://givemeback-api.herokuapp.com/amigos/listar_todos
[GET] https://givemeback-api.herokuapp.com/amigos/buscar_melhores_avaliados
[GET] https://givemeback-api.herokuapp.com/amigos/buscar_piores_avaliados
[POST] https://givemeback-api.herokuapp.com/amigos/amigos/adicionar?nomeDono=Alladin
[PUT] https://givemeback-api.herokuapp.com/amigos/amigos/alterar/1
[DELETE] https://givemeback-api.herokuapp.com/amigos/deletar/1
"id": 2,
"nome": "Pedro",
"whatsApp": "123",
"endereco": "rua do Pedro",
"amigoDono": "Steve Jobs",
"avaliacao": "OTIMA"
🎁
Item:
[GET] https://givemeback-api.herokuapp.com/itens/buscar_por_id/1
[GET] https://givemeback-api.herokuapp.com/itens/buscar_por_nome?nomeItem=bone
[GET] https://givemeback-api.herokuapp.com/itens/listar_itens
[GET] https://givemeback-api.herokuapp.com/itens/status_itens?status=EMPRESTADO
[GET] https://givemeback-api.herokuapp.com/itens/status_itens?status=DEVOLVIDO
[GET] https://givemeback-api.herokuapp.com/itens/emprestados_para?idAmigo=3
[GET] https://givemeback-api.herokuapp.com/itens/meus_itens?idDono=2
[GET] https://givemeback-api.herokuapp.com/itens/meus_itens?idDono=2
[POST] https://givemeback-api.herokuapp.com/itens/emprestar_item?dono=1&idAmigoEmprestimo=1
[PUT] https://givemeback-api.herokuapp.com/itens/emprestar_novamente?idItem=7&idAmigoEmprestimo=1
[PUT] https://givemeback-api.herokuapp.com/itens/devolver/7?nomeAmigo=José&avaliacao=OTIMA
[DELETE] https://givemeback-api.herokuapp.com/itens/itens/deletar/7
👉
Item quando Emprestado:
"id": 7,
"nome": "Bicicleta",
"nomeDono": "Steve Jobs",
"descricao": "uma bicicleta",
"status": "EMPRESTADO",
"emprestado_para": "Pedro",
"prazoDevolucao": "Cada emprestimo tem 20 dias de prazo.",
"dataEmprestimo": "2021-06-03",
"dataDevolucao": "2021-06-23"
👈
Item quando devolvido:
"id": 7,
"nome": "Bicicleta",
"nomeDono": "Steve Jobs",
"descricao": "uma bicicleta",
"status": "DEVOLVIDO",
"emprestado_para": "ninguém",
"prazoDevolucao": "Cada emprestimo tem 20 dias de prazo.",
"dataEmprestimo": "2021-06-03",
"dataDevolucao": "2021-06-03"
🎯
Diagrama UML
📝
Licença
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com