Skip to content

LhaisCosta99/API-Rest-hotel

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Projeto-final-M4

🏨 Hotel Transilvânia API 🏨

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.

✔️ Requisitos ✔️

🔹 Node
🔹 NPM
🔹 Git
🔹 VsCode ou qualquer editor de texto de preferência.
🔹 Insomnia Rest ou Postman.

🎯 Dependências de desenvolvimento API 🎯

cors: "^2.8.5"
express: "^4.18.1"
path": "^0.12.7"
sqlite3": "^5.0.11"
nodemon: "^2.0.19"

🔏 Instalação da aplicação 🔏

🔹 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

👣 Link Heroku 👣

https://transilvania-hotel.herokuapp.com/

✔️ Link Da Apresentação Do Projeto ✔️

https://www.canva.com/design/DAFHpgM0rSY/sv5aI4HErXk1t0cxCmZurw/edit?utm_content=DAFHpgM0rSY&utm_campaign=designshare&utm_medium=link2&utm_source=sharebutton

👣 Rotas da aplicação 👣

🔹 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"
}

💬 Respostas em cada erro. 💬

{
	"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"
}

💬 Respostas em cada erro. 💬

{
	"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"
}

💬 Respostas em cada erro. 💬

{
	"message": "Digite um número de quarto válido"
}
{
	"message": "Número de quarto inexistente"
}
{
	"message": "Número de quarto inválido"
}

📎 Links externos 📎

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

🤜 Colaboradoras 🤛

Foto de perfil do Github
Lhaís Costa
Foto de perfil do Github
Carol Araújo
Foto de perfil do Github
Iviny Ogawa
Foto de perfil do Github
Luana Assis