1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Building a website and mobile application for tourist vehicles rental

242 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Building A Website And Mobile Application For Tourist Vehicles Rental
Tác giả Tran Tien Thanh, Ngo Thanh Phu
Người hướng dẫn Nguyen Duc Khoan, M.Sc.IT
Trường học Ho Chi Minh City University of Technology and Education
Chuyên ngành Information Technology
Thể loại Graduation Thesis
Năm xuất bản 2024
Thành phố Ho Chi Minh City
Định dạng
Số trang 242
Dung lượng 10,72 MB

Cấu trúc

  • CHAPTER 1: INTRODUCTION (24)
    • 1.1. Problem Definition (3)
    • 1.2. Objective (3)
    • 1.3. Research objective (3)
    • 1.4. Scope of research (4)
    • 1.5. Scientific and practical significance (4)
  • CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY (27)
    • 2.1. Application review (4)
      • 2.1.1. Mioto Website (27)
      • 2.1.2. Website Thuexesaigon (27)
      • 2.1.3. Chungxe Website (28)
      • 2.1.4. Mioto mobile app (30)
      • 2.1.5. Sigo mobile app (31)
      • 2.1.6. Holacar mobile app (32)
    • 2.2. Overview of survey (4)
      • 2.2.1. What is the conclusion after reviewing? (33)
      • 2.2.2. What is the solution? (33)
    • 2.3. Technology review (4)
      • 2.3.1. MongoDB (33)
        • 2.3.1.1. Definition (34)
        • 2.3.1.2. Advantages (34)
        • 2.4.1.3. Disadvantages (34)
      • 2.3.2. ExpressJs (34)
        • 2.3.2.1. Definition (35)
        • 2.3.2.2. Advantages (35)
        • 2.3.2.3. Disadvantages (35)
      • 2.3.3. ReactJs (36)
        • 2.3.3.1. Definition (36)
        • 2.3.3.2. The characteristics of ReactJS (36)
      • 2.3.4. NodeJS (37)
        • 2.3.4.1. Definition (37)
        • 2.3.4.2. Advantages (37)
        • 2.3.4.3. Disadvantages (38)
      • 2.3.5. React Native (38)
        • 2.3.5.1 Definition (38)
        • 2.3.5.2. Advantages (38)
        • 2.3.5.3. Disadvantages (39)
      • 2.3.5. Google Maps API (40)
  • CHAPTER 3: REQUIREMENT SPECIFICATION (41)
    • 3.1. Functional requirements (4)
      • 3.1.1. User requirements (41)
        • 3.1.1.1. Guest (41)
        • 3.1.1.2. Car renter (41)
        • 3.1.1.3. Car owner (41)
        • 3.1.1.4. Admin (42)
      • 3.1.2. System requirements (43)
        • 3.1.2.1. Actor description (43)
        • 3.1.2.2. Guest use case diagram (43)
        • 3.1.2.3. Car renter use case diagram (44)
        • 3.1.2.4. Car owner use case diagram (45)
        • 3.1.2.5. Admin use case diagram (46)
      • 3.1.3. Use case description (46)
        • 3.1.3.1. Use case Register description (46)
        • 3.1.3.2. Use case Search for cars description (47)
        • 3.1.3.3. Use case View car information description (48)
        • 3.1.3.4. Use case Login description (49)
        • 3.1.3.5. Use case Forgot password description (50)
        • 3.1.3.6. Use case Log out description (51)
        • 3.1.3.7. Use case Edit profile description (52)
        • 3.1.3.8. Use case Verify phone number description (53)
        • 3.1.3.9. Use case Add car to favorites description (55)
        • 3.1.3.10. Use case Remove car from favorites description (56)
        • 3.1.3.11. Use case View list of favorite cars description (56)
        • 3.1.3.12. Use case Change password description (57)
        • 3.1.3.13. Use case Book a trip description (58)
        • 3.1.3.14. Use case Make a payment description (60)
        • 3.1.3.15. Use Case View trip list description (61)
        • 3.1.3.16. Use case View trip details description (62)
        • 3.1.3.17. Use case Review description (62)
        • 3.1.3.18. Use case Become a Car owner description (63)
        • 3.1.3.19. Use case Chat with Car owner description (64)
        • 3.1.3.20. Use case Chat with Car renter description (65)
        • 3.1.3.21. Use case Delete the conversation description (66)
        • 3.1.3.23. Use case Compile revenue statistics description (67)
        • 3.1.3.24. Use case View car list description (68)
        • 3.1.3.25. Use case Search for a car description (69)
        • 3.1.3.26. Use case View car details description (70)
        • 3.1.3.27. Use case Add a car description (71)
        • 3.1.3.28. Use case Edit car description (72)
        • 3.1.3.29. Use case Delete car description (74)
        • 3.1.3.30. Use case View trip list description (75)
        • 3.1.3.31. Use case View trip details description (76)
        • 3.1.3.32. Use case Update trip status description (77)
        • 3.1.3.33. Use case Delete trip description (78)
        • 3.1.3.34. Use case Search for trips description (79)
        • 3.1.3.35. Use case View review list description (80)
        • 3.1.3.36. Use case Reply a comment description (81)
        • 3.1.3.37. Use case Search for reviews description (82)
        • 3.1.3.38. Use case View invoice description (83)
        • 3.1.3.39. Use case Export contract description (84)
        • 3.1.3.40. Use case Compile Revenue statistics of the whole system (85)
        • 3.1.3.41. Use case View Car owner list description (86)
        • 3.1.3.42. Use case View Car owner details description (87)
        • 3.1.3.43. Use case View request list description (87)
        • 3.1.3.44. Use case View request details description (88)
        • 3.1.3.45. Use case Accept request description (89)
        • 3.1.3.46. Use case Decline request description (90)
        • 3.1.3.47. Use case View all accounts description (91)
        • 3.1.3.48. Use case View user details description (92)
        • 3.1.3.49. Use case Delete account description (93)
        • 3.1.3.50. Use case View all categories description (94)
        • 3.1.3.51. Use case Add category description (95)
        • 3.1.3.52. Use case Edit category description (96)
        • 3.1.3.53. Use case Delete category description (97)
        • 3.1.3.54. Use case View all cars description (98)
        • 3.1.3.55. Use case View all trips description (99)
        • 3.1.3.56. Use Case View all reviews description (100)
    • 3.2. Non-functional requirements (4)
      • 3.2.1. Performance requirements (101)
      • 3.2.2. Safety requirements (101)
      • 3.2.3. Security requirements (101)
  • CHAPTER 4: SYSTEM DESIGN (102)
    • 4.1. System Architecture (4)
    • 4.2. Entity Relational Diagram (4)
    • 4.3. Class Diagram (4)
      • 4.3.1. Users collection (104)
      • 4.3.2. Cars collection (105)
      • 4.3.3. Bookings collection (107)
      • 4.3.4. Categories collection (109)
      • 4.3.5. Car owner collection (110)
      • 4.3.6. Favorites collection (111)
      • 4.3.7. Comments collection (111)
      • 4.3.8. Paymentvnpays collection (111)
      • 4.3.9: Features collection (112)
      • 4.3.10. Driverlicenses collection (112)
      • 4.3.11. Otpphones collection (113)
      • 4.3.12. Conversations collection (113)
      • 4.3.13. Messages collection (114)
      • 4.3.14. Bookingdrafts collection (114)
    • 4.4. Sequence Diagram (4)
    • 4.5. Interface design (4)
      • 4.5.1. Website sinterface (0)
      • 4.5.2. Mobile app interface (191)
  • CHAPTER 5: VALIDATION AND DEPLOYMENT (226)
    • 5.1. Test case design (4)
      • 5.1.1. Admin (226)
      • 5.1.2. Car owner (227)
      • 5.1.3. Car renter (228)
      • 5.1.4. Guest (230)
    • 5.2. Deployment (4)
      • 5.2.1. Hardware requirements (231)
      • 5.2.2. Software requirements (231)
    • 5.3. System installation (4)
    • 5.4. Deploy website process (4)
      • 5.4.1. Front-end (ReactJS) (232)
      • 5.4.2. Back-end (NodeJS) (235)
  • CHAPTER 6: CONCLUSION (240)
    • 6.1. Evaluation (240)
    • 6.2. Difficulties (240)
    • 6.3. Future plan (240)

Nội dung

MINISTRY OF EDUCATION AND TRAINING HO CHI MINH CITY UNIVERSITY OF TECHNOLOGY AND EDUCATION GRADUATION THESIS INFORMATION TECHNOLOGY BUILDING A WEBSITE AND MOBILE APPLICATION FOR TOURIS

INTRODUCTION

Scientific and practical significance

2 APPLICATION REVIEW AND CURRENT SURVEY

- Implement case design and project specifications

- Learn about the JavaScript React library and nodeJS

- Learn about React Native framework

- Learn how to use JSON Web Tokens for system API authentication and permission

- Learn how to use MongoDB for user data storage

- Learn how to intergrate Google Maps API into the project

- Proceed to create the system's user interface

- Integrate the built elements (interface, API, database)

- Perfect the system through continuous learning and modification

6 09/06/2024 – 18/06/2024 - Test the system and fix errors

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Advisor: NGUYEN DUC KHOAN, M.Sc.IT

Ho Chi Minh City, July …, 2024

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Ho Chi Minh City, July…, 2024

I hereby declare that this graduation thesis is my own and autonomous work All sources and aids used have been indicated as such All texts either quoted directly or paraphrased have been indicated by in-text citations Full bibliographic details are given in the reference list which also contains internet sources containing URL and access date This work has not been submitted to any other examination authority

We would want to express our appreciation to the instructor, M.Sc.IT Nguyen Duc Khoan, who worked closely with us to develop a project that enabled us to successfully finish our report 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

We now have all we need to learn about this subject and do well in it Additionally, we want to thank our classmates for supplying us with a plethora of knowledge and pertinent facts that helped us to strengthen our thesis

We finished the project and report in a short measure of time, with restricted information and numerous different limitations regarding philosophies and skill with programming execution As a consequence of this, there will undoubtedly be flaws in the process of creating the topic; consequently, we eagerly await your significant feedback so that we can increase the number of our experts and perform better the following time 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, July 2024

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 4

2.2.1 What is the conclusion after reviewing? 10

3.1.2.3 Car renter use case diagram 21

3.1.2.4 Car owner use case diagram 22

3.1.3.2 Use case Search for cars description 24

3.1.3.3 Use case View car information description 25

3.1.3.5 Use case Forgot password description 27

3.1.3.6 Use case Log out description 28

3.1.3.7 Use case Edit profile description 29

3.1.3.8 Use case Verify phone number description 30

3.1.3.9 Use case Add car to favorites description 32

3.1.3.10 Use case Remove car from favorites description 33

3.1.3.11 Use case View list of favorite cars description 33

3.1.3.12 Use case Change password description 34

3.1.3.13 Use case Book a trip description 35

3.1.3.14 Use case Make a payment description 37

3.1.3.15 Use Case View trip list description 38

3.1.3.16 Use case View trip details description 39

3.1.3.18 Use case Become a Car owner description 40

3.1.3.19 Use case Chat with Car owner description 41

3.1.3.20 Use case Chat with Car renter description 42

3.1.3.21 Use case Delete the conversation description 43

3.1.3.23 Use case Compile revenue statistics description 44

3.1.3.24 Use case View car list description 45

3.1.3.25 Use case Search for a car description 46

3.1.3.26 Use case View car details description 47

3.1.3.27 Use case Add a car description 48

3.1.3.28 Use case Edit car description 49

3.1.3.29 Use case Delete car description 51

3.1.3.30 Use case View trip list description 52

3.1.3.31 Use case View trip details description 53

3.1.3.32 Use case Update trip status description 54

3.1.3.33 Use case Delete trip description 55

3.1.3.34 Use case Search for trips description 56

3.1.3.35 Use case View review list description 57

3.1.3.36 Use case Reply a comment description 58

3.1.3.37 Use case Search for reviews description 59

3.1.3.38 Use case View invoice description 60

3.1.3.39 Use case Export contract description 61

3.1.3.40 Use case Compile Revenue statistics of the whole system description 62

