MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING GRADUATION THESIS INFORMATION TECHNOLOGY BUILDING A WEBSITE AND A MOBILE APPLICATION FOR ACCOMODATION BOOKING ADVISOR : NGUYỄN THIÊN BẢO, PhD. STUDENTS: KHÚC NGUYỄN HUY CƯỜNG NGUYỄN ĐAN TRƯỜNG ĐẶNG NGỌC TRƯỜNG GIANG SKL010865 Ho Chi Minh City, July 2023 MINISTRY OF EDUCATION AND TRAINING HO CHI MINH UNIVERSITY OF TECHNOLOGY AND EDUCATION FACULTY FOR HIGH QUALITY TRAINING CAPSTONE PROJECT BUILDING A WEBSITE AND A MOBILE APPLICATION FOR ACCOMODATION BOOKING Instructor: NGUYỄN THIÊN BẢO, PhD. Major: INFORMATION TECHNOLOGY Members: 1. Khúc Nguyễn Huy Cường - 19110107 2.
Nguyễn Đan Trường - 19110064 3. Đặng Ngọc Trường Giang - 19110104 Ho Chi Minh City, July 2023 SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness ******* Ho Chi Minh, 15/07/2023 PROJECT OBJECTIVES Full name : Khúc Nguyễn Huy Cường Student Id: 19110107 Class: 19110CLA1 Full name: Nguyễn Đan Trường Student Id: 19110064 Class: 19110CLA1 Full name: Đặng Ngọc Trường Giang Student Id: 19110104 Class: 19110CLA1 Major: Information Technology Instructor: Nguyễn Thiên Bảo, PhD The date of receiving the topic: 07/03/2023 Thesis submission date: 15/07/2023 1. Project name: Building a website and an app for accomodation booking 2. Original data and documents: None 3.
Content implementation of the topic: *Theory: • Research about ReactJS, NextJS, Beego and MongoDB • Research about accommodation booking process *Practices: • Build a website for accomodation booking • Buid an app for accomodation booking HEAD OF IT DIVISION INSTRUCTOR Nguyễn Trần Thi Văn Nguyễn Thiên Bảo SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness ******* INSTRUCTOR’S EVALUATION Full name : Khúc Nguyễn Huy Cường Student Id: 19110107 Class: 19110CLA1 Full name: Nguyễn Đan Trường Student Id: 19110064 Class: 19110CLA1 Full name: Đặng Ngọc Trường Giang Student Id: 19110104 Class: 19110CLA1 Major: Information Technology Project name: Building a website and an app for accomodation booking Instructor: Nguyễn Thiên Bảo, PhD Evaluation: 1. Regarding the content of the topic and the volume of implementation: a) Theory: ReactJS, NextJS, Nodejs, Beego and MongoDB b) Experiments: Conduct surveys on popular hotel booking websites such as Agoda, Airbnb. From there determine the requirements for the project, identify key points and main business - building a website and an app for accomodation booking. Learn and apply ReactJS, NextJS, Nodejs, Beego and MongoDB to the project.
Build back-end using MongoDB, Beego and front-end using ReactJS, NextJS, Nodejs. Deploy website on the Internet and intergrate with mobile app. Strengths: Project: • Friendly user interface • Support online payment for many banks • Provide 360 image for better visualization before booking • Provide a wide range of accommodations Group: • Good collaboration and brainstorming, fostering the exchange of ideas and perspectives • Divide the work evenly throughout the duration of the project • Each team member is always on time for each assigned task 3. Drawbacks: Project: • Accommodation is currently available in Vietnam only • Loading page speed is quite slow Group: • Miscommunication, delays in information sharing, and differences in communication styles • Some member is on a job so it takes time to communicate with them 4.
Approval for oral defense? (Approved or denied) …………………………………………………………………………………. Mark:………………(By word:…………………………….) Ho Chi Minh, 15/07/2023 Lecture (Sign, write full name) SOCIALIST REPUBLIC OF VIETNAM Independence - Freedom – Happiness ******* REVIEWER’S EVALUATION Full name : Khúc Nguyễn Huy Cường Student Id: 19110107 Class: 19110CLA1 Full name: Nguyễn Đan Trường Student Id: 19110064 Class: 19110CLA1 Full name: Đặng Ngọc Trường Giang Student Id: 19110104 Class: 19110CLA1 Major: Information Technology Project name: Building a website and an app for accomodation booking Reviewer teacher: Nguyễn Trần Thi Văn, MSc Evaluation: 1. Regarding the content of the topic and the volume of implementation: …………………………………………………………………………………. Approval for oral defense? (Approved or denied) ……………………………………………………………………………………….
Mark:………………(By word:…………………………….) Ho Chi Minh, 15/07/2023 Lecture (Sign, write full name) ACKNOWLEDGEMENT Mr. Nguyen Thien Bao, the instructor of our course, deserves special thanks from our team. Throughout this course, you have constantly assisted us with our difficulties in the study process as well as provided us with excellent feedback and recommendations to help us grow as developers in the future. As a result, you have become our inspiration for this final project, and we would like to express our gratitude for the opportunity to learn from you in this course.
Everyone on our team has various talents, and we have discovered our shortcomings in each other over this final assignment, but we've all managed to face this challenge as a team. As a result, everyone on our team is really grateful for the opportunity to collaborate. Thank you to the teachers in the Faculty for High Quality Training for always being enthusiastic, dedicated, and dedicated to answering our questions. Besides, we would like to thank our classmates and seniors who did not hesitate to share useful information and experiences to help us improve our thesis.
This final project is the result of our tireless efforts throughout the semester. Because we are still novices, we are aware that our design has numerous shortcomings. We welcome any feedback as well as suggestions for improving our project. We appreciate it.
Sincerely! Ho Chi Minh city, 15/07/2023 Khúc Nguyễn Huy Cường Nguyễn Đan Trường Đặng Ngọc Trường Giang Table Of Content CHAPTER 1: OVERVIEW .1 The urgency of the subject. Purpose of project. Object and scope of the study. Expected results achieved.
STATUS SURVEY AND DETERMINATION OF REQUIREMENTS .1 Current status survey .2 Some sample websites. SYSTEM ARCHITECTURE AND USED TECHNOLOGY .1 Overall architecture of the system. 19 CHAPTER 4: REQUIREMENT MODELING .2 Non-functional requirement .2 Identify actors and use cases .3 Detailed description of each usecase and each actor .2 Use case descriptions .4 Use case diagrams .5 Use case specifications. 31 CHAPTER 5: SYSTEM DESIGN .2 Entity relationship diagram .2 User interface design.
67 CHAPTER 6: IMPLEMENTATION AND TESTING .5 White Box Testing .6 Black Box Testing .2 Strengths and Drawbacks. 91 List Of Figures Figure 1: Agoda website .5 Figure 2: Airbnb website .6 Figure 3: System architecture .7 Figure 4: File structure for admin front-end .8 Figure 5: File structure for client front-end .9 Figure 6: File structure of back-end.10 Figure 7: General use case diagram .28 Figure 8: Admin use case diagram .29 Figure 9: Host use case diagram .30 Figure 10: Customer use case diagram .31 Figure 11: Entity relationship diagram .49 Figure 12: Login page .50 Figure 13: Log in page event diagram .50 Figure 14: Admin page .51 Figure 15: Admin page event diagram .52 Figure 16: Hotel management page .53 Figure 17: Hotel management page event diagram .54 Figure 18: Villa management page .55 Figure 19: Villa management page event diagram .55 Figure 20: Townhouse management page .56 Figure 21: Townhouse management page event diagram .57 Figure 22: News page .57 Figure 23: News page event diagram .58 Figure 24: Account management page .59 Figure 25: Account management page event diagram .60 Figure 26: Hotel bill page .60 Figure 27: Hotel bill page event diagram .61 Figure 28: Sign up page .62 Figure 29: Sign up page event diagram .63 Figure 30: Booking page .63 Figure 31: Booking page event diagram .65 Figure 32: Payment page .66 Figure 33: Payment page event diagram .67 Figure 34: Log in sequence diagram .68 Figure 35: Register sequence diagram .68 Figure 36: Search hotel sequence diagram .69 Figure 37: Create hotel sequence diagram .70 Figure 38: Create order sequence diagram .71 Figure 39: Book hotel sequence diagram .72 Figure 40: Create news sequence diagram .73 Figure 41: Create room sequence diagram .74 Figure 42: Add promotion sequence diagram .75 Figure 43: Manage comment sequence diagram .76 Figure 44: Manage amenity sequence diagram .77 Figure 45: Export statistic sequence diagram .78 Figure 46: Defect tracking process .84 List Of Tables Table 1: Advantages and disavantages of Agoda website .5 Table 2: Advantages and disavantages of Airbnb website .6 Table 3: Back-end packages .12 Table 4: Front-end packages .12 Table 5: Function business requirement .21 Table 6: Function system requirement .22 Table 7: Non-functional requirement .23 Table 8: Actors and use cases .24 Table 9: Actor description .26 Table 10: Use case description .27 Table 11: Use case Log in specification .32 Table 12: Use case Register specification .32 Table 13: Use case View hotel specification .32 Table 14: Use case View news specification.33 Table 15: Use case Search hotel specification.33 Table 16: Use case Manage account specification .34 Table 17: Use case Manage hotel specification.34 Table 18: Use case Manage room specification .35 Table 19: Use case Manage comment specification .35 Table 20: Use case Manage order specification .36 Table 21: Use case Manage news specification .36 Table 22: Use case Manage statistic specification .36 Table 23: Use case Manage price specification.37 Table 24: User model.38 Table 25: Account model.39 Table 27: Comment model .39 Table 28: Contact model .40 Table 29: Holiday model .40 Table 30: Hotel model .42 Table 31: MonthlyFee model.42 Table 32: News model .42 Table 33: News content model .43 Table 34: Room model .43 Table 35: RoomOrder model .45 Table 36: VillaTownhouse model .47 Table 37: VillaTownhouseOrder model .49 Table 38: Log in page component .50 Table 39: Admin page component .52 Table 40: Hotel management page component .53 Table 41: Villa management page component .55 Table 42: Townhouse management page component.56 Table 43: News page component .58 Table 44: Account management page component .59 Table 45: Hotel bill page component .61 Table 46: Sign up page component .62 Table 47: Booking page component .64 Table 48: Payment page component .66 Table 49: Type of testing .83 Table 50: Error classification.84 CHAPTER 1: OVERVIEW CHAPTER 1: OVERVIEW 1.1 The urgency of the subject With the advent of technology and the internet, the traditional method of booking accommodation has undergone a substantial transformation. Online accommodation booking platforms have emerged as powerful tools that revolutionize the way people find and reserve lodging options for their travel needs. Online platforms provide travelers with access to an extensive range of accommodation choices, ranging from hotels, resorts, guesthouses, vacation rentals, and more.
These platforms often aggregate options from multiple providers, giving users a comprehensive selection tailored to their preferences and budget. The ability to compare various accommodations empowers travelers to make informed decisions based on their specific needs. Online booking platforms offer real-time availability information. Travelers can instantly check if a particular accommodation is available on their desired dates, ensuring transparency and avoiding potential disappointment due to overbooking or unavailability.
This feature enables users to plan their trips with greater accuracy and flexibility. It also allow travelers to access authentic user reviews and ratings. This valuable feedback from previous guests helps prospective travelers gain insights into the quality, cleanliness, service, and overall experience of a particular accommodation. This transparency promotes trust and helps users make informed decisions based on the experiences of others.
In summary, the urgency of online accommodation booking lies in its ability to simplify the booking process, provide convenience, offer extensive choices, save costs, and enhance the overall travel experience. With the rapid advancements in technology and increasing reliance on digital solutions, online accommodation booking has become an essential tool for travelers worldwide, catering to their needs efficiently and effectively. 1 CHAPTER 1: OVERVIEW From idea generation to status survey, requirements definition, system design analysis, interface design, etc., to program installation, testing and completion, this article will present Full description of the project implementation process. Purpose of project • Create a website that is convenient for users.
• A website with all basic and stand-out functions of an accommodation booking website. • Ensure stability and security for users. Object and scope of the study The research was conducted around two focus groups of subjects including: subjects with technological knowledge and little knowledge of technology. In which, the group of technology knowledge subjects includes 4 compulsory research subjects: ReactJS Library, NextJS library MongoDB database and Beego framework.