/hotel-api

A API do Hotel App é um projeto em Node.js utilizando Express para a matéria de banco de dados.

Primary LanguageTypeScript

Logo do Projeto Api do Hotel App

Sobre

Essa é a API do projeto Hotel App que foi desenvolvido em um trabalho da matéria de banco de dados do curso de Sistemas de Informação da PUC Minas. O objetivo do projeto é facilitar o cotidiano de um hotel facilitando o cadastro de clientes e suas reservas, além de unificar todas as informações em um só lugar. Ele foi dividido em duas partes:

  • Front-end que consome uma API e permite realizar as operações de Create (Criar), Read (Ler), Update (Atualizar) e Delete (Deletar) de forma simplificada.

  • Back-end que é responsável por se comunicar com o banco de dados PostgreSQL.

Ferramentas utilizadas

Funcionalidades

  • Autenticação utilizando JWT, que permite apenas usuários autenticados utilizarem os seus recursos.
  • Senhas dos administradores são salvas encriptadas no banco de dados.
  • Permite realizar as operações de Create (Criar), Read (Ler), Update (Atualizar) e Delete (Deletar) nas tabelas atráves das suas rotas.

Rotas

  • / - Única rota pública com as operações de cadastro e login.
  • /clients - Rota privada com as operações de CRUD dos dados dos clientes.
  • /telephones - Rota privada com as operações de CRUD dos dados dos números dos clientes.
  • /room-status - Rota privada com as operações de CRUD dos dados dos status dos quartos.
  • /room-types - Rota privada com as operações de CRUD dos dados dos tipos de quartos.
  • /rooms - Rota privada com as operações de CRUD dos dados dos quartos.
  • /bookings - Rota privada com as operaçoes de CRUD dos dados das reservas.
  • /admins - Rota privada com as operações de CRUD dos dados dos administradores.

Estrutura

src
│
├─ api
│  └─ v1
│     └─ constants
│     └─ controllers
│     └─ helpers
│     └─ middlewares
│     └─ models
│     └─ routes
│     └─ types
├─ config
├─ scripts
└─ index.ts

Instalação

Antes de seguir os passos de instalação é importante ter instalado e configurado o Node.js, Git, PostgreSQL e algum gerenciador de pacote como npm, yarn ou pnpm na sua máquina.

Utilize o comando git clone na pasta escolhida:

$ git clone https://github.com/IgorAtilar/hotel-app

Depois acesse o diretório e instale as dependências executando o comando conforme o gerenciador de pacotes utilizado:

$ yarn install
$ npm install

Crie um arquivo .env na raiz do projeto com as informações necessárias utilizando como base o arquivo .env.example.

PORT=3030 -> Porta onde a API irá rodar.

PG_HOST=localhost -> Host do PostgreSQL
PG_PORT=5432 -> Porta do PostgreSQL (o default é 5432)
PG_USER=postgres -> O usuário do PostgreSQL
PG_PASSWORD=senha -> A senha desse usuário
PG_DATABASE=hotel -> O nome do banco de dados que você criou no PostgreSQL

JWT_SECRET=segredo -> Uma palavra ou texto para ser utilizada na encriptação do JWT

BCRYPT_SALT=10 -> Um número que representa a força da encriptação. Quanto maior o número mais demorado e "forte" serão as operações com criptografia

Execução e Uso

Para utilizar basta inicializar o projeto:

$ yarn dev
$ npm run dev

Após isso no seu terminal aparecerá o endereço para consumir a API.

👷Créditos

Foto do GitHub do Igor Atilar
Igor Atilar

Foto do GitHub do Henrique Fonseca
Henrique Fonseca

Foto do GitHub do DiegoToledo
Diego Toledo