3.1.3.41 Use case View Car owner list description 63

3.1.3.42 Use case View Car owner details description 64

3.1.3.43 Use case View request list description 64

3.1.3.44 Use case View request details description 65

3.1.3.45 Use case Accept request description 66

3.1.3.46 Use case Decline request description 67

3.1.3.47 Use case View all accounts description 68

3.1.3.48 Use case View user details description 69

3.1.3.49 Use case Delete account description 70

3.1.3.50 Use case View all categories description 71

3.1.3.51 Use case Add category description 72

3.1.3.52 Use case Edit category description 73

3.1.3.53 Use case Delete category description 74

3.1.3.54 Use case View all cars description 75

3.1.3.55 Use case View all trips description 76

3.1.3.56 Use Case View all reviews description 77

Figure 3.1: Guest use case diagram 20

Figure 3.2: Car renter use case diagram 21

Figure 3.3: Car owner use case diagram 22

Figure 3.4: Admin use case diagram 23

Figure 4.6: Forgot Password sequence diagram 95

Figure 4.7: Search for cars sequence diagram 96

Figure 4.8: Log out sequence diagram 96

Figure 4.10: Update Profile sequence diagram 98

Figure 4.11: Verify phone number sequence diagram 99

Figure 4.12: Add a car to favorite list sequence diagram 100

Figure 4.13: Change password sequence diagram 101

Figure 4.14: Book a trip sequence diagram 102

Figure 4.15: Make a payment sequence diagram 103

Figure 4.16: Become a Car owner sequence diagram 104

Figure 4.17: Chat with Car owner sequence diagram 105

Figure 4.18: Chat with Car renter sequence diagram 106

Figure 4.19: Delete conversation sequence diagram 107

Figure 4.20: Revenue Statistics sequence diagram 107

Figure 4.21: Add car sequence diagram 108

Figure 4.22: Edit car sequence diagram 109

Figure 4.23: Delete car sequence diagram 110

Figure 4.24: Update trip status sequence diagram 110

Figure 4.25: Delete trip sequence diagram 111

Figure 4.26: Reply to a comment sequence diagram 112

Figure 4.27: Accept the request sequence diagram 113

Figure 4.28: Delcine the request sequence diagram 114

Figure 4.29: Delete account sequence diagram 115

Figure 4.30: Add category sequence diagram 116

Figure 4.31: Edit category sequence diagram 117

Figure 4.32: Delete category sequence diagram 118

Figure 4.38: Car renter profile interface 123

Figure 4.40: View list trip interface 125

Figure 4.41: View list of favorite cars interface 126

Figure 4.42: Verify diver license interface 127

Figure 4.43: Chat with Car owner interface 128

Figure 4.44: Search for cars interface 129

Figure 4.45: Search for cars by map interface 130

Figure 4.50: Car owner information interface 135

Figure 4.51: Chat with Car owner interface 136

Figure 4.54: Confirm and payment interface 139

Figure 4.57: Become car owner interface 142

Figure 4.58: Sign up modal interface 143

Figure 4.59: Car owner-Admin homepage 144

Figure 4.60: Car owner-Admin login interface 145

Figure 4.61: Car owner-Admin forgot password interface 145

Figure 4.62: Car owner-Admin profile interface 146

Figure 4.63: Owner-Admin change password interface 148

Figure 4.65: Owner-Admin car list interface 150

Figure 4.66: Add-Edit car interface 1 151

Figure 4.67: Add-Edit car interface 2 152

Figure 4.68: Add-Edit car interface 3 154

Figure 4.71: Chat with Car renter interface 157

Figure 4.76: Car owner list interface 161

Figure 4.77: Car owner details interface 162

Figure 4.80: Car renter list interface 164

Figure 4.81: Car renter details interface 165

Figure 4.82: Add-Update category interface 167

Figure 4.84: Search for cars interface 169

Figure 4.85: Search for cars by map interface 171

Figure 4.86: Search for cars by filter interface 172

Figure 4.88: Car owner information interface 175

Figure 4.89: Chat with Car owner interface 176

Figure 4.96: My Account – Edit interface 183

Figure 4.99: Become Car owner interface 186

Figure 4.100: My Favorite Cars interface 188

Figure 4.102: My Driver license interface 190

Figure 4.108: Add – Edit car interface 197

Figure 4.111: Conversation – Chat with Car renter interface 201

Figure 5.1: Configure Deployment Front-end 210

Figure 5.3: Manage Deployments Front-end 212

Figure 5.5: Configure Deployment Back-end 214

Figure 5.7: Manage Deployments Back-end 216

Table 3.3: Use case Search for cars 24

Table 3.4: Use case View car information 25

Table 3.6: Use case Forgot Password 27

Table 3.7: Use case Log out 28

Table 3.8: Use case Edit profile 29

Table 3.9: Use case Verify phone number 30

Table 3.10: Use case Add car to favorites 32

Table 3.11: Use case Remove car from favorites 33

Table 3.12: Use case View list of favorite cars 33

Table 3.13: Use case Change password 34

Table 3.14: Use case Book a trip 35

Table 3.15: Use case Make a payment 37

Table 3.16: Use case View trip list 38

Table 3.17: Use case View trip details 39

Table 3.19: Use case Sign up to become a Car owner 40

Table 3.20: Use case View car information 41

Table 3.21: Use case View car information 42

Table 3.22: Use case Delete the conversation 43

Table 3.24: Use case Compile revenue statistics 44

Table 3.25: Use case View list cars 45

Table 3.26: Use case Search for a car 46

Table 3.27: Use case View car details 47

Table 3.28: Use case Add a car 48

Table 3.29: Use case Edit car 49

Table 3.30: Use case Delete car 51

Table 3.31: Use case View list bookings 52

Table 3.32: Use case View booking details 53

Table 3.33: Use case Update trip status 54

Table 3.34: Use case Delete trip 55

Table 3.35: Use case Search for trips 56

Table 3.36: Use case View review list 57

Table 3.37: Use case Reply a comment 58

Table 3.38: Use case Search for reviews 59

Table 3.39: Use case View invoice 60

Table 3.40: Use case Export contract 61

Table 3.41: Use case Compile revenue statistics of the whole website 62

Table 3.42: Use case View list Car owners 63

Table 3.43: Use case View Car owner details 64

Table 3.44: Use case View the list requests 64

Table 3.45: Use cases View request details 65

Table 3.46: Use case Accept request 66

Table 3.47: Use case Decline request 67

Table 3.48: Use case View all accounts 68

Table 3.49: Use case View Car user details 69

Table 2.51: Use case View all categories 71

Table 3.52: Use case Add category 72

Table 3.53: Use case Edit category 73

Table 3.54: Use case Delete category 74

Table 3.55: Use case View all cars 75

Table 3.56: Use cases View all trips 76

Table 3.57: Use case View all reviews 77

Table 4.18: Forgot password interface description 121

Table 4.19: Car renter homepage description 122

Table 4.19: Car renter profile interface description 123

Table 4.20: Change password interface description 125

Table 4.21: View list trip interface description 125

Table 4.22: View list of favorite cars interface description 126

Table 4.23: Verify driver license interface description 127

Table 4.24: Chat with Car owner interface description 128

Table 4.25 Search for cars interface description 129

Table 4.26: Search for cars by map interface description 130

Table 4.27: List cars interface description 131

Table 4.28: Car details interface 1 description 132Table 4.29: Car details interface 2 description 133Table 4.30: Car details interface 3 description 134Table 4.31: Car owner information description 135Table 4.32: Chat with Car owner description 136Table 4.33: Change location interface description 137Table 4.34: Review interface description 138Table 4.35: Confirm and payment interface description 139Table 4.36: VNPay interface description 140Table 4.37: Paydone interface description 141Table 4.38: Become car owner interface description 142Table 4.39: Sign up modal interface description 143Table 4.40: Car owner-Admin homepage description 144Table 4.41: Car owner-Admin login interface description 145Table 4.42: Car owner-Admin forgot password interface description 146Table 4.43: Car owner-Admin profile interface description 146Table 4.44: Owner-Admin change password interface description 148Table 4.45: Owner homepage interface description 149Table 4.46: Owner-Admin car list interface description 150Table 4.47: Add-Edit car interface 1 description 151Table 4.48: Add-Edit car interface 2 description 152Table 4.49: Add-Edit car interface 3 description 154Table 4.50: Trip list description 155Table 4.51: Trip detail description 156Table 4.52: Chat with Car renter description 157Table 4.53: Review list description 158Table 4.54: Reply description 159Table 4.55: Contract description 159Table 4.56: Admin homepage interface description 160Table 4.57: Car owner list interface description 161Table 4.58: Car owner details interface description 162Table 4.59: Request list interface description 163Table 4.60: Request details interface description 164Table 4.61: Car renter list interface description 164Table 4.62: Car renter details interface description 165Table 4.62: Category list interface description 166Table 4.63: Add-Update category interface description 167Table 4.64: Guest homepage interface description 168Table 4.65: Search for cars interface description 169Table 4.66: Search for cars by map interface description 171Table 4.67: Search for cars by filter interface description 172Table 4.68: Car details interface description 173Table 4.69: Car owner information interface description 175

Table 4.70: Chat with Car owner interface description 176Table 4.71: Book a trip interface description 177Table 4.72: Register interface description 178Table 4.73: Verify OTP interface description 179Table 4.74: Login interface description 180Table 4.75: Forgot Password interface description 181Table 4.76: My Profile interface description 182Table 4.77: My Account – Edit interface description 183Table 4.78: My Trip interface description 184Table 4.79: Trip details interface description 186Table 4.80: Become Car owner interface description 186Table 4.81: My Favorite Cars interface description 188Table 4.82: My Message interface description 189Table 4.83: My Driver license interface description 190Table 4.84: Change Password interface description 191Table 4.85: Dashboard interface description 192Table 4.86: Revenue Statistics interface description 193Table 4.87: Store Profile interface description 194Table 4.88: List car interface description 195Table 4.89: Add – Edit car interface description 197Table 4.90: List trip interface description 199Table 4.91: Review interface description 200Table 4.92: Conversation – Chat with Car renter interface description 201Table 4.93: Export contract interface description 202Table 5.1: Test case admin description 203Table 5.2: Test case car owner description 204Table 5.3: Test case Car renter description 205Table 5.4: Test case guest description 207Table 5.5: Hardware requirements 208

The tourist vehicle rental industry faces significant challenges in ensuring seamless and efficient services for customers Traditional methods of booking and managing rentals, often reliant on phone calls or in-person visits, are cumbersome and time-consuming These methods can lead to errors, double bookings, and customer dissatisfaction due to the lack of real-time availability information Additionally, tourists, especially those unfamiliar with the local language or customs, may find it difficult to navigate these traditional systems As the demand for travel and tourism grows, there is an increasing need for a streamlined, user-friendly platform that can handle the complexities of vehicle rentals, ensuring a smooth experience for both customers and service providers

The core problem is the lack of an integrated digital solution that can address the needs of modern travelers Existing platforms, if any, often lack essential features such as real-time chatting, user-friendly interfaces, secure payment gateways, and reliable customer support Moreover, the absence of a centralized system makes it difficult for rental companies to manage their fleet, track bookings, and analyze customer data for better service delivery The topic "Building a website and mobile application for tourist vehicles rental." goal is to eliminate these pain points This solution aims to provide a seamless booking process, real-time availability checks, multiple payment options, and personalized customer support, enhancing the overall rental experience and operational efficiency

The main purpose of building the car rental website is to create convenience, save time and costs while still ensuring high efficiency In addition, the team aims to achieve the following objectives after implementation:

- Apply acquired knowledge in the project execution process

- Build a "User-Friendly" website and application

- Facilitate users in easily performing actions such as viewing and renting vehicles

- Quickly update information on new cars and owner details

- Design store management for easy operation

- Ensure the security of customer information

For Customers: The website and application developed by our team may not be entirely complete, but it can assist users in easily renting vehicles, providing a space for efficient and reputable business operations

For Our Team: This project serves to enhance our skills in website design and analysis of a car rental platform Additionally, it helps us gain in-depth knowledge of languages and software that support us throughout the project development process

