Skip to content

BrisaDiaz/hotel_booker_app

Repository files navigation

Booker App

Application for the administration and request of hotel rooms with updated information on the availability of rooms.

Demo

Author

📸 Screenshots

image image image image image

🛠 Main Technologies Used

  • Next.js
  • Typescript
  • Apollo Client
  • Apollo Server
  • Material-UI
  • React Big Calendar
  • Draft.js
  • React Hook Form
  • Nexus
  • Postgresql
  • Prisma
  • Cloudinary

✨ Features

  • Search by hotel name or location with real-time suggestions.
  • Hotel filtering by category, facilities, services, activities, spoken languages and restrictions.
  • Pagination.
  • Push notifications.
  • Ability to check availability and reserve hotel rooms.
  • Authentication.
  • Multi hotels and admins support.
  • Ability to customize hotel and room thumbnails.
  • Ability to edit hotel and rooms genetic information and booking logistics.
  • Ability to categorize, assign available quota and unique identifier to each hotel room.
  • Ability to visualize, search, filter, accept or reject booking requests.
  • Possibility of uploading and managing reservations made by external methods.
  • Ability to visualize information, search, filter guests.
  • Ability to view the calendar of active, canceled or completed reservations, to be able to view details and cancel reservations.
  • Ability to manage through a folder system and upload media files to cloudinary.

🤐 Environment variables

  • APP_SECRET Jwt secret key
  • NEXT_PUBLIC_HOST Application hots name
  • NEXT_PUBLIC_BACKEND_URL HOST/api/graphql
  • DATABASE_URL Postgresql database connection string
  • NODE_ENV production/development
  • CLOUDINARY_NAME
  • CLOUDINARY_API_KEY
  • CLOUDINARY_API_SECRET

💻 Set up

Clone the project

  git clone https://github.com/BrisaDiaz/hotel_booker_app.git

Go to the project directory

  cd hotel_booker_app

Install dependencies

  npm install

Create and seed the database

npx prisma migrate dev --name init

npx prisma db seed

Start the server

  npm run dev

  #or

  npm run build

  npm start