Skip to content

matheushenriquecsb/booking-backend-nestjs

Repository files navigation

Booking Clone Backend 💻

TecnologiasGetting StartedEndpoints

Aplicação consiste em um sistema de reservas de hotéis. Implementei um sistema de autenticação de login, utilizando OAuth do GitHub e Google, permitindo que os usuários se autentiquem de maneira conveniente através de suas contas existentes.

Com a autenticação realizada, os usuários podem explorar as hospedagens disponiveis, escolher as data e quantidade de quartos desejados.

Tecnologias

  • NestJS
  • Typescript
  • MongoDB
  • Mongoose
  • JWT
  • Bcrypt
  • Multer
  • TypeORM
  • Swagger

🚀 Getting started

Pré Requisitos

Instale esses softwares necessários para execução do seu projeto.

  • Node
  • Git
  • VS Code

Clonando o Projeto

git clone https://github.com/matheushenriquecsb/booking-backend-nestjs

Configue suas variáveis de ambiente (.env)

Use a .env.example como referência para criar seu arquivo de configuração .env com suas credenciais

MONGO_URI=mongodb+srv://{USERNAME}:{PASSWORD}@cluster0.ymdyg.mongodb.net/?retryWrites=true&w=majority

Rodando o projeto

cd booking-backend-nestjs

npm install

npm run start

Documentação

Swagger

http://localhost:3000/booking-backend-nestjs

Endpoints

rotas descrição
GET /users listar usuários
GET /users/:id retorna usuário pelo id
DELETE /users/:id deleta usuário pelo id
PATCH /users/:id atualizar dados de usuário pelo id
DELETE /auth/register cadastro de usuário
POST /auth/login login usuário
POST /auth/login-google login usuário pela api do google
POST /auth/login-github login usuário pelo api do github
POST /hotels criação do hotel
GET /hotels/find/:id retorna hotel pelo id
GET /hotels?city={city} retorna hotéis de cidade pela query
GET /hotels/featured?featured={city}&limit={limit} retorna hotéis de cidade pela query com limite
GET /hotels/countByType retorna quantidade de hotéis por tipo
GET /hotels/countByCity retorna quantidade de hotéis por cidade
PATCH /hotels/:id atualiza dados do hotel
DELETE /hotels/:id deleta hotel

Deploy

https://booking-rent.netlify.app/