Create a website (utilizing MongoDB and ReactJS) and a mobile app (built with MongoDB, React Native, Expo) featuring intuitive interfaces tailored for seamless car search, trip booking, secure payments, and car owner collaboration

Implement car renters features such as user authentication, car search, car location, car rental, payment, personal information management, trip history, favorite car management, and driver license verification

Car owners can list their cars for rent, manage them, respond to comments, update trip statuses, trip management, create rental contracts, statistics on each car’s revenue and total revenue

The administrator will manage accounts, car owners, cars, categories and grant permission to cooperate with the system

After completing the project, our team has honed and acquired many valuable skills and knowledge, especially in the use of current emerging technologies Through

3 this process, the team has gained experience for future projects When our work is applied in practice, it will effectively meet the goal of connecting people through social networks, particularly the younger generation in today's technological era

APPLICATION REVIEW AND CURRENT SURVEY

Technology review

- Implement case design and project specifications

- Learn about the JavaScript React library and nodeJS

- Learn about React Native framework

- Learn how to use JSON Web Tokens for system API authentication and permission

- Learn how to use MongoDB for user data storage

- Learn how to intergrate Google Maps API into the project

- Proceed to create the system's user interface

- Integrate the built elements (interface, API, database)

- Perfect the system through continuous learning and modification

6 09/06/2024 – 18/06/2024 - Test the system and fix errors

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Advisor: NGUYEN DUC KHOAN, M.Sc.IT

Ho Chi Minh City, July …, 2024

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Ho Chi Minh City, July…, 2024

I hereby declare that this graduation thesis is my own and autonomous work All sources and aids used have been indicated as such All texts either quoted directly or paraphrased have been indicated by in-text citations Full bibliographic details are given in the reference list which also contains internet sources containing URL and access date This work has not been submitted to any other examination authority

We would want to express our appreciation to the instructor, M.Sc.IT Nguyen Duc Khoan, who worked closely with us to develop a project that enabled us to successfully finish our report 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

We now have all we need to learn about this subject and do well in it Additionally, we want to thank our classmates for supplying us with a plethora of knowledge and pertinent facts that helped us to strengthen our thesis

We finished the project and report in a short measure of time, with restricted information and numerous different limitations regarding philosophies and skill with programming execution As a consequence of this, there will undoubtedly be flaws in the process of creating the topic; consequently, we eagerly await your significant feedback so that we can increase the number of our experts and perform better the following time 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, July 2024

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 4

2.2.1 What is the conclusion after reviewing? 10

3.1.2.3 Car renter use case diagram 21

3.1.2.4 Car owner use case diagram 22

3.1.3.2 Use case Search for cars description 24

3.1.3.3 Use case View car information description 25

3.1.3.5 Use case Forgot password description 27

3.1.3.6 Use case Log out description 28

3.1.3.7 Use case Edit profile description 29

3.1.3.8 Use case Verify phone number description 30

3.1.3.9 Use case Add car to favorites description 32

3.1.3.10 Use case Remove car from favorites description 33

3.1.3.11 Use case View list of favorite cars description 33

3.1.3.12 Use case Change password description 34

3.1.3.13 Use case Book a trip description 35

3.1.3.14 Use case Make a payment description 37

3.1.3.15 Use Case View trip list description 38

3.1.3.16 Use case View trip details description 39

3.1.3.18 Use case Become a Car owner description 40

3.1.3.19 Use case Chat with Car owner description 41

3.1.3.20 Use case Chat with Car renter description 42

3.1.3.21 Use case Delete the conversation description 43

3.1.3.23 Use case Compile revenue statistics description 44

3.1.3.24 Use case View car list description 45

3.1.3.25 Use case Search for a car description 46

3.1.3.26 Use case View car details description 47

3.1.3.27 Use case Add a car description 48

3.1.3.28 Use case Edit car description 49

3.1.3.29 Use case Delete car description 51

3.1.3.30 Use case View trip list description 52

3.1.3.31 Use case View trip details description 53

3.1.3.32 Use case Update trip status description 54

3.1.3.33 Use case Delete trip description 55

3.1.3.34 Use case Search for trips description 56

3.1.3.35 Use case View review list description 57

3.1.3.36 Use case Reply a comment description 58

3.1.3.37 Use case Search for reviews description 59

3.1.3.38 Use case View invoice description 60

3.1.3.39 Use case Export contract description 61

3.1.3.40 Use case Compile Revenue statistics of the whole system description 62

3.1.3.41 Use case View Car owner list description 63

3.1.3.42 Use case View Car owner details description 64

3.1.3.43 Use case View request list description 64

3.1.3.44 Use case View request details description 65

3.1.3.45 Use case Accept request description 66

3.1.3.46 Use case Decline request description 67

3.1.3.47 Use case View all accounts description 68

3.1.3.48 Use case View user details description 69

3.1.3.49 Use case Delete account description 70

3.1.3.50 Use case View all categories description 71

3.1.3.51 Use case Add category description 72

3.1.3.52 Use case Edit category description 73

3.1.3.53 Use case Delete category description 74

3.1.3.54 Use case View all cars description 75

3.1.3.55 Use case View all trips description 76

3.1.3.56 Use Case View all reviews description 77

Figure 3.1: Guest use case diagram 20

Figure 3.2: Car renter use case diagram 21

Figure 3.3: Car owner use case diagram 22

Figure 3.4: Admin use case diagram 23

Figure 4.6: Forgot Password sequence diagram 95

Figure 4.7: Search for cars sequence diagram 96

Figure 4.8: Log out sequence diagram 96

Figure 4.10: Update Profile sequence diagram 98

Figure 4.11: Verify phone number sequence diagram 99

Figure 4.12: Add a car to favorite list sequence diagram 100

Figure 4.13: Change password sequence diagram 101

Figure 4.14: Book a trip sequence diagram 102

Figure 4.15: Make a payment sequence diagram 103

Figure 4.16: Become a Car owner sequence diagram 104

Figure 4.17: Chat with Car owner sequence diagram 105

Figure 4.18: Chat with Car renter sequence diagram 106

Figure 4.19: Delete conversation sequence diagram 107

Figure 4.20: Revenue Statistics sequence diagram 107

Figure 4.21: Add car sequence diagram 108

Figure 4.22: Edit car sequence diagram 109

Figure 4.23: Delete car sequence diagram 110

Figure 4.24: Update trip status sequence diagram 110

Figure 4.25: Delete trip sequence diagram 111

Figure 4.26: Reply to a comment sequence diagram 112

Figure 4.27: Accept the request sequence diagram 113

Figure 4.28: Delcine the request sequence diagram 114

Figure 4.29: Delete account sequence diagram 115

Figure 4.30: Add category sequence diagram 116

Figure 4.31: Edit category sequence diagram 117

Figure 4.32: Delete category sequence diagram 118

Figure 4.38: Car renter profile interface 123

Figure 4.40: View list trip interface 125

Figure 4.41: View list of favorite cars interface 126

Figure 4.42: Verify diver license interface 127

Figure 4.43: Chat with Car owner interface 128

Figure 4.44: Search for cars interface 129

Figure 4.45: Search for cars by map interface 130

Figure 4.50: Car owner information interface 135

Figure 4.51: Chat with Car owner interface 136

Figure 4.54: Confirm and payment interface 139

Figure 4.57: Become car owner interface 142

Figure 4.58: Sign up modal interface 143

Figure 4.59: Car owner-Admin homepage 144

Figure 4.60: Car owner-Admin login interface 145

Figure 4.61: Car owner-Admin forgot password interface 145

Figure 4.62: Car owner-Admin profile interface 146

Figure 4.63: Owner-Admin change password interface 148

Figure 4.65: Owner-Admin car list interface 150

Figure 4.66: Add-Edit car interface 1 151

Figure 4.67: Add-Edit car interface 2 152

Figure 4.68: Add-Edit car interface 3 154

Figure 4.71: Chat with Car renter interface 157

Figure 4.76: Car owner list interface 161

Figure 4.77: Car owner details interface 162

Figure 4.80: Car renter list interface 164

Figure 4.81: Car renter details interface 165

Figure 4.82: Add-Update category interface 167

Figure 4.84: Search for cars interface 169

Figure 4.85: Search for cars by map interface 171

Figure 4.86: Search for cars by filter interface 172

Figure 4.88: Car owner information interface 175

Figure 4.89: Chat with Car owner interface 176

Figure 4.96: My Account – Edit interface 183

Figure 4.99: Become Car owner interface 186

Figure 4.100: My Favorite Cars interface 188

Figure 4.102: My Driver license interface 190

Figure 4.108: Add – Edit car interface 197

Figure 4.111: Conversation – Chat with Car renter interface 201

Figure 5.1: Configure Deployment Front-end 210

Figure 5.3: Manage Deployments Front-end 212

Figure 5.5: Configure Deployment Back-end 214

Figure 5.7: Manage Deployments Back-end 216

Table 3.3: Use case Search for cars 24

Table 3.4: Use case View car information 25

Table 3.6: Use case Forgot Password 27

Table 3.7: Use case Log out 28

Table 3.8: Use case Edit profile 29

Table 3.9: Use case Verify phone number 30

Table 3.10: Use case Add car to favorites 32

Table 3.11: Use case Remove car from favorites 33

Table 3.12: Use case View list of favorite cars 33

Table 3.13: Use case Change password 34

Table 3.14: Use case Book a trip 35

Table 3.15: Use case Make a payment 37

Table 3.16: Use case View trip list 38

Table 3.17: Use case View trip details 39

Table 3.19: Use case Sign up to become a Car owner 40

Table 3.20: Use case View car information 41

Table 3.21: Use case View car information 42

Table 3.22: Use case Delete the conversation 43

Table 3.24: Use case Compile revenue statistics 44

Table 3.25: Use case View list cars 45

Table 3.26: Use case Search for a car 46

Table 3.27: Use case View car details 47

Table 3.28: Use case Add a car 48

Table 3.29: Use case Edit car 49

Table 3.30: Use case Delete car 51

Table 3.31: Use case View list bookings 52

Table 3.32: Use case View booking details 53

Table 3.33: Use case Update trip status 54

Table 3.34: Use case Delete trip 55

Table 3.35: Use case Search for trips 56

Table 3.36: Use case View review list 57

Table 3.37: Use case Reply a comment 58

Table 3.38: Use case Search for reviews 59

Table 3.39: Use case View invoice 60

Table 3.40: Use case Export contract 61

Table 3.41: Use case Compile revenue statistics of the whole website 62

Table 3.42: Use case View list Car owners 63

Table 3.43: Use case View Car owner details 64

Table 3.44: Use case View the list requests 64

Table 3.45: Use cases View request details 65

Table 3.46: Use case Accept request 66

Table 3.47: Use case Decline request 67

Table 3.48: Use case View all accounts 68

Table 3.49: Use case View Car user details 69

Table 2.51: Use case View all categories 71

Table 3.52: Use case Add category 72

Table 3.53: Use case Edit category 73

Table 3.54: Use case Delete category 74

Table 3.55: Use case View all cars 75

Table 3.56: Use cases View all trips 76

Table 3.57: Use case View all reviews 77

Table 4.18: Forgot password interface description 121

Table 4.19: Car renter homepage description 122

Table 4.19: Car renter profile interface description 123

Table 4.20: Change password interface description 125

Table 4.21: View list trip interface description 125

Table 4.22: View list of favorite cars interface description 126

Table 4.23: Verify driver license interface description 127

Table 4.24: Chat with Car owner interface description 128

Table 4.25 Search for cars interface description 129

Table 4.26: Search for cars by map interface description 130

Table 4.27: List cars interface description 131

