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
[✔] Cadastro de Dono
[✔] Listagem de Donos
[✔] Listagem de Donos por id
[✔] Listagem de Donos por nome
[✔] Alteração de Dono por id
[✔] Remoção de Dono por id
[✔] Cadastro de Amigo
[✔] Listagem de Amigos
[✔] Listagem de Amigos piores avaliados
[✔] Listagem de Amigos melhores avaliados
[✔] Listagem de Amigos que são conhecidos por um Dono x
[✔] Listagem de Amigos por id
[✔] Remoção de Amigo por id
[✔] Cadastro de Item
[✔] Listagem de Itens
[✔] Listagem de Itens por id
[✔] Listagem de Itens por nome
[✔] Listagem de Itens EMPRESTADOS
[✔] Listagem de Itens DEVOLVIDOS
[✔] Listagem de Itens pertencentes a um Dono x
[✔] Emprestar um Item para um Amigo
[✔] Emprestar um Item NOVAMENTE para um Amigo x
[✔] Receber um Item de volta e avaliar o Amigo
[✔] Remoção de um Item
https://givemeback-api.herokuapp.com
[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"
[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"
[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
"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"
"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"
Esse projeto está sob a licença MIT. Veja o arquivo LICENSE para mais detalhes.
Feito com 💚 by Samuel Almeida