WebReport Group21-1
WebReport Group21-1
------ ------
PROJECT REPORT
Hotel Booking Website
GROUP 21
Le Minh Thinh – 20205172
Nguyen Van Tien – 20205195
Nguyen Tan Tien – 20205172
The primary objective of this project is to develop a booking accommodation system that
streamlines the process of finding and booking accommodations for travelers. By creating
an intuitive and efficient platform, we aim to enhance the overall user experience and
provide a reliable solution for individuals seeking hassle-free accommodation bookings.
Furthermore, our system boasts robust search functionality. Users can search for specific
accommodations using keywords and access detailed information about each property,
including amenities, photos, and customer reviews. This empowers users to make well-
informed decisions when selecting their preferred accommodations.
The second objective of our system is to streamline the booking process for users. Once
logged in, users can view comprehensive hotel profiles, explore different room types, and
check availability and pricing. Our system facilitates room reservations and offers a
seamless online payment process, eliminating the need for manual transactions or third-
party payment gateways.
Usecase diagram:
Register
Name Register
Description Allow anyone to register to become a user.
Actor User
Precondition no
Basic flow 1. Users click on the register buYon.
2. System displays a register form.
3. Users enter username, email, password.
4. The system checks user information.
5. System creates a new user.
6. Notify register successful and go to login page.
Alternative flow At step 4, if system checks user information is invalid, back to step
3 and go on.
Post condition No
Login
Name Login
Description Allow user login to system
Actor User
Precondition User must have an account
Basic flow 1. Users click on login buYon.
2. System displays a login form.
3. Users enter email and password.
4. System check user information
5. Noti login successful and go to home page.
Alternative flow At step 4, if system checks user information is not exist, system
notify login fail and user must be register.
Post condition No
Booking
Name Booking
Description After user view details about a place, they can book that place.
Actor User
Precondition no
Basic flow 1. On the view detail screen, at booking box, users choose
check-in and checkout day, then fill number of guests, then
click to “booking this place” buYon.
2. System validates information about check-in, checkout day,
number of guests.
3. System shows the form to fill in the full name and phone
number of the user.
4. Then user click to “booking this place”, system notify
booking successful and show detail about booking.
Alternative flow At step 1, if checking, checkout day and number of guests are
invalid, the system notify, and users must choose again.
Post condition No
View booking
Name View booking
Description Users can view the history of booking and view detail.
Actor User
Precondition no
Basic flow 1. Users click the booking option and choose my booking.
2. System shows history of booking.
Alternative flow no
Post condition no
CRUD Place
Name CURD Place
Description Allow users (also is owner) to create, read, update, and delete a
place.
Actor User (Owner)
Precondition no
Basic flow 1. User clicks on account buYon -> choose “booking” -> my
accommodation.
2. System shows the list of places for this user.
3. To create a new place, user click on “add new place”, the
system shows form create new place, user fills information
and save to finish.
4. To delete a place, the user clicks to that place then click
“delete”.
5. To update a place, user click to that place, system shows
detail information, user modify and save.
Alternative flow No
Post condition No
4.2.2 Place
AYribute Type Require Describe Reference
_id objectId Identify place
owner objectId Users own this place User
title string Name of place
address string Address of place
photos string
description string Introduce to this place
perks string
extraInfor string More information
checkIn number
checkOut number
maxGuests number Maximum number of guests
price number Price for each day for this place
rating number Number of star rating
4.2.3 Booking
AYribute Type Require Describe Reference
_id objectId Unique ID to identify a booking
place objectId true Place
user objectId true
checkIn date true
checkOut date true
name string true
phone string true
price number Total price of this booking
4.2.4 Notification
AYribute Type Require Describe Reference
_id objectId Unique ID to identify notification
user objectId true User
userAct string true
booking objectId true Booking
place string true
checkIn date Default: Date.now
checkOut date Default: Date.now
date date Default: Date.now
content string true
4.2.5 Review
8. Register Page
9. Login Page
Chapter 7: Guide to run on local machine
Follow these step to run this project on your local machine:
7. Clone this project from your repository: h"ps://github.com/nguyentienict01/Web-
project.git
8. Go to api folder, install the node_modules and start the back-end by:
- cd api
- yarn install
- yarn dev:start
9. Open a new terminal install the node_modules and start the front-end by:
- cd .. (to get out of the api page)
- cd client
- yarn install
- yarn dev
10. Open a web browser on your local machine and open: h"p://localhost:5173/
Chapter 8: Conclusion
8.1 Summary
To sum up, our booking website offers a user-friendly platform that facilitates
accommodation search and booking management. It incorporates various features,
including user registration, accommodation search functionality, and robust booking
management capabilities. Though the system might not be running perfectly given
the fact that all members of our team are inexperienced with coding websites, we gave
our best in bringing out the most desired result, and the project, to some extent, has
been quite an achievement for all of us.
8.2 Work Distribution
+ Le Minh Thinh: Database Design, Back-End API.
+ Nguyen Van Tien: Database Design, Front-End, Report.
+ Nguyen Tan Tien: Database Design, Front-End, Report.