Table 4.28: Car details interface 1 description 132Table 4.29: Car details interface 2 description 133Table 4.30: Car details interface 3 description 134Table 4.31: Car owner information description 135Table 4.32: Chat with Car owner description 136Table 4.33: Change location interface description 137Table 4.34: Review interface description 138Table 4.35: Confirm and payment interface description 139Table 4.36: VNPay interface description 140Table 4.37: Paydone interface description 141Table 4.38: Become car owner interface description 142Table 4.39: Sign up modal interface description 143Table 4.40: Car owner-Admin homepage description 144Table 4.41: Car owner-Admin login interface description 145Table 4.42: Car owner-Admin forgot password interface description 146Table 4.43: Car owner-Admin profile interface description 146Table 4.44: Owner-Admin change password interface description 148Table 4.45: Owner homepage interface description 149Table 4.46: Owner-Admin car list interface description 150Table 4.47: Add-Edit car interface 1 description 151Table 4.48: Add-Edit car interface 2 description 152Table 4.49: Add-Edit car interface 3 description 154Table 4.50: Trip list description 155Table 4.51: Trip detail description 156Table 4.52: Chat with Car renter description 157Table 4.53: Review list description 158Table 4.54: Reply description 159Table 4.55: Contract description 159Table 4.56: Admin homepage interface description 160Table 4.57: Car owner list interface description 161Table 4.58: Car owner details interface description 162Table 4.59: Request list interface description 163Table 4.60: Request details interface description 164Table 4.61: Car renter list interface description 164Table 4.62: Car renter details interface description 165Table 4.62: Category list interface description 166Table 4.63: Add-Update category interface description 167Table 4.64: Guest homepage interface description 168Table 4.65: Search for cars interface description 169Table 4.66: Search for cars by map interface description 171Table 4.67: Search for cars by filter interface description 172Table 4.68: Car details interface description 173Table 4.69: Car owner information interface description 175

Table 4.70: Chat with Car owner interface description 176Table 4.71: Book a trip interface description 177Table 4.72: Register interface description 178Table 4.73: Verify OTP interface description 179Table 4.74: Login interface description 180Table 4.75: Forgot Password interface description 181Table 4.76: My Profile interface description 182Table 4.77: My Account – Edit interface description 183Table 4.78: My Trip interface description 184Table 4.79: Trip details interface description 186Table 4.80: Become Car owner interface description 186Table 4.81: My Favorite Cars interface description 188Table 4.82: My Message interface description 189Table 4.83: My Driver license interface description 190Table 4.84: Change Password interface description 191Table 4.85: Dashboard interface description 192Table 4.86: Revenue Statistics interface description 193Table 4.87: Store Profile interface description 194Table 4.88: List car interface description 195Table 4.89: Add – Edit car interface description 197Table 4.90: List trip interface description 199Table 4.91: Review interface description 200Table 4.92: Conversation – Chat with Car renter interface description 201Table 4.93: Export contract interface description 202Table 5.1: Test case admin description 203Table 5.2: Test case car owner description 204Table 5.3: Test case Car renter description 205Table 5.4: Test case guest description 207Table 5.5: Hardware requirements 208

The tourist vehicle rental industry faces significant challenges in ensuring seamless and efficient services for customers Traditional methods of booking and managing rentals, often reliant on phone calls or in-person visits, are cumbersome and time-consuming These methods can lead to errors, double bookings, and customer dissatisfaction due to the lack of real-time availability information Additionally, tourists, especially those unfamiliar with the local language or customs, may find it difficult to navigate these traditional systems As the demand for travel and tourism grows, there is an increasing need for a streamlined, user-friendly platform that can handle the complexities of vehicle rentals, ensuring a smooth experience for both customers and service providers

The core problem is the lack of an integrated digital solution that can address the needs of modern travelers Existing platforms, if any, often lack essential features such as real-time chatting, user-friendly interfaces, secure payment gateways, and reliable customer support Moreover, the absence of a centralized system makes it difficult for rental companies to manage their fleet, track bookings, and analyze customer data for better service delivery The topic "Building a website and mobile application for tourist vehicles rental." goal is to eliminate these pain points This solution aims to provide a seamless booking process, real-time availability checks, multiple payment options, and personalized customer support, enhancing the overall rental experience and operational efficiency

The main purpose of building the car rental website is to create convenience, save time and costs while still ensuring high efficiency In addition, the team aims to achieve the following objectives after implementation:

- Apply acquired knowledge in the project execution process

- Build a "User-Friendly" website and application

- Facilitate users in easily performing actions such as viewing and renting vehicles

- Quickly update information on new cars and owner details

- Design store management for easy operation

- Ensure the security of customer information

For Customers: The website and application developed by our team may not be entirely complete, but it can assist users in easily renting vehicles, providing a space for efficient and reputable business operations

For Our Team: This project serves to enhance our skills in website design and analysis of a car rental platform Additionally, it helps us gain in-depth knowledge of languages and software that support us throughout the project development process

Create a website (utilizing MongoDB and ReactJS) and a mobile app (built with MongoDB, React Native, Expo) featuring intuitive interfaces tailored for seamless car search, trip booking, secure payments, and car owner collaboration

Implement car renters features such as user authentication, car search, car location, car rental, payment, personal information management, trip history, favorite car management, and driver license verification

Car owners can list their cars for rent, manage them, respond to comments, update trip statuses, trip management, create rental contracts, statistics on each car’s revenue and total revenue

The administrator will manage accounts, car owners, cars, categories and grant permission to cooperate with the system

After completing the project, our team has honed and acquired many valuable skills and knowledge, especially in the use of current emerging technologies Through

3 this process, the team has gained experience for future projects When our work is applied in practice, it will effectively meet the goal of connecting people through social networks, particularly the younger generation in today's technological era

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 2.1 Application review

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by owners

• Search for cars by city, time

• Diverse car model and price

• Support for renting cars on multiple routes and cities

• Various forms of car rental

• Only direct payment is supported.

• Display cars posted by owners

• Car owners post their cars for rent

• Search for cars by city, time

• The partner registration process is relatively complex.

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by car owners

• Search for cars by city, time

• Support car rental in many cities

• The interface is not eye-catching

• Display cars posted by car owners

• Car owners post their cars for rent

• Search for cars by city, time

• Support car rental in many cities

• Simple, eye-catching interface for easy operation

After conducting a status survey, the team has drawn valuable experiences to design and implement from the interface and logic to support users to meet the basic needs of car rental and car owner registration

2.2.1 What is the conclusion after reviewing?

The conclusion is based on the content of the website and mobile application that supports the need of the project’s requirement These websites and mobile applications are very good and have many experiences about car rental But if we can combine a part of each website and mobile application then we can serve as a useful car rental system

REQUIREMENT SPECIFICATION

Non-functional requirements

- Implement case design and project specifications

- Learn about the JavaScript React library and nodeJS

- Learn about React Native framework

- Learn how to use JSON Web Tokens for system API authentication and permission

- Learn how to use MongoDB for user data storage

- Learn how to intergrate Google Maps API into the project

- Proceed to create the system's user interface

- Integrate the built elements (interface, API, database)

- Perfect the system through continuous learning and modification

6 09/06/2024 – 18/06/2024 - Test the system and fix errors

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Advisor: NGUYEN DUC KHOAN, M.Sc.IT

Ho Chi Minh City, July …, 2024

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Ho Chi Minh City, July…, 2024

I hereby declare that this graduation thesis is my own and autonomous work All sources and aids used have been indicated as such All texts either quoted directly or paraphrased have been indicated by in-text citations Full bibliographic details are given in the reference list which also contains internet sources containing URL and access date This work has not been submitted to any other examination authority

We would want to express our appreciation to the instructor, M.Sc.IT Nguyen Duc Khoan, who worked closely with us to develop a project that enabled us to successfully finish our report 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

We now have all we need to learn about this subject and do well in it Additionally, we want to thank our classmates for supplying us with a plethora of knowledge and pertinent facts that helped us to strengthen our thesis

We finished the project and report in a short measure of time, with restricted information and numerous different limitations regarding philosophies and skill with programming execution As a consequence of this, there will undoubtedly be flaws in the process of creating the topic; consequently, we eagerly await your significant feedback so that we can increase the number of our experts and perform better the following time 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, July 2024

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 4

2.2.1 What is the conclusion after reviewing? 10

3.1.2.3 Car renter use case diagram 21

3.1.2.4 Car owner use case diagram 22

3.1.3.2 Use case Search for cars description 24

3.1.3.3 Use case View car information description 25

3.1.3.5 Use case Forgot password description 27

3.1.3.6 Use case Log out description 28

3.1.3.7 Use case Edit profile description 29

3.1.3.8 Use case Verify phone number description 30

3.1.3.9 Use case Add car to favorites description 32

3.1.3.10 Use case Remove car from favorites description 33

3.1.3.11 Use case View list of favorite cars description 33

3.1.3.12 Use case Change password description 34

3.1.3.13 Use case Book a trip description 35

3.1.3.14 Use case Make a payment description 37

3.1.3.15 Use Case View trip list description 38

3.1.3.16 Use case View trip details description 39

3.1.3.18 Use case Become a Car owner description 40

3.1.3.19 Use case Chat with Car owner description 41

3.1.3.20 Use case Chat with Car renter description 42

3.1.3.21 Use case Delete the conversation description 43

3.1.3.23 Use case Compile revenue statistics description 44

3.1.3.24 Use case View car list description 45

3.1.3.25 Use case Search for a car description 46

3.1.3.26 Use case View car details description 47

3.1.3.27 Use case Add a car description 48

3.1.3.28 Use case Edit car description 49

3.1.3.29 Use case Delete car description 51

3.1.3.30 Use case View trip list description 52

3.1.3.31 Use case View trip details description 53

3.1.3.32 Use case Update trip status description 54

3.1.3.33 Use case Delete trip description 55

3.1.3.34 Use case Search for trips description 56

3.1.3.35 Use case View review list description 57

3.1.3.36 Use case Reply a comment description 58

3.1.3.37 Use case Search for reviews description 59

3.1.3.38 Use case View invoice description 60

3.1.3.39 Use case Export contract description 61

3.1.3.40 Use case Compile Revenue statistics of the whole system description 62

3.1.3.41 Use case View Car owner list description 63

3.1.3.42 Use case View Car owner details description 64

3.1.3.43 Use case View request list description 64

3.1.3.44 Use case View request details description 65

3.1.3.45 Use case Accept request description 66

3.1.3.46 Use case Decline request description 67

3.1.3.47 Use case View all accounts description 68

3.1.3.48 Use case View user details description 69

3.1.3.49 Use case Delete account description 70

3.1.3.50 Use case View all categories description 71

3.1.3.51 Use case Add category description 72

3.1.3.52 Use case Edit category description 73

3.1.3.53 Use case Delete category description 74

3.1.3.54 Use case View all cars description 75

3.1.3.55 Use case View all trips description 76

3.1.3.56 Use Case View all reviews description 77

Figure 3.1: Guest use case diagram 20

Figure 3.2: Car renter use case diagram 21

Figure 3.3: Car owner use case diagram 22

Figure 3.4: Admin use case diagram 23

Figure 4.6: Forgot Password sequence diagram 95

Figure 4.7: Search for cars sequence diagram 96

Figure 4.8: Log out sequence diagram 96

Figure 4.10: Update Profile sequence diagram 98

Figure 4.11: Verify phone number sequence diagram 99

Figure 4.12: Add a car to favorite list sequence diagram 100

Figure 4.13: Change password sequence diagram 101

Figure 4.14: Book a trip sequence diagram 102

Figure 4.15: Make a payment sequence diagram 103

Figure 4.16: Become a Car owner sequence diagram 104

Figure 4.17: Chat with Car owner sequence diagram 105

Figure 4.18: Chat with Car renter sequence diagram 106

Figure 4.19: Delete conversation sequence diagram 107

Figure 4.20: Revenue Statistics sequence diagram 107

Figure 4.21: Add car sequence diagram 108

Figure 4.22: Edit car sequence diagram 109

Figure 4.23: Delete car sequence diagram 110

Figure 4.24: Update trip status sequence diagram 110

Figure 4.25: Delete trip sequence diagram 111

Figure 4.26: Reply to a comment sequence diagram 112

Figure 4.27: Accept the request sequence diagram 113

Figure 4.28: Delcine the request sequence diagram 114

Figure 4.29: Delete account sequence diagram 115

Figure 4.30: Add category sequence diagram 116

Figure 4.31: Edit category sequence diagram 117

Figure 4.32: Delete category sequence diagram 118

Figure 4.38: Car renter profile interface 123

Figure 4.40: View list trip interface 125

