Skip to content

coderschool/explores-huynhvananhtuan-be

 
 

Repository files navigation

STAY MATE

Hi 👋, I'm Huynh Van Anh Tuan

A passionate full Stack developer from VietNam

Connect with me:

anh-tuấn-huỳnh-văn-86a79821b/ cat_97#5084 tuan_dd

Languages and Tools:

express git html5 javascript mongodb nextjs nodejs react redis redux typescript bullmq

Description

Web book hotel is a convenient online platform developed to help customers find and book their ideal hotels from anywhere in the world. It helps travelers easily search for the best deals on accommodations according to their preferences, such as location, price, amenities, and ratings.

With Web book hotel, customers can access a plethora of hotels across the globe, from luxury five-star resorts to economy lodgings. The site offers various features that make the booking process seamless and effortless, allowing customers to complete bookings within minutes. This user-friendly experience enables customers to browse through photos and detailed descriptions of each hotel's facilities before confirming their reservations seamlessly.

Furthermore, Web book hotel provides hotel owners with an intuitive interface for registering and listing their hotels on the website. They can input valuable information about their lodging properties, such as photos, room details, pricing, contact details, location, and operating hours.

Overall, Web book hotel represents a significant leap forward in travel booking convenience and flexibility for customers worldwide. It's the perfect solution for traveling enthusiasts looking for the best plans, without breaking a bank or compromising on quality.

Backend two week

Diagram

Authentication

  • Registering for a new account with name, email, and password, gmail
  • Signing in with my email and password.
  • Getting new password when forget by link send user mail, (advance)

Users

  • User two type : tenant/hotelier

Tenant

  • Seeing profile of a specific given a user ID.
  • Updating profile
  • Having see history books status : decline, success,stayed,pending(limit time)
  • cancel book,
  • Every one can see list or detail hotel
  • Creating and paying booking
  • Reviewing star ,upload image, comment when user stayed hotel
  • Accumulating points to decrease fee (example : 1 point to 1k , 10k to 1 point)

Hotelier

  • All features in tenant
  • Creating hotel, payment membership
  • Paying membership
  • Replying review

Hotel

Tenant

  • Seeing a list of hotel
  • Seeing a detail hotel
  • Seeing review and reply
  • Filtering

Hotelier

  • All features in tenant
  • Only owner can Update, edit, delete, membership (- [ ] advance: create sale off limited expiration time, limited number of times)

Review

Tenant

  • Seeing list of comments, reply on hotel.
  • Writing review on a post when user stayed hotel
  • Updating their review.

Hotelier

  • All features in tenant
  • Only owner create reply review

Book and payment

  • Booking hotel select type room ,time
  • Having status pending, success, stay, decline, cancel
  • Canceling (advance : - [x] before 24h refund 100% after can not refund )
  • mongoose transaction: payment atomic
  • Charger withdrawal (advance)

Admin

  • block user, delete review, block hotel, (- [ ] advance : alert user )
  • See all boxChat

Message (advance)

  • Tenant can chat with support ,hotelier ,
  • Hotelier support ,hotelier
  • Cant select who want chat
  • Advance send img

Endpoint APIs

Login

/v1/api/

Go to schemas/auth.schema.ts to see schema

  • [x]

POST auth/sign-in all can login

POST auth/authcode check code

GET auth/new-access-token Login required get new AccessToken

POST auth/sign-out Login required sign out

User

Go to schemas/user.schema.ts to see schema

  • [x]

POST sign-up register new user

PUT user/user-update Login required update me

GET user/me Login required info user

Hotel

Go to schemas/hotel.schema.ts to see schema

  • [x]

POST user/create-hotel Login required create to hotelier

POST hotel/create-room/:id *** Login required hotelier can room types

PUT hotel/update-room/:id *** Login required hotelier can update

PUT hotel/update-hotel/:id *** Login required hotelier can update

GET hotel/me *** Login required get hotels of hotelier

GET hotel/ *** get hotels

GET hotel/:Id *** all detail hotel

Review

Go to schemas/review.schema.ts to see schema

  • [x]

GET review/ *** get all review in post

GET review/user *** get review of user

POST/review/:id *** Login required post review

PUT review/:id *** Login required author can update

Payment

Go to schemas/booking.schema.ts to see schema

  • [x]

POST payment/create-booking *** Login required booking hotel

PUT payment/charge Login required charge money

PUT payment/withdrawal Login required withdrawal money

PUT payment/payment-booking *** Login required payment booking

PUT payment/cannel-booking *** Login required cannel booking

PUT payment/payment-membership *** Login required payment membership

GET payment/booking *** Login required get booking

GET payment/membership *** Login required get membership

Message

advance

Admin

Go to schemas/admin.schema.ts to see schema

  • [ ]

PUT admin/user/:id *** Login required update user

PUT admin/hotel/:id *** Login required update holier

PUT admin/review/:id *** Login required update review

ALERT admin/alert/:userId *** Login required alert user

GET admin/ *** Login required get users

GET admin/id *** Login required get detail user

Frontend 1 week

Using Reactjs

  • Create a categorized product list and filter function for the Homepage.

  • Create layouts, content, and components for the User Profile & Account Setting Page - UI without testing.

  • Create layouts, content, and components for Upload Product Page - UI without testing.

  • Create layouts, content, and components for Detail Product Page - UI without testing.

  • Create layouts, content, and components for Cart Page - UI without testing.

  • Create layouts, content, and components for Complete Buying Page - UI without testing.

  • Implement users' interaction for each page with API service and Redux.

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • TypeScript 99.9%
  • Shell 0.1%