Projeto final do módulo 4 da Resilia Educação, desenvolvemos uma API Rest de um hotel.
Projeto desenvolvido em Node.js com framework Express.
Onde cada colaboradora ficou responsável por uma entidade e suas respectivas rotas, em cada entidade o método CRUD foi realizado.
🔹 Node
🔹 NPM
🔹 Git
🔹 VsCode ou qualquer editor de texto de preferência.
🔹 Insomnia Rest ou Postman.
cors: "^2.8.5"
express: "^4.18.1"
path": "^0.12.7"
sqlite3": "^5.0.11"
nodemon: "^2.0.19"
🔹 Abra o terminal e rode os comandos abaixo:
🔹 Clonando o repositório:
git clone https://github.com/LhaisCosta99/API-Rest-hotel
🔹 Entrando na pasta:
cd API-Rest-hotel
🔹 Para instalar pacotes:
npm install
🔹 Para rodar a aplicação:
npm start
https://transilvania-hotel.herokuapp.com/
🔹 Os testes da API foram feitos via Insomnia e Postman.
🔹 HOSPEDES
🎯 Post-hospedes
//Cria registros.
/hospedes/
{
"nome": "Lhais",
"cpf": "12345678950",
"email": "lhais@lhais.com",
"telefone": "02140028926",
"senha":"senha"
}
💬 Resposta
{
"Sucesso": "Registro inserido com sucesso!"
}
// Informa se o usuário já registrado pode prosseguir no login ou não
/hospedes/login
{
"email": "lhais@lhais.com",
"senha": "senha"
}
💬 Resposta
{
"message": "Usuario autenticado com sucesso!",
"email": "lhais@lhais.com"
}
🎯 Get-hospedes
//Busca o ":id". O get que busca todos os registros na sua entidade.
/hospedes/:id
{
"id": 4,
"nome": "Lhais",
"cpf": "12345678950",
"email": "lhais@lhais.com",
"telefone": "02140028926"
}
🎯 Patch-hospedes
//Atualiza ":id". Modifica registros através do id .
/hospedes/:id
{
"id": 4,
"nome": "Lhais",
"cpf": "12345678950",
"email": "lhais@lhais.com",
"telefone": "02140028926"
}
💬 Resposta
{
"message": "Registro atualizado com sucesso",
"id": "5"
}
// Atualiza por email, deve obrigatóriamente ter no body o email do registro que deseja atualizar
/hospede/update/email
{
"email": "Email do registro a ser atualizado",
...,
"chave": "valor"
}
💬 Resposta
{
"message": "Registro atualizado com sucesso",
"email": "email"
}
🎯 Delete-hospedes
//Troque ":id" pelo id que você quer deletar.
/hospedes/:id
💬 Resposta
{
"message": "Registro deletado com sucesso",
"id": "10"
}
{
"message": "Nome inválido, deve ter no mínimo 3 caracteres"
}
{
"message": "CPF inválido, favor rever a requisição."
}
{
"message": "Email inválido, favor rever a requisição."
}
{
"message": "Telefone inválido, favor rever a requisição."
}
🔹 RESERVAS
🎯 Post-reservas
//Cria registros.
/reservas/
{
"idCliente": 1,
"idQuarto": 1,
"qtdDias": 2,
"checkIn": 2022-05-06,
"checkOut": 2022-05-07
}
💬 Resposta
{
"Sucesso": "Reserva inserida com sucesso!"
}
🎯 Get-reservas
//Busca o ":id". O get que busca todos os registros na sua entidade.
/reservas/:id
{
"idCliente": 1,
"idQuarto": 1,
"qtdDias": 2,
"checkIn": 2022-05-06,
"checkOut" : 2022-05-07
}
🎯 Patch-reservas
//Atualiza ":id". Modifica registros através do id .
/reservas/:id
{
"idCliente": 1,
"idQuarto": 1,
"qtdDias": 2,
"checkIn": 2022-05-06,
"checkOut" : 2022-05-07
}
💬 Resposta
{
"message": "Reserva atualizada com sucesso",
"id": "2"
}
🎯 Delete-reservas
//Troque ":id" pelo id que você quer deletar.
/reservas/:id
💬 Resposta
{
"message": "Reserva deletada com sucesso",
"id": "2"
}
{
"message": "Reserva não encontrada para esse id"
}
{
"message": "Reserva não encontrada"
}
🔹 QUARTOS
🎯 Post-quartos
//Cria registros.
/quartos/
```js
{
"numero": 96,
"tipo": “presidencial”,
"status": “livre”
}
💬 Resposta
{
"Sucesso": "Registro inserido com sucesso!"
}
🎯 Get-quartos
//Busca o “:numero” do quarto. O get que busca todos os registros na sua entidade.
/quartos/:numero
{
"id": 8,
"numero": 96,
"tipo": "presidencial",
"status": "livre"
}
🎯 Patch-quartos
//Atualiza ":numero". Modifica registros através do número.
/quartos/:numero
{
"numero": 96,
"tipo": "presidencial",
"status": "ocupado"
}
💬 Resposta
{
"message": "Registro atualizado com sucesso",
"numero": “96”
}
🎯 Delete-quartos
//Troque ":id" pelo id que você quer deletar.
/quartos/:id
💬 Resposta
{
"message": "Registro deletado com sucesso",
"id": "8"
}
{
"message": "Digite um número de quarto válido"
}
{
"message": "Número de quarto inexistente"
}
{
"message": "Número de quarto inválido"
}
https://developer.mozilla.org/pt-BR/docs/Learn/Server-side/Express_Nodejs/Introduction
https://developer.mozilla.org/pt-BR/docs/Glossary/CORS
https://nodejs.org/en/knowledge/getting-started/npm/what-is-npm/
https://developer.mozilla.org/pt-BR/docs/Web/API/Web_Storage_API
https://mundodacomputacaointegral.blogspot.com/2021/04/conhecendo-o-insomnia.html
https://developer.mozilla.org/pt-BR/docs/Glossary/CRUD
Lhaís Costa |
Carol Araújo |
Iviny Ogawa |
Luana Assis |