Figure 4.41: View list of favorite cars interface 126

Figure 4.42: Verify diver license interface 127

Figure 4.43: Chat with Car owner interface 128

Figure 4.44: Search for cars interface 129

Figure 4.45: Search for cars by map interface 130

Figure 4.50: Car owner information interface 135

Figure 4.51: Chat with Car owner interface 136

Figure 4.54: Confirm and payment interface 139

Figure 4.57: Become car owner interface 142

Figure 4.58: Sign up modal interface 143

Figure 4.59: Car owner-Admin homepage 144

Figure 4.60: Car owner-Admin login interface 145

Figure 4.61: Car owner-Admin forgot password interface 145

Figure 4.62: Car owner-Admin profile interface 146

Figure 4.63: Owner-Admin change password interface 148

Figure 4.65: Owner-Admin car list interface 150

Figure 4.66: Add-Edit car interface 1 151

Figure 4.67: Add-Edit car interface 2 152

Figure 4.68: Add-Edit car interface 3 154

Figure 4.71: Chat with Car renter interface 157

Figure 4.76: Car owner list interface 161

Figure 4.77: Car owner details interface 162

Figure 4.80: Car renter list interface 164

Figure 4.81: Car renter details interface 165

Figure 4.82: Add-Update category interface 167

Figure 4.84: Search for cars interface 169

Figure 4.85: Search for cars by map interface 171

Figure 4.86: Search for cars by filter interface 172

Figure 4.88: Car owner information interface 175

Figure 4.89: Chat with Car owner interface 176

Figure 4.96: My Account – Edit interface 183

Figure 4.99: Become Car owner interface 186

Figure 4.100: My Favorite Cars interface 188

Figure 4.102: My Driver license interface 190

Figure 4.108: Add – Edit car interface 197

Figure 4.111: Conversation – Chat with Car renter interface 201

Figure 5.1: Configure Deployment Front-end 210

Figure 5.3: Manage Deployments Front-end 212

Figure 5.5: Configure Deployment Back-end 214

Figure 5.7: Manage Deployments Back-end 216

Table 3.3: Use case Search for cars 24

Table 3.4: Use case View car information 25

Table 3.6: Use case Forgot Password 27

Table 3.7: Use case Log out 28

Table 3.8: Use case Edit profile 29

Table 3.9: Use case Verify phone number 30

Table 3.10: Use case Add car to favorites 32

Table 3.11: Use case Remove car from favorites 33

Table 3.12: Use case View list of favorite cars 33

Table 3.13: Use case Change password 34

Table 3.14: Use case Book a trip 35

Table 3.15: Use case Make a payment 37

Table 3.16: Use case View trip list 38

Table 3.17: Use case View trip details 39

Table 3.19: Use case Sign up to become a Car owner 40

Table 3.20: Use case View car information 41

Table 3.21: Use case View car information 42

Table 3.22: Use case Delete the conversation 43

Table 3.24: Use case Compile revenue statistics 44

Table 3.25: Use case View list cars 45

Table 3.26: Use case Search for a car 46

Table 3.27: Use case View car details 47

Table 3.28: Use case Add a car 48

Table 3.29: Use case Edit car 49

Table 3.30: Use case Delete car 51

Table 3.31: Use case View list bookings 52

Table 3.32: Use case View booking details 53

Table 3.33: Use case Update trip status 54

Table 3.34: Use case Delete trip 55

Table 3.35: Use case Search for trips 56

Table 3.36: Use case View review list 57

Table 3.37: Use case Reply a comment 58

Table 3.38: Use case Search for reviews 59

Table 3.39: Use case View invoice 60

Table 3.40: Use case Export contract 61

Table 3.41: Use case Compile revenue statistics of the whole website 62

Table 3.42: Use case View list Car owners 63

Table 3.43: Use case View Car owner details 64

Table 3.44: Use case View the list requests 64

Table 3.45: Use cases View request details 65

Table 3.46: Use case Accept request 66

Table 3.47: Use case Decline request 67

Table 3.48: Use case View all accounts 68

Table 3.49: Use case View Car user details 69

Table 2.51: Use case View all categories 71

Table 3.52: Use case Add category 72

Table 3.53: Use case Edit category 73

Table 3.54: Use case Delete category 74

Table 3.55: Use case View all cars 75

Table 3.56: Use cases View all trips 76

Table 3.57: Use case View all reviews 77

Table 4.18: Forgot password interface description 121

Table 4.19: Car renter homepage description 122

Table 4.19: Car renter profile interface description 123

Table 4.20: Change password interface description 125

Table 4.21: View list trip interface description 125

Table 4.22: View list of favorite cars interface description 126

Table 4.23: Verify driver license interface description 127

Table 4.24: Chat with Car owner interface description 128

Table 4.25 Search for cars interface description 129

Table 4.26: Search for cars by map interface description 130

Table 4.27: List cars interface description 131

Table 4.28: Car details interface 1 description 132Table 4.29: Car details interface 2 description 133Table 4.30: Car details interface 3 description 134Table 4.31: Car owner information description 135Table 4.32: Chat with Car owner description 136Table 4.33: Change location interface description 137Table 4.34: Review interface description 138Table 4.35: Confirm and payment interface description 139Table 4.36: VNPay interface description 140Table 4.37: Paydone interface description 141Table 4.38: Become car owner interface description 142Table 4.39: Sign up modal interface description 143Table 4.40: Car owner-Admin homepage description 144Table 4.41: Car owner-Admin login interface description 145Table 4.42: Car owner-Admin forgot password interface description 146Table 4.43: Car owner-Admin profile interface description 146Table 4.44: Owner-Admin change password interface description 148Table 4.45: Owner homepage interface description 149Table 4.46: Owner-Admin car list interface description 150Table 4.47: Add-Edit car interface 1 description 151Table 4.48: Add-Edit car interface 2 description 152Table 4.49: Add-Edit car interface 3 description 154Table 4.50: Trip list description 155Table 4.51: Trip detail description 156Table 4.52: Chat with Car renter description 157Table 4.53: Review list description 158Table 4.54: Reply description 159Table 4.55: Contract description 159Table 4.56: Admin homepage interface description 160Table 4.57: Car owner list interface description 161Table 4.58: Car owner details interface description 162Table 4.59: Request list interface description 163Table 4.60: Request details interface description 164Table 4.61: Car renter list interface description 164Table 4.62: Car renter details interface description 165Table 4.62: Category list interface description 166Table 4.63: Add-Update category interface description 167Table 4.64: Guest homepage interface description 168Table 4.65: Search for cars interface description 169Table 4.66: Search for cars by map interface description 171Table 4.67: Search for cars by filter interface description 172Table 4.68: Car details interface description 173Table 4.69: Car owner information interface description 175

Table 4.70: Chat with Car owner interface description 176Table 4.71: Book a trip interface description 177Table 4.72: Register interface description 178Table 4.73: Verify OTP interface description 179Table 4.74: Login interface description 180Table 4.75: Forgot Password interface description 181Table 4.76: My Profile interface description 182Table 4.77: My Account – Edit interface description 183Table 4.78: My Trip interface description 184Table 4.79: Trip details interface description 186Table 4.80: Become Car owner interface description 186Table 4.81: My Favorite Cars interface description 188Table 4.82: My Message interface description 189Table 4.83: My Driver license interface description 190Table 4.84: Change Password interface description 191Table 4.85: Dashboard interface description 192Table 4.86: Revenue Statistics interface description 193Table 4.87: Store Profile interface description 194Table 4.88: List car interface description 195Table 4.89: Add – Edit car interface description 197Table 4.90: List trip interface description 199Table 4.91: Review interface description 200Table 4.92: Conversation – Chat with Car renter interface description 201Table 4.93: Export contract interface description 202Table 5.1: Test case admin description 203Table 5.2: Test case car owner description 204Table 5.3: Test case Car renter description 205Table 5.4: Test case guest description 207Table 5.5: Hardware requirements 208

The tourist vehicle rental industry faces significant challenges in ensuring seamless and efficient services for customers Traditional methods of booking and managing rentals, often reliant on phone calls or in-person visits, are cumbersome and time-consuming These methods can lead to errors, double bookings, and customer dissatisfaction due to the lack of real-time availability information Additionally, tourists, especially those unfamiliar with the local language or customs, may find it difficult to navigate these traditional systems As the demand for travel and tourism grows, there is an increasing need for a streamlined, user-friendly platform that can handle the complexities of vehicle rentals, ensuring a smooth experience for both customers and service providers

The core problem is the lack of an integrated digital solution that can address the needs of modern travelers Existing platforms, if any, often lack essential features such as real-time chatting, user-friendly interfaces, secure payment gateways, and reliable customer support Moreover, the absence of a centralized system makes it difficult for rental companies to manage their fleet, track bookings, and analyze customer data for better service delivery The topic "Building a website and mobile application for tourist vehicles rental." goal is to eliminate these pain points This solution aims to provide a seamless booking process, real-time availability checks, multiple payment options, and personalized customer support, enhancing the overall rental experience and operational efficiency

The main purpose of building the car rental website is to create convenience, save time and costs while still ensuring high efficiency In addition, the team aims to achieve the following objectives after implementation:

- Apply acquired knowledge in the project execution process

- Build a "User-Friendly" website and application

- Facilitate users in easily performing actions such as viewing and renting vehicles

- Quickly update information on new cars and owner details

- Design store management for easy operation

- Ensure the security of customer information

For Customers: The website and application developed by our team may not be entirely complete, but it can assist users in easily renting vehicles, providing a space for efficient and reputable business operations

For Our Team: This project serves to enhance our skills in website design and analysis of a car rental platform Additionally, it helps us gain in-depth knowledge of languages and software that support us throughout the project development process

Create a website (utilizing MongoDB and ReactJS) and a mobile app (built with MongoDB, React Native, Expo) featuring intuitive interfaces tailored for seamless car search, trip booking, secure payments, and car owner collaboration

Implement car renters features such as user authentication, car search, car location, car rental, payment, personal information management, trip history, favorite car management, and driver license verification

Car owners can list their cars for rent, manage them, respond to comments, update trip statuses, trip management, create rental contracts, statistics on each car’s revenue and total revenue

The administrator will manage accounts, car owners, cars, categories and grant permission to cooperate with the system

After completing the project, our team has honed and acquired many valuable skills and knowledge, especially in the use of current emerging technologies Through

3 this process, the team has gained experience for future projects When our work is applied in practice, it will effectively meet the goal of connecting people through social networks, particularly the younger generation in today's technological era

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 2.1 Application review

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by owners

• Search for cars by city, time

• Diverse car model and price

• Support for renting cars on multiple routes and cities

• Various forms of car rental

• Only direct payment is supported.

• Display cars posted by owners

• Car owners post their cars for rent

• Search for cars by city, time

• The partner registration process is relatively complex.

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by car owners

• Search for cars by city, time

• Support car rental in many cities

• The interface is not eye-catching

• Display cars posted by car owners

• Car owners post their cars for rent

• Search for cars by city, time

• Support car rental in many cities

• Simple, eye-catching interface for easy operation

After conducting a status survey, the team has drawn valuable experiences to design and implement from the interface and logic to support users to meet the basic needs of car rental and car owner registration

2.2.1 What is the conclusion after reviewing?

The conclusion is based on the content of the website and mobile application that supports the need of the project’s requirement These websites and mobile applications are very good and have many experiences about car rental But if we can combine a part of each website and mobile application then we can serve as a useful car rental system

SYSTEM DESIGN

Interface design

- Implement case design and project specifications

- Learn about the JavaScript React library and nodeJS

- Learn about React Native framework

- Learn how to use JSON Web Tokens for system API authentication and permission

- Learn how to use MongoDB for user data storage

- Learn how to intergrate Google Maps API into the project

- Proceed to create the system's user interface

- Integrate the built elements (interface, API, database)

- Perfect the system through continuous learning and modification

6 09/06/2024 – 18/06/2024 - Test the system and fix errors

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Advisor: NGUYEN DUC KHOAN, M.Sc.IT

Ho Chi Minh City, July …, 2024

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Ho Chi Minh City, July…, 2024

I hereby declare that this graduation thesis is my own and autonomous work All sources and aids used have been indicated as such All texts either quoted directly or paraphrased have been indicated by in-text citations Full bibliographic details are given in the reference list which also contains internet sources containing URL and access date This work has not been submitted to any other examination authority

We would want to express our appreciation to the instructor, M.Sc.IT Nguyen Duc Khoan, who worked closely with us to develop a project that enabled us to successfully finish our report 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

We now have all we need to learn about this subject and do well in it Additionally, we want to thank our classmates for supplying us with a plethora of knowledge and pertinent facts that helped us to strengthen our thesis

We finished the project and report in a short measure of time, with restricted information and numerous different limitations regarding philosophies and skill with programming execution As a consequence of this, there will undoubtedly be flaws in the process of creating the topic; consequently, we eagerly await your significant feedback so that we can increase the number of our experts and perform better the following time 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, July 2024

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 4

2.2.1 What is the conclusion after reviewing? 10

3.1.2.3 Car renter use case diagram 21

3.1.2.4 Car owner use case diagram 22

3.1.3.2 Use case Search for cars description 24

3.1.3.3 Use case View car information description 25

3.1.3.5 Use case Forgot password description 27

3.1.3.6 Use case Log out description 28

3.1.3.7 Use case Edit profile description 29

3.1.3.8 Use case Verify phone number description 30

3.1.3.9 Use case Add car to favorites description 32

3.1.3.10 Use case Remove car from favorites description 33

3.1.3.11 Use case View list of favorite cars description 33

3.1.3.12 Use case Change password description 34

3.1.3.13 Use case Book a trip description 35

3.1.3.14 Use case Make a payment description 37

3.1.3.15 Use Case View trip list description 38

3.1.3.16 Use case View trip details description 39

3.1.3.18 Use case Become a Car owner description 40

3.1.3.19 Use case Chat with Car owner description 41

3.1.3.20 Use case Chat with Car renter description 42

3.1.3.21 Use case Delete the conversation description 43

3.1.3.23 Use case Compile revenue statistics description 44

3.1.3.24 Use case View car list description 45

3.1.3.25 Use case Search for a car description 46

3.1.3.26 Use case View car details description 47

3.1.3.27 Use case Add a car description 48

3.1.3.28 Use case Edit car description 49

3.1.3.29 Use case Delete car description 51

3.1.3.30 Use case View trip list description 52

3.1.3.31 Use case View trip details description 53

3.1.3.32 Use case Update trip status description 54

3.1.3.33 Use case Delete trip description 55

3.1.3.34 Use case Search for trips description 56

3.1.3.35 Use case View review list description 57

3.1.3.36 Use case Reply a comment description 58

3.1.3.37 Use case Search for reviews description 59

3.1.3.38 Use case View invoice description 60

3.1.3.39 Use case Export contract description 61

3.1.3.40 Use case Compile Revenue statistics of the whole system description 62

3.1.3.41 Use case View Car owner list description 63

3.1.3.42 Use case View Car owner details description 64

3.1.3.43 Use case View request list description 64

3.1.3.44 Use case View request details description 65

3.1.3.45 Use case Accept request description 66

3.1.3.46 Use case Decline request description 67

3.1.3.47 Use case View all accounts description 68

3.1.3.48 Use case View user details description 69

3.1.3.49 Use case Delete account description 70

3.1.3.50 Use case View all categories description 71

3.1.3.51 Use case Add category description 72

3.1.3.52 Use case Edit category description 73

3.1.3.53 Use case Delete category description 74

3.1.3.54 Use case View all cars description 75

3.1.3.55 Use case View all trips description 76

3.1.3.56 Use Case View all reviews description 77

Figure 3.1: Guest use case diagram 20

Figure 3.2: Car renter use case diagram 21

Figure 3.3: Car owner use case diagram 22

Figure 3.4: Admin use case diagram 23

Figure 4.6: Forgot Password sequence diagram 95

Figure 4.7: Search for cars sequence diagram 96

Figure 4.8: Log out sequence diagram 96

Figure 4.10: Update Profile sequence diagram 98

Figure 4.11: Verify phone number sequence diagram 99

Figure 4.12: Add a car to favorite list sequence diagram 100

Figure 4.13: Change password sequence diagram 101

Figure 4.14: Book a trip sequence diagram 102

Figure 4.15: Make a payment sequence diagram 103

Figure 4.16: Become a Car owner sequence diagram 104

Figure 4.17: Chat with Car owner sequence diagram 105

Figure 4.18: Chat with Car renter sequence diagram 106

Figure 4.19: Delete conversation sequence diagram 107

Figure 4.20: Revenue Statistics sequence diagram 107

Figure 4.21: Add car sequence diagram 108

Figure 4.22: Edit car sequence diagram 109

Figure 4.23: Delete car sequence diagram 110

Figure 4.24: Update trip status sequence diagram 110

Figure 4.25: Delete trip sequence diagram 111

Figure 4.26: Reply to a comment sequence diagram 112

Figure 4.27: Accept the request sequence diagram 113

Figure 4.28: Delcine the request sequence diagram 114

Figure 4.29: Delete account sequence diagram 115

Figure 4.30: Add category sequence diagram 116

Figure 4.31: Edit category sequence diagram 117

Figure 4.32: Delete category sequence diagram 118

Figure 4.38: Car renter profile interface 123

Figure 4.40: View list trip interface 125

Figure 4.41: View list of favorite cars interface 126

Figure 4.42: Verify diver license interface 127

Figure 4.43: Chat with Car owner interface 128

Figure 4.44: Search for cars interface 129

Figure 4.45: Search for cars by map interface 130

Figure 4.50: Car owner information interface 135

Figure 4.51: Chat with Car owner interface 136

Figure 4.54: Confirm and payment interface 139

Figure 4.57: Become car owner interface 142

Figure 4.58: Sign up modal interface 143

Figure 4.59: Car owner-Admin homepage 144

Figure 4.60: Car owner-Admin login interface 145

Figure 4.61: Car owner-Admin forgot password interface 145

Figure 4.62: Car owner-Admin profile interface 146

Figure 4.63: Owner-Admin change password interface 148

Figure 4.65: Owner-Admin car list interface 150

Figure 4.66: Add-Edit car interface 1 151

Figure 4.67: Add-Edit car interface 2 152

Figure 4.68: Add-Edit car interface 3 154

Figure 4.71: Chat with Car renter interface 157

Figure 4.76: Car owner list interface 161

Figure 4.77: Car owner details interface 162

Figure 4.80: Car renter list interface 164

Figure 4.81: Car renter details interface 165

Figure 4.82: Add-Update category interface 167

Figure 4.84: Search for cars interface 169

Figure 4.85: Search for cars by map interface 171

Figure 4.86: Search for cars by filter interface 172

Figure 4.88: Car owner information interface 175

Figure 4.89: Chat with Car owner interface 176

Figure 4.96: My Account – Edit interface 183

Figure 4.99: Become Car owner interface 186

Figure 4.100: My Favorite Cars interface 188

Figure 4.102: My Driver license interface 190

Figure 4.108: Add – Edit car interface 197

Figure 4.111: Conversation – Chat with Car renter interface 201

Figure 5.1: Configure Deployment Front-end 210

Figure 5.3: Manage Deployments Front-end 212

Figure 5.5: Configure Deployment Back-end 214

Figure 5.7: Manage Deployments Back-end 216

Table 3.3: Use case Search for cars 24

Table 3.4: Use case View car information 25

Table 3.6: Use case Forgot Password 27

Table 3.7: Use case Log out 28

Table 3.8: Use case Edit profile 29

Table 3.9: Use case Verify phone number 30

Table 3.10: Use case Add car to favorites 32

Table 3.11: Use case Remove car from favorites 33

Table 3.12: Use case View list of favorite cars 33

Table 3.13: Use case Change password 34

Table 3.14: Use case Book a trip 35

Table 3.15: Use case Make a payment 37

Table 3.16: Use case View trip list 38

Table 3.17: Use case View trip details 39

Table 3.19: Use case Sign up to become a Car owner 40

Table 3.20: Use case View car information 41

Table 3.21: Use case View car information 42

Table 3.22: Use case Delete the conversation 43

Table 3.24: Use case Compile revenue statistics 44

Table 3.25: Use case View list cars 45

Table 3.26: Use case Search for a car 46

Table 3.27: Use case View car details 47

Table 3.28: Use case Add a car 48

Table 3.29: Use case Edit car 49

Table 3.30: Use case Delete car 51

Table 3.31: Use case View list bookings 52

Table 3.32: Use case View booking details 53

Table 3.33: Use case Update trip status 54

Table 3.34: Use case Delete trip 55

Table 3.35: Use case Search for trips 56

Table 3.36: Use case View review list 57

Table 3.37: Use case Reply a comment 58

Table 3.38: Use case Search for reviews 59

Table 3.39: Use case View invoice 60

Table 3.40: Use case Export contract 61

Table 3.41: Use case Compile revenue statistics of the whole website 62

Table 3.42: Use case View list Car owners 63

Table 3.43: Use case View Car owner details 64

Table 3.44: Use case View the list requests 64

Table 3.45: Use cases View request details 65

Table 3.46: Use case Accept request 66

Table 3.47: Use case Decline request 67

Table 3.48: Use case View all accounts 68

Table 3.49: Use case View Car user details 69

Table 2.51: Use case View all categories 71

Table 3.52: Use case Add category 72

Table 3.53: Use case Edit category 73

Table 3.54: Use case Delete category 74

Table 3.55: Use case View all cars 75

Table 3.56: Use cases View all trips 76

Table 3.57: Use case View all reviews 77

Table 4.18: Forgot password interface description 121

Table 4.19: Car renter homepage description 122

Table 4.19: Car renter profile interface description 123

Table 4.20: Change password interface description 125

Table 4.21: View list trip interface description 125

Table 4.22: View list of favorite cars interface description 126

Table 4.23: Verify driver license interface description 127

Table 4.24: Chat with Car owner interface description 128

Table 4.25 Search for cars interface description 129

Table 4.26: Search for cars by map interface description 130

Table 4.27: List cars interface description 131

Table 4.28: Car details interface 1 description 132Table 4.29: Car details interface 2 description 133Table 4.30: Car details interface 3 description 134Table 4.31: Car owner information description 135Table 4.32: Chat with Car owner description 136Table 4.33: Change location interface description 137Table 4.34: Review interface description 138Table 4.35: Confirm and payment interface description 139Table 4.36: VNPay interface description 140Table 4.37: Paydone interface description 141Table 4.38: Become car owner interface description 142Table 4.39: Sign up modal interface description 143Table 4.40: Car owner-Admin homepage description 144Table 4.41: Car owner-Admin login interface description 145Table 4.42: Car owner-Admin forgot password interface description 146Table 4.43: Car owner-Admin profile interface description 146Table 4.44: Owner-Admin change password interface description 148Table 4.45: Owner homepage interface description 149Table 4.46: Owner-Admin car list interface description 150Table 4.47: Add-Edit car interface 1 description 151Table 4.48: Add-Edit car interface 2 description 152Table 4.49: Add-Edit car interface 3 description 154Table 4.50: Trip list description 155Table 4.51: Trip detail description 156Table 4.52: Chat with Car renter description 157Table 4.53: Review list description 158Table 4.54: Reply description 159Table 4.55: Contract description 159Table 4.56: Admin homepage interface description 160Table 4.57: Car owner list interface description 161Table 4.58: Car owner details interface description 162Table 4.59: Request list interface description 163Table 4.60: Request details interface description 164Table 4.61: Car renter list interface description 164Table 4.62: Car renter details interface description 165Table 4.62: Category list interface description 166Table 4.63: Add-Update category interface description 167Table 4.64: Guest homepage interface description 168Table 4.65: Search for cars interface description 169Table 4.66: Search for cars by map interface description 171Table 4.67: Search for cars by filter interface description 172Table 4.68: Car details interface description 173Table 4.69: Car owner information interface description 175

Table 4.70: Chat with Car owner interface description 176Table 4.71: Book a trip interface description 177Table 4.72: Register interface description 178Table 4.73: Verify OTP interface description 179Table 4.74: Login interface description 180Table 4.75: Forgot Password interface description 181Table 4.76: My Profile interface description 182Table 4.77: My Account – Edit interface description 183Table 4.78: My Trip interface description 184Table 4.79: Trip details interface description 186Table 4.80: Become Car owner interface description 186Table 4.81: My Favorite Cars interface description 188Table 4.82: My Message interface description 189Table 4.83: My Driver license interface description 190Table 4.84: Change Password interface description 191Table 4.85: Dashboard interface description 192Table 4.86: Revenue Statistics interface description 193Table 4.87: Store Profile interface description 194Table 4.88: List car interface description 195Table 4.89: Add – Edit car interface description 197Table 4.90: List trip interface description 199Table 4.91: Review interface description 200Table 4.92: Conversation – Chat with Car renter interface description 201Table 4.93: Export contract interface description 202Table 5.1: Test case admin description 203Table 5.2: Test case car owner description 204Table 5.3: Test case Car renter description 205Table 5.4: Test case guest description 207Table 5.5: Hardware requirements 208

The tourist vehicle rental industry faces significant challenges in ensuring seamless and efficient services for customers Traditional methods of booking and managing rentals, often reliant on phone calls or in-person visits, are cumbersome and time-consuming These methods can lead to errors, double bookings, and customer dissatisfaction due to the lack of real-time availability information Additionally, tourists, especially those unfamiliar with the local language or customs, may find it difficult to navigate these traditional systems As the demand for travel and tourism grows, there is an increasing need for a streamlined, user-friendly platform that can handle the complexities of vehicle rentals, ensuring a smooth experience for both customers and service providers

The core problem is the lack of an integrated digital solution that can address the needs of modern travelers Existing platforms, if any, often lack essential features such as real-time chatting, user-friendly interfaces, secure payment gateways, and reliable customer support Moreover, the absence of a centralized system makes it difficult for rental companies to manage their fleet, track bookings, and analyze customer data for better service delivery The topic "Building a website and mobile application for tourist vehicles rental." goal is to eliminate these pain points This solution aims to provide a seamless booking process, real-time availability checks, multiple payment options, and personalized customer support, enhancing the overall rental experience and operational efficiency

The main purpose of building the car rental website is to create convenience, save time and costs while still ensuring high efficiency In addition, the team aims to achieve the following objectives after implementation:

- Apply acquired knowledge in the project execution process

- Build a "User-Friendly" website and application

- Facilitate users in easily performing actions such as viewing and renting vehicles

- Quickly update information on new cars and owner details

- Design store management for easy operation

- Ensure the security of customer information

For Customers: The website and application developed by our team may not be entirely complete, but it can assist users in easily renting vehicles, providing a space for efficient and reputable business operations

For Our Team: This project serves to enhance our skills in website design and analysis of a car rental platform Additionally, it helps us gain in-depth knowledge of languages and software that support us throughout the project development process

Create a website (utilizing MongoDB and ReactJS) and a mobile app (built with MongoDB, React Native, Expo) featuring intuitive interfaces tailored for seamless car search, trip booking, secure payments, and car owner collaboration

Implement car renters features such as user authentication, car search, car location, car rental, payment, personal information management, trip history, favorite car management, and driver license verification

Car owners can list their cars for rent, manage them, respond to comments, update trip statuses, trip management, create rental contracts, statistics on each car’s revenue and total revenue

The administrator will manage accounts, car owners, cars, categories and grant permission to cooperate with the system

After completing the project, our team has honed and acquired many valuable skills and knowledge, especially in the use of current emerging technologies Through

3 this process, the team has gained experience for future projects When our work is applied in practice, it will effectively meet the goal of connecting people through social networks, particularly the younger generation in today's technological era

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 2.1 Application review

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by owners

• Search for cars by city, time

• Diverse car model and price

• Support for renting cars on multiple routes and cities

• Various forms of car rental

• Only direct payment is supported.

• Display cars posted by owners

• Car owners post their cars for rent

• Search for cars by city, time

• The partner registration process is relatively complex.

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by car owners

• Search for cars by city, time

• Support car rental in many cities

• The interface is not eye-catching

• Display cars posted by car owners

• Car owners post their cars for rent

• Search for cars by city, time

• Support car rental in many cities

• Simple, eye-catching interface for easy operation

After conducting a status survey, the team has drawn valuable experiences to design and implement from the interface and logic to support users to meet the basic needs of car rental and car owner registration

2.2.1 What is the conclusion after reviewing?

The conclusion is based on the content of the website and mobile application that supports the need of the project’s requirement These websites and mobile applications are very good and have many experiences about car rental But if we can combine a part of each website and mobile application then we can serve as a useful car rental system

VALIDATION AND DEPLOYMENT

Deploy website process

- Implement case design and project specifications

- Learn about the JavaScript React library and nodeJS

- Learn about React Native framework

- Learn how to use JSON Web Tokens for system API authentication and permission

- Learn how to use MongoDB for user data storage

- Learn how to intergrate Google Maps API into the project

- Proceed to create the system's user interface

- Integrate the built elements (interface, API, database)

- Perfect the system through continuous learning and modification

6 09/06/2024 – 18/06/2024 - Test the system and fix errors

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Advisor: NGUYEN DUC KHOAN, M.Sc.IT

Ho Chi Minh City, July …, 2024

THE SOCIALIST REPUBLIC OF VIETNAM Independence – Freedom – Happiness

Ho Chi Minh City, July 2024

Student name 1: TRAN TIEN THANH Student ID: 20110567

Student name 2: NGO THANH PHU Student ID: 20110541

Project name: BUILDING A WEBSITE AND MOBILE APPLICATION

Ho Chi Minh City, July…, 2024

I hereby declare that this graduation thesis is my own and autonomous work All sources and aids used have been indicated as such All texts either quoted directly or paraphrased have been indicated by in-text citations Full bibliographic details are given in the reference list which also contains internet sources containing URL and access date This work has not been submitted to any other examination authority

We would want to express our appreciation to the instructor, M.Sc.IT Nguyen Duc Khoan, who worked closely with us to develop a project that enabled us to successfully finish our report 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

We now have all we need to learn about this subject and do well in it Additionally, we want to thank our classmates for supplying us with a plethora of knowledge and pertinent facts that helped us to strengthen our thesis

We finished the project and report in a short measure of time, with restricted information and numerous different limitations regarding philosophies and skill with programming execution As a consequence of this, there will undoubtedly be flaws in the process of creating the topic; consequently, we eagerly await your significant feedback so that we can increase the number of our experts and perform better the following time 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, July 2024

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 4

2.2.1 What is the conclusion after reviewing? 10

3.1.2.3 Car renter use case diagram 21

3.1.2.4 Car owner use case diagram 22

3.1.3.2 Use case Search for cars description 24

3.1.3.3 Use case View car information description 25

3.1.3.5 Use case Forgot password description 27

3.1.3.6 Use case Log out description 28

3.1.3.7 Use case Edit profile description 29

3.1.3.8 Use case Verify phone number description 30

3.1.3.9 Use case Add car to favorites description 32

3.1.3.10 Use case Remove car from favorites description 33

3.1.3.11 Use case View list of favorite cars description 33

3.1.3.12 Use case Change password description 34

3.1.3.13 Use case Book a trip description 35

3.1.3.14 Use case Make a payment description 37

3.1.3.15 Use Case View trip list description 38

3.1.3.16 Use case View trip details description 39

3.1.3.18 Use case Become a Car owner description 40

3.1.3.19 Use case Chat with Car owner description 41

3.1.3.20 Use case Chat with Car renter description 42

3.1.3.21 Use case Delete the conversation description 43

3.1.3.23 Use case Compile revenue statistics description 44

3.1.3.24 Use case View car list description 45

3.1.3.25 Use case Search for a car description 46

3.1.3.26 Use case View car details description 47

3.1.3.27 Use case Add a car description 48

3.1.3.28 Use case Edit car description 49

3.1.3.29 Use case Delete car description 51

3.1.3.30 Use case View trip list description 52

3.1.3.31 Use case View trip details description 53

3.1.3.32 Use case Update trip status description 54

3.1.3.33 Use case Delete trip description 55

3.1.3.34 Use case Search for trips description 56

3.1.3.35 Use case View review list description 57

3.1.3.36 Use case Reply a comment description 58

3.1.3.37 Use case Search for reviews description 59

3.1.3.38 Use case View invoice description 60

3.1.3.39 Use case Export contract description 61

3.1.3.40 Use case Compile Revenue statistics of the whole system description 62

3.1.3.41 Use case View Car owner list description 63

3.1.3.42 Use case View Car owner details description 64

3.1.3.43 Use case View request list description 64

3.1.3.44 Use case View request details description 65

3.1.3.45 Use case Accept request description 66

3.1.3.46 Use case Decline request description 67

3.1.3.47 Use case View all accounts description 68

3.1.3.48 Use case View user details description 69

3.1.3.49 Use case Delete account description 70

3.1.3.50 Use case View all categories description 71

3.1.3.51 Use case Add category description 72

3.1.3.52 Use case Edit category description 73

3.1.3.53 Use case Delete category description 74

3.1.3.54 Use case View all cars description 75

3.1.3.55 Use case View all trips description 76

3.1.3.56 Use Case View all reviews description 77

Figure 3.1: Guest use case diagram 20

Figure 3.2: Car renter use case diagram 21

Figure 3.3: Car owner use case diagram 22

Figure 3.4: Admin use case diagram 23

Figure 4.6: Forgot Password sequence diagram 95

Figure 4.7: Search for cars sequence diagram 96

Figure 4.8: Log out sequence diagram 96

Figure 4.10: Update Profile sequence diagram 98

Figure 4.11: Verify phone number sequence diagram 99

Figure 4.12: Add a car to favorite list sequence diagram 100

Figure 4.13: Change password sequence diagram 101

Figure 4.14: Book a trip sequence diagram 102

Figure 4.15: Make a payment sequence diagram 103

Figure 4.16: Become a Car owner sequence diagram 104

Figure 4.17: Chat with Car owner sequence diagram 105

Figure 4.18: Chat with Car renter sequence diagram 106

Figure 4.19: Delete conversation sequence diagram 107

Figure 4.20: Revenue Statistics sequence diagram 107

Figure 4.21: Add car sequence diagram 108

Figure 4.22: Edit car sequence diagram 109

Figure 4.23: Delete car sequence diagram 110

Figure 4.24: Update trip status sequence diagram 110

Figure 4.25: Delete trip sequence diagram 111

Figure 4.26: Reply to a comment sequence diagram 112

Figure 4.27: Accept the request sequence diagram 113

Figure 4.28: Delcine the request sequence diagram 114

Figure 4.29: Delete account sequence diagram 115

Figure 4.30: Add category sequence diagram 116

Figure 4.31: Edit category sequence diagram 117

Figure 4.32: Delete category sequence diagram 118

Figure 4.38: Car renter profile interface 123

Figure 4.40: View list trip interface 125

Figure 4.41: View list of favorite cars interface 126

Figure 4.42: Verify diver license interface 127

Figure 4.43: Chat with Car owner interface 128

Figure 4.44: Search for cars interface 129

Figure 4.45: Search for cars by map interface 130

Figure 4.50: Car owner information interface 135

Figure 4.51: Chat with Car owner interface 136

Figure 4.54: Confirm and payment interface 139

Figure 4.57: Become car owner interface 142

Figure 4.58: Sign up modal interface 143

Figure 4.59: Car owner-Admin homepage 144

Figure 4.60: Car owner-Admin login interface 145

Figure 4.61: Car owner-Admin forgot password interface 145

Figure 4.62: Car owner-Admin profile interface 146

Figure 4.63: Owner-Admin change password interface 148

Figure 4.65: Owner-Admin car list interface 150

Figure 4.66: Add-Edit car interface 1 151

Figure 4.67: Add-Edit car interface 2 152

Figure 4.68: Add-Edit car interface 3 154

Figure 4.71: Chat with Car renter interface 157

Figure 4.76: Car owner list interface 161

Figure 4.77: Car owner details interface 162

Figure 4.80: Car renter list interface 164

Figure 4.81: Car renter details interface 165

Figure 4.82: Add-Update category interface 167

Figure 4.84: Search for cars interface 169

Figure 4.85: Search for cars by map interface 171

Figure 4.86: Search for cars by filter interface 172

Figure 4.88: Car owner information interface 175

Figure 4.89: Chat with Car owner interface 176

Figure 4.96: My Account – Edit interface 183

Figure 4.99: Become Car owner interface 186

Figure 4.100: My Favorite Cars interface 188

Figure 4.102: My Driver license interface 190

Figure 4.108: Add – Edit car interface 197

Figure 4.111: Conversation – Chat with Car renter interface 201

Figure 5.1: Configure Deployment Front-end 210

Figure 5.3: Manage Deployments Front-end 212

Figure 5.5: Configure Deployment Back-end 214

Figure 5.7: Manage Deployments Back-end 216

Table 3.3: Use case Search for cars 24

Table 3.4: Use case View car information 25

Table 3.6: Use case Forgot Password 27

Table 3.7: Use case Log out 28

Table 3.8: Use case Edit profile 29

Table 3.9: Use case Verify phone number 30

Table 3.10: Use case Add car to favorites 32

Table 3.11: Use case Remove car from favorites 33

Table 3.12: Use case View list of favorite cars 33

Table 3.13: Use case Change password 34

Table 3.14: Use case Book a trip 35

Table 3.15: Use case Make a payment 37

Table 3.16: Use case View trip list 38

Table 3.17: Use case View trip details 39

Table 3.19: Use case Sign up to become a Car owner 40

Table 3.20: Use case View car information 41

Table 3.21: Use case View car information 42

Table 3.22: Use case Delete the conversation 43

Table 3.24: Use case Compile revenue statistics 44

Table 3.25: Use case View list cars 45

Table 3.26: Use case Search for a car 46

Table 3.27: Use case View car details 47

Table 3.28: Use case Add a car 48

Table 3.29: Use case Edit car 49

Table 3.30: Use case Delete car 51

Table 3.31: Use case View list bookings 52

Table 3.32: Use case View booking details 53

Table 3.33: Use case Update trip status 54

Table 3.34: Use case Delete trip 55

Table 3.35: Use case Search for trips 56

Table 3.36: Use case View review list 57

Table 3.37: Use case Reply a comment 58

Table 3.38: Use case Search for reviews 59

Table 3.39: Use case View invoice 60

Table 3.40: Use case Export contract 61

Table 3.41: Use case Compile revenue statistics of the whole website 62

Table 3.42: Use case View list Car owners 63

Table 3.43: Use case View Car owner details 64

Table 3.44: Use case View the list requests 64

Table 3.45: Use cases View request details 65

Table 3.46: Use case Accept request 66

Table 3.47: Use case Decline request 67

Table 3.48: Use case View all accounts 68

Table 3.49: Use case View Car user details 69

Table 2.51: Use case View all categories 71

Table 3.52: Use case Add category 72

Table 3.53: Use case Edit category 73

Table 3.54: Use case Delete category 74

Table 3.55: Use case View all cars 75

Table 3.56: Use cases View all trips 76

Table 3.57: Use case View all reviews 77

Table 4.18: Forgot password interface description 121

Table 4.19: Car renter homepage description 122

Table 4.19: Car renter profile interface description 123

Table 4.20: Change password interface description 125

Table 4.21: View list trip interface description 125

Table 4.22: View list of favorite cars interface description 126

Table 4.23: Verify driver license interface description 127

Table 4.24: Chat with Car owner interface description 128

Table 4.25 Search for cars interface description 129

Table 4.26: Search for cars by map interface description 130

Table 4.27: List cars interface description 131

Table 4.28: Car details interface 1 description 132Table 4.29: Car details interface 2 description 133Table 4.30: Car details interface 3 description 134Table 4.31: Car owner information description 135Table 4.32: Chat with Car owner description 136Table 4.33: Change location interface description 137Table 4.34: Review interface description 138Table 4.35: Confirm and payment interface description 139Table 4.36: VNPay interface description 140Table 4.37: Paydone interface description 141Table 4.38: Become car owner interface description 142Table 4.39: Sign up modal interface description 143Table 4.40: Car owner-Admin homepage description 144Table 4.41: Car owner-Admin login interface description 145Table 4.42: Car owner-Admin forgot password interface description 146Table 4.43: Car owner-Admin profile interface description 146Table 4.44: Owner-Admin change password interface description 148Table 4.45: Owner homepage interface description 149Table 4.46: Owner-Admin car list interface description 150Table 4.47: Add-Edit car interface 1 description 151Table 4.48: Add-Edit car interface 2 description 152Table 4.49: Add-Edit car interface 3 description 154Table 4.50: Trip list description 155Table 4.51: Trip detail description 156Table 4.52: Chat with Car renter description 157Table 4.53: Review list description 158Table 4.54: Reply description 159Table 4.55: Contract description 159Table 4.56: Admin homepage interface description 160Table 4.57: Car owner list interface description 161Table 4.58: Car owner details interface description 162Table 4.59: Request list interface description 163Table 4.60: Request details interface description 164Table 4.61: Car renter list interface description 164Table 4.62: Car renter details interface description 165Table 4.62: Category list interface description 166Table 4.63: Add-Update category interface description 167Table 4.64: Guest homepage interface description 168Table 4.65: Search for cars interface description 169Table 4.66: Search for cars by map interface description 171Table 4.67: Search for cars by filter interface description 172Table 4.68: Car details interface description 173Table 4.69: Car owner information interface description 175

Table 4.70: Chat with Car owner interface description 176Table 4.71: Book a trip interface description 177Table 4.72: Register interface description 178Table 4.73: Verify OTP interface description 179Table 4.74: Login interface description 180Table 4.75: Forgot Password interface description 181Table 4.76: My Profile interface description 182Table 4.77: My Account – Edit interface description 183Table 4.78: My Trip interface description 184Table 4.79: Trip details interface description 186Table 4.80: Become Car owner interface description 186Table 4.81: My Favorite Cars interface description 188Table 4.82: My Message interface description 189Table 4.83: My Driver license interface description 190Table 4.84: Change Password interface description 191Table 4.85: Dashboard interface description 192Table 4.86: Revenue Statistics interface description 193Table 4.87: Store Profile interface description 194Table 4.88: List car interface description 195Table 4.89: Add – Edit car interface description 197Table 4.90: List trip interface description 199Table 4.91: Review interface description 200Table 4.92: Conversation – Chat with Car renter interface description 201Table 4.93: Export contract interface description 202Table 5.1: Test case admin description 203Table 5.2: Test case car owner description 204Table 5.3: Test case Car renter description 205Table 5.4: Test case guest description 207Table 5.5: Hardware requirements 208

The tourist vehicle rental industry faces significant challenges in ensuring seamless and efficient services for customers Traditional methods of booking and managing rentals, often reliant on phone calls or in-person visits, are cumbersome and time-consuming These methods can lead to errors, double bookings, and customer dissatisfaction due to the lack of real-time availability information Additionally, tourists, especially those unfamiliar with the local language or customs, may find it difficult to navigate these traditional systems As the demand for travel and tourism grows, there is an increasing need for a streamlined, user-friendly platform that can handle the complexities of vehicle rentals, ensuring a smooth experience for both customers and service providers

The core problem is the lack of an integrated digital solution that can address the needs of modern travelers Existing platforms, if any, often lack essential features such as real-time chatting, user-friendly interfaces, secure payment gateways, and reliable customer support Moreover, the absence of a centralized system makes it difficult for rental companies to manage their fleet, track bookings, and analyze customer data for better service delivery The topic "Building a website and mobile application for tourist vehicles rental." goal is to eliminate these pain points This solution aims to provide a seamless booking process, real-time availability checks, multiple payment options, and personalized customer support, enhancing the overall rental experience and operational efficiency

The main purpose of building the car rental website is to create convenience, save time and costs while still ensuring high efficiency In addition, the team aims to achieve the following objectives after implementation:

- Apply acquired knowledge in the project execution process

- Build a "User-Friendly" website and application

- Facilitate users in easily performing actions such as viewing and renting vehicles

- Quickly update information on new cars and owner details

- Design store management for easy operation

- Ensure the security of customer information

For Customers: The website and application developed by our team may not be entirely complete, but it can assist users in easily renting vehicles, providing a space for efficient and reputable business operations

For Our Team: This project serves to enhance our skills in website design and analysis of a car rental platform Additionally, it helps us gain in-depth knowledge of languages and software that support us throughout the project development process

Create a website (utilizing MongoDB and ReactJS) and a mobile app (built with MongoDB, React Native, Expo) featuring intuitive interfaces tailored for seamless car search, trip booking, secure payments, and car owner collaboration

Implement car renters features such as user authentication, car search, car location, car rental, payment, personal information management, trip history, favorite car management, and driver license verification

Car owners can list their cars for rent, manage them, respond to comments, update trip statuses, trip management, create rental contracts, statistics on each car’s revenue and total revenue

The administrator will manage accounts, car owners, cars, categories and grant permission to cooperate with the system

After completing the project, our team has honed and acquired many valuable skills and knowledge, especially in the use of current emerging technologies Through

3 this process, the team has gained experience for future projects When our work is applied in practice, it will effectively meet the goal of connecting people through social networks, particularly the younger generation in today's technological era

CHAPTER 2: APPLICATION REVIEW AND CURRENT SURVEY 2.1 Application review

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by owners

• Search for cars by city, time

• Diverse car model and price

• Support for renting cars on multiple routes and cities

• Various forms of car rental

• Only direct payment is supported.

• Display cars posted by owners

• Car owners post their cars for rent

• Search for cars by city, time

• The partner registration process is relatively complex.

• Display cars posted by owners

• Owners post their cars for rent

• Search for cars by city, time

• Simple and user-friendly for both new and experienced User

• Display cars posted by car owners

• Search for cars by city, time

• Support car rental in many cities

• The interface is not eye-catching

• Display cars posted by car owners

• Car owners post their cars for rent

• Search for cars by city, time

• Support car rental in many cities

• Simple, eye-catching interface for easy operation

After conducting a status survey, the team has drawn valuable experiences to design and implement from the interface and logic to support users to meet the basic needs of car rental and car owner registration

2.2.1 What is the conclusion after reviewing?

The conclusion is based on the content of the website and mobile application that supports the need of the project’s requirement These websites and mobile applications are very good and have many experiences about car rental But if we can combine a part of each website and mobile application then we can serve as a useful car rental system

CONCLUSION

Evaluation

In the context of technology, we have succeeded in using many technologies smoothly From a technical perspective, after the writing of the essay, we have learned a lot of lessons about the process of building a product To build a good and perfect product is a long process of effort and effort

About the product itself, we tried to build a complete product, and from the consumer's perspective, we found it to be suitable for all Car renters We have built a Car renter- friendly system, the UI/UX is designed to be minimal to reach more potential customers

Through this product, we have learned a lot of lessons in terms of technique, and the spirit of teamwork.

Difficulties

This is the first time our team has integrated online payment to develop a website, mobile app so we encountered many difficulties during the implementation process The car rental process and verification of relevant documents are quite complex, making it more challenging to model the requirements

In the process of writing the report, we had to change a lot about the product, but we also learned many lessons from it.

Future plan

In the future, this product can expand more than that, for example:

- The current system does not yet manage the payment of services like Momo, Zalo Pay

- We want to develop for Car renters to be able to verify citizen identity card verification, points function, changing points to get discount codes

[1] Itviec Blogs, “MongoDB - Definition and Comprehensive Overview A-Z”, What is mongoDB, accessed 06/09/2024

[2] Topdev Blog, “Understanding Express.js and its Pros and Cons”, Understanding Express.js and its Pros and Cons, accessed 06/09/2024

[3] Topdev Blog, "ReactJS – What You Need to Know", ReactJS - The basics you need to know | TopDev , accessed 06/09/2024

[4] Linh Tran, "Basics of Database Management Systems", Basics of Relational Database

Management Systems (viblo.asia), accessed 06/09/2024

[5] Topdev Blog, "What is React Natice? ", What is React Native?, accessed 06/09/2024

Ngày đăng: 19/11/2024, 12:22

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w