1. Trang chủ
  2. » Luận Văn - Báo Cáo

Xây dựng và phát triển hệ thống kết nối khách du lịch và hướng dẫn viên

85 0 0

Đ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

Định dạng
Số trang 85
Dung lượng 16,85 MB

Cấu trúc

  • CHƯƠNG 1. TỔNG QUAN VỀ ĐỀ TÀI (13)
    • 1.1 Khảo sát về hệ thống và đề xuất giải pháp (13)
      • 1.1.1 Sự phát triển của du lịch (13)
      • 1.1.2 Đánh giá ưu nhược điểm hệ thống thuê Hướng dẫn viên thịnh hành (13)
      • 1.1.3 Một số website/app kết nối Hướng dẫn viên thịnh hành (14)
    • 1.2 Đối tượng và phạm vi nghiên cứu (16)
    • 1.3 Mục tiêu đề tài (16)
    • 1.4 Hướng giải quyết (16)
    • 1.5 Cơ sở lý thuyết (17)
      • 1.5.1 Tổng quan lập trình Web (17)
      • 1.5.2 Tổng quan lập trình Android (17)
      • 1.5.3 Giới thiệu công nghệ sử dụng (19)
    • 1.6 Tổng kết chương (23)
  • CHƯƠNG 2. PHÂN TÍCH THIẾT KẾ HỆ THỐNG (25)
    • 2.1 Phân tích, mô tả hệ thống (25)
      • 2.1.1 Giới thiệu chung về hệ thống (25)
    • 2.2 Phân tích, thiết kế hệ thống (26)
      • 2.2.1 Phân tích, thiết kế hệ thống (26)
      • 2.2.2 Xác định Actor và Usecase (27)
      • 2.2.3 Biểu đồ hoạt động (38)
      • 2.2.4 Biểu đồ tuần tự các chức năng chính (45)
    • 2.3 Phân tích, thiết kế cơ sở dữ liệu (50)
      • 2.3.1 Phân tích các yêu cầu lưu trữ dữ liệu (50)
      • 2.3.2 Thiết kế cơ sở dữ liệu tổng quát (51)
      • 2.3.3 Thiết kế cơ sở dữ liệu chi tiết (52)
      • 2.3.4 Biểu đồ lớp database (60)
    • 2.4 Tổng kết chương (60)
  • CHƯƠNG 3. TRIỂN KHAI HỆ THỐNG VÀ KẾT QUẢ THỰC NGHIỆM (61)
    • 3.1 Cấu trúc hệ thống (61)
    • 3.1 Triển khai mã nguồn một số chức năng chính (0)
      • 3.1.1 Đặt tour du lịch (62)
      • 3.1.2 Chức năng nạp tiền (65)
    • 3.2 Mô hình triển khai và kết quả thực nghiệm (67)
      • 3.2.1 Hệ thống cho người dùng (67)
      • 3.2.2 Hệ thống website quản lý (79)
      • 3.2.3 Đánh giá mô hình (83)
    • 3.3 Tổng kết chương (83)
  • KẾT LUẬN (84)
  • TÀI LIỆU THAM KHẢO (85)

Nội dung

Tìm hiểu và xây dựng hệ thống thuê Hướng dẫn viên du lịch cho phép người dùng có thể đặt tour, lựa chọn HDV, tìm kiếm và tự tạo các tour du lịch cho riêng mình một cách dễ dàng, nhanh chóng. Tạo ra sự kết nối giữa hướng dẫn viên tại chính địa phương với du khách, tạo nên một chuyến đi đặc biệt, thú vị, hiểu rõ hơn nơi mà bạn muốn đến.

TỔNG QUAN VỀ ĐỀ TÀI

Khảo sát về hệ thống và đề xuất giải pháp

1.1.1 Sự phát triển của du lịch

Trong những năm qua, du lịch Việt Nam đang trên đà phát triển, lượng khách quốc tế đến cũng như khách du lịch nội địa ngày càng tăng Du lịch Việt Nam ngày càng được biết đến nhiều hơn trên thế giới, nhiều điểm đến trong nước được bình chọn là địa chỉ yêu thích của du khách Du lịch đang ngày càng nhận được sự quan tâm của toàn xã hội Chất lượng và tính cạnh tranh của du lịch là những vấn đề nhận được nhiều sự chú ý và thảo luận rộng rãi Một cách tiếp cận đa chiều về đánh giá chất lượng du lịch sẽ góp phần hình thành các giải pháp đúng đắn nâng cao chất lượng và tính cạnh tranh của du lịch Việt Nam.

Khu du lịch của nước ta được đánh giá rất cao từ những bờ biển kéo dài đẹp nhất thế giới, những ngôi đền cổ kính và những con người chất phác chân thành. Chính những điều kiện đó đã tạo đà phát triển mạnh mẽ cho du lịch Việt Nam Xu hướng du lịch trong khoảng cách gần bằng phương tiện cá nhân sẽ thay thế cho những chuyến bay xuyên quốc gia, lục địa để đảm bảo an toàn sức khỏe trong bối cảnh mới.

Do đó, các chuyến đi sẽ được rút ngắn, hướng về các di sản văn hóa, thiên nhiên, tránh những tụ điểm tập trung đông đúcvà du lịch nội địa sẽ là xu hướng trong thời gian tới

1.1.2 Đánh giá ưu nhược điểm hệ thống thuê Hướng dẫn viên thịnh hành

Trong mỗi chuyến du lịch, đặc biệt là những chuyến đi đến những địa phương mới, hướng dẫn viên du lịch là một người bạn đồng hành vô cùng quan trọng Dưới đây là những ưu nhược điểm của hệ thống kết nối du khách và HDV du lịch:

Doanh nghiệp “mở cửa” 24/24: Khách hàng đưa ra quyết định để đặt tour du lịch hoặc thuê HDV… không cần phải chờ đợi cho đến khi doanh nghiệp làm việc vào giờ mở cửa ngày hôm sau, khi mà cuộc sống bận rộn, yếu tố nhanh và tiện lợi phải được đặt lên hàng đầu Sử dụng một hệ thống booking online sẽ mang lại rất nhiều thuận lợi cho khách hàng, gia tăng tính chuyên nghiệp cũng như doanh số của doanh nghiệp

Tối đa hóa việc đặt trước: Nếu như trước đây, khi một khách hàng nào đó muốn đặt trước, hủy hay xác nhận một HDV du lịch, họ sẽ phải gọi điện hoặc trực tiếp đến thẳng đại lý/công ty để làm những điều này

Thanh toán nhanh hơn: Với một hệ thống kết nối du khách và HDV, Khách hàng cần thanh toán trước/đặt cọc cho việc đặt tour, thuê HDV, dịch vụ Như vậy, giúp đảm bảo khi hành trình diễn ra không còn phải lo lắng về việc thanh toán - khách hàng có thể hoàn toàn thư giãn thoải mái khi đi du lịch

Không cần gắn chặt với chiếc điện thoại: Khi một khách hàng gọi cho các đại lý/công ty du lịch và bị chuyển đến hộp thư thoại, họ có thể gọi lại sau - hoặc là gọi luôn cho một công ty khác Chính vì vậy, hệ thống kết nối du khách và HDV giúp nắm bắt được mọi hoạt động kinh doanh tiềm năng vì thông tin, cách thức liên hệ sẽ luôn có sẵn, việc đặt tour, HDV, dịch vụ… thì luôn diễn ra trên website 24/24.

 Nhược điểm Đường truyền internet chưa được ổn định: Nếu chạy chương trình các tour,

HDV du lịch ở vùng sâu vùng xa, nơi không thể kết nối Internet, hoặc đường truyền kém hệ thống website sẽ không hoạt động.

Chưa có sự phong phú trong sản phẩm: Để tăng thêm sự phong phú cho sản phẩm du lịch nội địa cần đẩy mạnh các chuỗi sản phẩm tour tâm linh, tour mạo hiểm, du lịch rừng… Đây là những loại hình du lịch tuy chỉ đáp ứng thị hiếu từng loại hình khách hàng riêng biệt nhưng nếu kết hợp lại và đẩy mạnh sẽ tạo là động lực thu hút khách đi du lịch.

1.1.3 Một số website/app kết nối Hướng dẫn viên thịnh hành

Hiện nay không khó để ta tìm thấy những Website/App tìm hướng dẫn viên du lịch như:

Trip.me: Được thành lập từ tháng 1/2013, Trip.me là nơi mà du khách có thể tìm thấy cho riêng mình những trải nghiệm độc đáo nhất, những tour riêng biệt để thõa mãn đam mê cá nhân, thông qua việc đăng kí trực tiếp với các đại lí du lịch địa phương khắp nơi trên thế giới Với sự hỗ trợ của các chuyên gia về du lịch của Trip.me những lựa chọn thật tuyệt vời cho hành trình của mình trở nên hấp dẫn, khác biệt hơn so với những chuyến đi thông thường Và dịch vụ của Trip.me cũng đã có mặt ở Việt Nam và một số nước Đông Nam Á.

Tourbylocals.com: Đây là một trang Web về dịch vụ thuê Hướng dẫn viên địa phương thành lập từ rất sớm Paul Melhus cùng với các đồng sự của mình cho ra đời trang Tourbylocals.com từ năm 2008 tại thành phố Vancouver, Canada với mục đích kết nối những du khách với dịch vụ du lịch của người bản địa Tourbylocals hiện nay có mặt tại 131 quốc gia cùng với hơn 1600 hướng dẫn viên cung cấp cho du khách những chương trình tour riêng biệt nhất theo sở thích cá nhân và du khách có thể lựa chọn những Hướng dẫn viên mà mình thấy phù hợp nhất dựa trên hồ sơ thông tin về Hướng dẫn viên địa phương mà Tourbylocals đưa ra Thủ đô Hà Nội hiện nay cũng đã có ít nhất 5 Hướng dẫn viên tham gia mạng lưới của Tourbylocals.

Rent-a-guide.com: Từ những chuyến đi của riêng mình, Florian Ziegler, đã có ý tưởng thành lập trang web Rent-a-guide về cho thuê Hướng dẫn viên địa phương. Điều đặc biệt của trang này là du khách có thể so sánh, đánh giá về các Hướng dẫn viên địa phương về chất lượng, giá cả, những thông tin phản hồi, kinh nghiệm tại 81 quốc gia để có sự lựa chọn ưng ý nhất cho riêng mình Hơn 97% du khách khi sử dụng dịch vụ của Rent-a-guide đều có phản hồi tích cực về các dịch vụ của Hướng dẫn viên địa phương và sẵn sàng giới thiệu cho bạn bè mình về Rent-a-guide Đây cũng là thành công lớn nhất và là niềm tự hào không chỉ của đội ngũ điều hành mà còn của cả những Hướng dẫn viên tham gia trên toàn thế giới.

Rentalocalfriend.com: Đây cũng là một trang kết nối khách du lịch với người dân địa phương nhưng đúng với tên gọi của mình Rentalocalfriend có thể xem là việc thuê một người bạn, một người đồng hành để, cùng ăn, cùng đi, cùng ở để du khách có thể hiểu rõ thêm về điểm đến, về văn hóa của người bản địa Cùng với mạng lưới trải dài khắp các châu lục, tại những điểm đến nổi tiếng nhất, du khách dễ dàng tìm cho mình một người bạn đồng hành để có thể khám phá một cách trọn vẹn và riêng nhất điểm đến yêu thích của mình “Sống một tinh thần địa phương, thuê một người dân địa phương” là tiêu chi xuyên suốt mà Rentalocalfriend mang lại.

Các website đều có những tính năng rất hay trong việc thực hiện chuyên du lịch hảo Tuy nhiên, đa số các trang web này có cấu trúc và tổ chức thông tin cố định, không thay đổi hoặc rất ít thay đổi chủ yếu mang tính chất giới thiệu công ty và sản phẩm dịch vụ của họ.

Đối tượng và phạm vi nghiên cứu

Đối tượng: Khách du lịch, người dân, hướng dẫn viên, …

Phạm vi: Nghiên cứu và phát triển ứng dụng kết nối du khách và hướng dẫn viên du lịch có thể áp dụng vào thực tiễn.

Mục tiêu đề tài

Tìm hiểu và xây dựng hệ thống thuê Hướng dẫn viên du lịch cho phép người dùng có thể đặt tour, lựa chọn HDV, tìm kiếm và tự tạo các tour du lịch cho riêng mình một cách dễ dàng, nhanh chóng Tạo ra sự kết nối giữa hướng dẫn viên tại chính địa phương với du khách, tạo nên một chuyến đi đặc biệt, thú vị, hiểu rõ hơn nơi mà bạn muốn đến.

Hướng giải quyết

Từ những khảo sát ban đầu cùng với mục tiêu xây dựng hệ thống kết nối du khách và hướng dẫn viên địa phương với đầy đủ các chức năng, tiện dụng, đơn giản và dễ dử dụng, em quyết định xây dựng hệ thống với các chức năng chính sau:

 Hệ thống Website/App người dùng:

- Chức năng liên hệ HDV: Người dùng gửi yêu cầu và trao đổi với HDV về chuyến đi

- Chức năng tạo tour du lịch: HDV tour, người dùng có thể yêu cầu chuyến đi đó

- Chức năng xem địa danh: Người dùng có thể chọn địa phương muốn đến và xem những thông tin công khai về nơi đó trên hệ thống

- Chức năng thanh toán: Người dùng sau khi xác nhận chuyến đi thì sẽ thanh toán tiền cho HDV

- Chức năng bài viết: Người dùng, HDV có thể viết bài chia sẻ kinh nghiệm, kiến thức trên Website

- Chức năng đánh giá HDV: Sau mỗi chuyến đi, người dùng có thể đánh giá tour du lịch cũng như là HDV của chuyến đi đó

- Chức năng chọn HDV, chọn Tour du lịch: Người dùng có thể tìm HDV sau đó trao đổi với họ để lên kế hoạch cho một chuyến đi độc đáo

- Chức năng đăng nhập/ đăng ký.

 Website quản trị: Quản lý, thêm mới và cập nhật lại dữ liệu hiển thị trên Hệ thống người dùng

- Quản lý tài khoản: Tài khoản được quản lý dựa trên các loại tài khoản, có 4 loại tài khoản gồm: Admin, Mod, User và HDV

- Chức năng duyệt bài viết, xóa bài viết

Trên đây là những chức năng dự kiến có trong hệ thống với mong muốn xây dựng một hệ thống kết nôi du khách và HDV địa phương.

Cơ sở lý thuyết

1.5.1 Tổng quan lập trình Web

Lập trình web là công việc mà một Web Developer có nhiệm vụ lập trình để tạo ra các website.Các Web Developer sẽ nhận toàn bộ dữ liệu từ Web Designer và chuyển chúng thành một hệ thống webstie hoàn chỉnh có tương tác giữa người dùng với CSDL dựa trên ngôn ngữ máy tính Bên cạnh đó, lập trình web là công việc đưa ra các chuỗi mã lệnh, bố cục hợp lý, hướng dẫn thực thi để máy tính có thể hiểu được và làm theo những gì mà lập trình viên mong muốn.

1.5.2 Tổng quan lập trình Android

1.5.2.1 Giới thiệu về hệ điều hành Android

Android là một hệ điều hành có mã nguồn mở dựa trên nền tảng Linux được thiết kế dành riêng cho các thiết bị di động có màn hình cảm ứng như điện thoại thông minh và máy tính bảng Ban đầu, hệ điều này này được phát triển bởi công ty Android, với sự hỗ trợ tài chính từ Google, sau đó chính Google đã mua lại công ty này và tiếp tục phát triển Android trở thành một nền tảng hiệu quả hơn.

- Android có khả năng tuỳ biến cao, cho phép tùy ý chỉnh sửa mà không có sự can thiệp hay ràng buộc pháp lý từ Google

- Android xuất hiện trên rất nhiều mẫu thiết bị từ phân khúc bình dân đến cao cấp, mang đến nhiều lựa chọn cho người dụng

- Kho ứng dụng Google Play Store đồ sộ, nhiều ứng hữu ích

- Giao diện thân thiện, dễ sử dụng

Hình 1.1 Hệ điều hành Android 1.5.2.2 Kiến trúc của Android

Hệ điều hành Android là 1 ngăn xếp các thành phần phần mềm, được chia thành

5 phần và 4 lớp chính như sau:

Linux Kernel: Dưới cùng là lớp Linux - Linux 3.6 cùng với khoảng 115 bản vá Lớp này cung cấp 1 cấp độ trừu tượng giữa phần cứng của thiết bị và các thành trình điều khiển phần cứng thiết yếu như máy ảnh, bàn phím, màn hình hiển thị

Các thư viện: Ở trên lớp nhân Linux là tập các thư viện bao gồm WebKit - trình duyệt Web mã nguồn mở, được biết đến như thư viện libc, cơ sở dữ liệu SQLite - hữu dụng cho việc lưu trữ và chia sẻ dữ liệu ứng dụng, các thư viênj chơi và ghi âm audio, video, hay các thư viện SSL chiụ trách nhiệm bảo mật Internet

Các thư viện Android: Đây là các thư viện dựa trên Java phục vụ cho việc phát triển Android Ví dụ của các thư viện này bao gồm các thư viện ứng dụng dùng để xây dựng giao diện người dùng, vẽ đồ họa hay truy cập cơ sở dữ liệu

Android Runtime.Đây là phần thứ 3 của kiến trúc và nằm ở lớp thứ 2 từ dưới lên Phần này cung cấp 1 bộ phận quan trọng là Dalvik Vỉtual Machine - là 1 loại Java Virtual Machine được thiết kế đặc biệt để tối ưu cho Android Dalvik

Application Framework: Lớp Android Framework cung cấp các dịch vụ cấp độ cao hơn cho các ứng dụng dưới dạng các lớp Java Các nhà phát triển ứng dụng được phép sử dụng các dịch vụ này trong ứng dụng của họ.

Application: Lớp trên cùng của kiến trúc là Application Các ứng dụng bạn tạo ra sẽ được cài đặt trên lớp này Ví dụ như: Danh bạ, nhắn tin, trò chơi

1.5.3 Giới thiệu công nghệ sử dụng

React JS là là một thư viện Javascript đang nổi lên trong những năm gần đây với xu hướng Single Page Application Trong khi những framework khác cố gắng hướng đến một mô hình MVC hoàn thiện thì React nổi bật với sự đơn giản và dễ dàng phối hợp với những thư viện Javascript khác Nếu như AngularJS là một Framework cho phép nhúng code javasscript trong code html thông qua các attribute như ng- model, ng-repeat thì với react là một library cho phép nhúng code html trong code javascript nhờ vào JSX, bạn có thể dễ dàng lồng các đoạn HTML vào trong JS.Tích hợp giữa javascript và HTML vào trong JSX làm cho các component dễ hiểu hơn.

 Đặc tính của React JS

Tư tưởng React JS là xây dựng lên các components có tính tái sử dụng, dễ dàng cho việc chia nhỏ vấn đề Nó giúp chúng ta dễ dàng quản lý, mở rộng hệ thống, điều này nếu là Angular thì đòi hỏi là cấu trúc, cách viết code phải thật tối ưu.

React JS luôn giữ các components ở trạng thái stateless (nhiều nhất có thể) khiến ta dễ dàng quản lý bởi nó chẳng khác gì một trang static HTML Bản thân các components này không có trạng thái (state) nó nhận đầu vào từ bên ngoài và chỉ hiển thị ra dựa vào các đầu vào đó, điều này lý giải tại sao nó lại mang tính tái sử dụng (reuse) và dễ dàng cho việc test.

 Thế mạnh của React JS

React JS là một framework hiển thị view chú ý đến hiệu năng (performance- minded) Rất nhiều đối thủ nặng ký về framework MVVM mất một thời gian lớn để hiển thị những lượng data lớn, như trong trường hợp những danh sách và tương tự. Nhưng React thì không còn vấn đề này, vì nó hiển thị những gì thay đổi.

Một trong những điểm mạnh nữa của React Js là vitual DOM – thứ nằm ẩn ben trong mỗi view và là lý do khiến cho React đạt được hiệu năng tốt Khi một view yêu cầu gọi, tất cả mọi thứ sẽ được đưa vào trong một bản sao ảo của DOM ảo và DOM thật, và thực hiện những thay đổi đơợc chỉ ra trong phép so sánh trên

React Native là một framework được tạo bởi Facebook, cho phép các lập trình viên sử dụng JavaScript để làm mobile apps trên cả Android và iOS với có trải nghiệm và hiệu năng như native React Native vượt trội ở chỗ chỉ cần viết một lần là có thể build ứng dụng cho cả iOS lẫn Android.

Có thể nói React Native là một cross-platform để xây dựng một ứng dụng di động hiệu quả Nó hoàn toàn khác với khái niệm “hybrid app”: a) Ưu điểm của React Native

Tổng kết chương

Phần đầu của chương 1 đã nêu khái quát tổng quan đề tài, khảo sát hệ thống,nêu rõ được sự phát triển của du lịch, đánh giá ưu và nhược điểm của các Website/App kết nối du khách và HDV, từ đó đề xuất được giải pháp xây dựng một hệ thống kết nối du khách và hướng dẫn viên du lịch địa phương hoàn chỉnh, đáp ứng mọi tiêu chí.Trong chương sau sẽ trình bày, phân tích mô tả bài toán, thiết kế, xây dựng cơ sở dữ liệu đáp ứng các yêu cầu của hệ thống

PHÂN TÍCH THIẾT KẾ HỆ THỐNG

Phân tích, mô tả hệ thống

2.1.1 Giới thiệu chung về hệ thống

Xây dựng một hệ thống kết nối du khách và Hướng dẫn viên du lịch Đây là hệ thống giới thiệu về tất cả những gì liên quan đến lĩnh vực du lịch của Việt Nam Giới thiệu về hướng dẫn viên từ địa phương, những con người nắm bắt và hiểu rõ nhất vùng đất mà mình đang sinh sống đến khách hàng tham quan, thực hiện tạo các tour du lịch phù hợp với nhu cầu khách hàng

Tại đây người dùng có thể xem thông tin về các tour du lịch do hệ thống đề xuất, lựa chọn hướng dẫn viên, liên hệ, tạo tour du lịch, đặt tour trực tuyến, tham khảo giá tour, tìm kiếm tour phù hợp….

2.1.2 Mô hình triển khai hệ thống

Mô hình client server mô hình mạng máy tính gồm có hai thành phần chính là client và server (tức là máy khách – máy chủ) Client sẽ là bên yêu cầu dịch vụ cài đặt cũng như lưu trữ tài nguyên từ phía server Khi máy client gửi yêu cầu dữ liệu đến server thông qua Internet, server sẽ chấp nhận quy trình được yêu cầu Sau đó gửi các gói dữ liệu được yêu cầu trở lại client Client không chia sẻ bất kỳ tài nguyên nào của họ.

Hình 2.6 Mô hình hệ thống 2.1.3 Phân tích yêu cầu chức năng/ phi chức năng

Khách thăm quan có thể xem, tìm kiếm thông tin về các tour du lịch mà hệ thống đề xuất Đồng thời, khách hàng có thể tìm kiếm, lựa chọn người tại địa phương làm hướng dẫn viên cho mình Ngoài ra, khách có thể xem bài viết, hướng dẫn viên, trang giới thiệu về du lịch Việt Nam.

Website/App Android sẽ cập nhật thông tin đặt chỗ này trực tiếp lên cơ sở dữ liệu, và cho phép HDV được phân quyền thao tác các công việc sau:

 Thay đổi, thêm sửa xóa thông tin, hình ảnh về điểm du lịch đó trong tour đang tạo

 Theo dõi tình hình liên hệ thông qua website của khách hàng, để đáp ứng kịp thời nhu cầu của họ

 Thực hiện nạp rút tiền.

 Yêu cầu phi chức năng

 Website/App Android phải có dung lượng không quá lớn, tốc độ xử lý nhanh

 Công việc tính toán thực hiện chính xác, không chấp nhận sai sót

 Đảm bảo an toàn dữ liệu khi chạy Website/App Android trực tuyến.

Phân tích, thiết kế hệ thống

2.2.1 Phân tích, thiết kế hệ thống

Thiết kế xây dựng hệ thống đảm bảo được các chức năng cơ bản, cho phép người dùng thực hiện các thao tác một các dễ dàng:

 Chức năng hệ thống Website/App thuê HDV du lịch

- Chức năng liên hệ HDV

- Chức năng tạo tour du lịch

- Chức năng xem địa danh

- Chức năng đánh giá HDV

- Chức năng thuê HDV, chọn Tour du lịch

- Chức năng đăng nhập/ đăng ký

 Chức năng trang quản trị viên

- Chức năng Thêm, Sửa, Xóa tour du lịch

- Chức năng duyệt User, HDV

- Chức năng duyệt bài viết, xóa bài viết

- Chức năng cấp quyền User/Mod

- Chức năng xem lịch sử giao dịch

2.2.2 Xác định Actor và Usecase

2.2.2.1 Xác định Actor và Đặc tả

Với mô hình Client – Server và theo thiết kế hệ thống như trên, ứng dụng có bốn loại actor:

- Admin là tài khoản trực tiếp điều khiển hệ thống phần mềm, nắm được các hoạt động Admin có đặc quyền can thiệp vào hệ thống, thêm sửa xóa theo ý muốn.

Cụ thể, admin tự quản lý được tài khoản cá nhân và các tài khoản người người dùng, HDV, có thể xem chi tiết các tất cả các thông tin trên hệ thống.

- Mod là tài khoản gián tiếp điều khiển hệ thống phần mềm , tài khoản này dùng để quản lý HDV, bài đăng, tour du lịch…

- Hướng dẫn viên là tài khoản dành cho hướng dân viên du lịch, liên hệ , trao đổi với User, lên lịch, tạo tour du lịch

- User là tài khoản dành cho người dùng hệ thống, có nhu cầu tìm HDV du lịch,thanh toán

2.2.2.2 Biểu đồ Usecase tổng quát

Hình 2.7 Biểu đồ useCase Tổng quát 2.2.2.3 Biểu đồ UseCase chi tiết a) Biểu đồ UseCase Quản lý tài khoản cá nhân

Hình 2.8 Biểu đồ UseCase Quản lý tài khoản cá nhân b) Biểu đồ UseCase Thanh toán

Hình 2.9 Biểu đồ UseCase Thanh toán c) Biểu đồ UseCase tham gia tour

Hình 2.10 Biểu đồ UseCase Tham gia tour d) Biểu đồ UseCase Quản lý diễn đàn

Hình 2.11 Biểu đồ UseCase Quản lý diễn đàn e) Biểu đồ UseCase tham gia diễn đàn

Hình 2.12 Biểu đồ UseCase tham gia diễn đàn f) Biểu đồ UseCase tham gia tour

Hình 2.13 Biểu đồ UseCase tham gia tour g) Biểu đồ UseCase Quản lý mã giảm giá

Hình 2.14 Biểu đồ UseCase Quản lý mã giảm giá h) Biểu đồ UseCase Quản lý tài khoản mod

Hình 2.15 Biểu đồ UseCase Quản lý tài khoản Mod 2.2.2.4 Đặc tả Usecase a) Đặc tả Usecase Đăng nhập

Bảng 2.1 Đặc tả Usecase Đăng Nhập hệ thống người dùng

STT Tên UC Đăng Nhập

2 Mô tả Đăng nhập vào hệ thống để sử dụng.

3 Luồng sự kiện chính 1 Người dùng truy cập vào hệ thống.

2 Hệ thống hiển thị giao diện đăng nhập.

3 Người dùng nhập tên đăng nhập và mật khẩu.

4 Hệ thống thực hiện chức năng, đăng nhập thành công hiển thị giao diện.

4 Luồng sự kiện phụ 1.Người dùng đăng nhập không thành công.

2 Hệ thống hiển thị thông báo và yêu cầu đăng nhập lại. b) Đặc tả Usecase Đăng xuất

Bảng 2.2 Đặc tả Usecase Đăng Xuất

STT Tên UC Đăng Xuất

2 Mô tả Đăng xuất khỏi hệ thống.

3 Luồng sự kiện chính 1 Người dùng click vào button đăng xuất.

2 Hệ thống thực hiện đăng xuất tài khoản Actor khỏi hệ thống.

4 Luồng sự kiện phụ c) Đặc tả Usecase Xem thông tin cá nhân

Bảng 2.3 Đặc tả Usecase Xem Thông Tin Cá Nhân

STT Tên UC Xem Thông Tin Cá Nhân

2 Mô tả Người dùng xem thông tin cá nhân như họ tên, số điện thoại, email, địa chỉ…

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, người dùng click vào ảnh đại diện, chọn Tài khoản.

2 Hệ thống hiển thị giao diện thông tin cá nhân gồm các thông tin về cá nhân,…

4 Luồng sự kiện phụ d) Đặc tả Usecase Quản lý bài viết

Bảng 2.4 Đặc tả Usecase Quản lý bài viết

STT Tên UC Quản lý bài viết

2 Mô tả Admin /Mod quản lý phê duyệt bài viết

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, Admin/Mod kích vào Quản lý bài viết

2 Admin/Mod lựa chọn Phê Duyệt/Từ chối bài viết; Hoặc thay đổi trạng thái bài viết(Khóa/Hiển thị và xóa)

3 Admin/Mod thay đổi thông tin và bấm lưu lại

4 Hệ thống thực hiện chức năng

4 Luồng sự kiện phụ 1 Người dùng có thể click button Hủy để hủy thao tác e) Đặc tả Usecase tham gia tour

Bảng 2.5 Đặc tả Usecase tham gia tour

STT Tên UC Tham gia tour

2 Mô tả User tham gia tour

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, user tìm kiếm địa danh muốn đi

2 Hệ thống hiển thị các tour trong tỉnh đó

3 User lựa chọn tour phù hợp và click đặt chỗ

4 User chờ HDV xác nhận Tour

5 Sau khi HDV xác nhận, user tiến hành đặt cọc và thanh toán

6 User bấm Bắt đầu để xác thực tham gia chuyến đi

7 Khi kết thúc chuyến đi, User bấm kết thúc

8 User click Đánh giá, nhập đánh giá và vote số sao cho chuyến đi và HDV

4 Luồng sự kiện phụ 1 Người dùng có thể click button Hủy để hủy chuyến đi f) Đặc tả Usecase tạo tour

Bảng 2.6 Đặc tả Usecase tạo tour

STT Tên UC Tạo tour

2 Mô tả HDV tạo tour du lịch

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, HDV truy cập vào màn tạo tour

2 Hệ thống hiển thị các thông tin cần nhập

3 HDV điền đầy đủ thông tin và bấm tạo

4 Tour tạo thành công và chờ Admin duyệt tour

4 Luồng sự kiện phụ 1 Actor có thể click button Hủy để hủy tạo tour g) Đặc tả Usecase Quản lý mã giảm giá

Bảng 2.7 Đặc tả Usecase Quản lý mã giảm giá

STT Tên UC Quản lý mã giảm giá

2 Mô tả Admin/Mod quản lý mã giảm giá

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, Admin/Mod lựa chọn Quản lý mã giảm giá

2 Hệ thống hiển thị các voucher sẵn có

3 Admin/Mod xóa mã giảm giá hoặc tạo thêm mã giảm giá

4 Admin/Mod bấm Lưu để cập nhật lại mã giảm giá

4 Luồng sự kiện phụ 1 Admin/Mod có thể click button Hủy để hủy bỏ các thay đổi h) Đặc tả Usecase Thống kê

Bảng 2.8 Đặc tả Usecase Thống kê

STT Tên UC Thống kê

2 Mô tả Admin/Mod xem thống kê của hệ thống

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, Admin/Mod chọn màn hình Thống kê

2 Hệ thống hiển thị các thông tin về Top HDV, Doanh thu tháng,…

4 Luồng sự kiện phụ i) Đặc tả Usecase Quản lý tài khoản mod

Bảng 2.9 Đặc tả Usecase Quản lý tài khoản mod

STT Tên UC Quản lý tài khoản mod

2 Mô tả Admin quản lý tài khoản Mod

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, Admin/Mod chọn màn hình Quản lý Mod

2 Hệ thống hiển thị danh sách Mod

3 Tại đây, Admin click button Thêm tài khoản Admin nhập thông tin tài khoản Mod và bấm Lưu lại

4.Admin click button Sửa, và nhập quyền hạn mới cho Mod

6 Hệ thống xử lý chức năng

4 Luồng sự kiện phụ 1.Admin bấm Hủy để hủy các thay đổi vừa tạo j) Đặc tả Usecase nạp tiền

Bảng 2.10 Đặc tả Usecase nạp tiền

STT Tên UC Nạp tiền

2 Mô tả User/HDV nạp tiền vào hệ thống

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, User/HDV chọn nạp tiền

2 Hệ thống hiển thị màn nạp tiền

3 User/HDV nhập hoặc chọn số tiền muốn nạp 4.User chọn phương thức thanh toán mong muốn

6 Hệ thống xử lý chức năng, điều hướng sang màn thanh toán của cổng thanh toán

4 Luồng sự kiện phụ Admin bấm Hủy để hủy bỏ thanh toán k) Đặc tả Usecase liên hệ HDV

Bảng 2.11 Đặc tả Usecase liên hệ HDV

STT Tên UC Liên hệ HDV

2 Mô tả User liên hệ HDV

3 Luồng sự kiện chính 1 Tại giao diện sau khi đăng nhập, User click chọn

2 Hệ thống hiển thị danh sách HDV đang hoạt động

3 User click vào xem chi tiết HDV

4 Hệ thống mở ra màn thông tin chi tiết của HDV đó

4.User bấm chọn Liên hệ ngay

5 Hệ thống điều hướng sang màn chat

2.2.3 Biểu đồ hoạt động a) Biểu đồ hoạt động Đăng nhập

Hình 2.16 Biểu đồ hoạt động đăng nhập b) Biểu đồ hoạt động Quên mật khẩu c) Biểu đồ hoạt động đăng ký tài khoản HDV

Hình 2.18 Biểu đồ hoạt động đăng ký tài khoản HDV d) Biểu đồ hoạt động đặt tour

Hình 2.19 Biểu đồ hoạt động đặt tour e) Biểu đồ hoạt động đặt cọc Tour

Hình 2.20 Biểu đồ hoạt động đặt cọc tour f) Biểu đồ hoạt động bắt đầu tour

Hình 2.21 Biểu đồ hoạt động bắt đầu Tour g) Biểu đồ hoạt động đánh giá tour

Hình 2.22 Biểu đồ hoạt động đánh giá Tour h) Biểu đồ hoạt động thanh toán

Hình 2.23 Biểu đồ hoạt động thanh toán i) Biểu đồ hoạt động thay đổi trạng thái bài viết

Hình 2.24 Biểu đồ hoạt động thay đổi trạng thái bài viết j) Biểu đồ hoạt động thêm mã giảm giá

Hình 2.25 Biểu đồ hoạt động thêm mã giảm giá k) Biểu đồ hoạt động thay đổi trạng thái tài khoản

Hình 2.26 Biểu đồ hoạt động thay đổi trạng thái tài khoản l) Biểu đồ hoạt động thêm bài viết

Hình 2.27 Biểu đồ hoạt động thêm bài viết 2.2.4 Biểu đồ tuần tự các chức năng chính a) Biểu đồ tuần tự đặt tour

Hình 2.28 Biểu đồ tuần tự đặt tour b) Biểu đồ tuần tự HDV phản hồi yêu cầu

Hình 2.29 Biểu đồ tuần tự HDV phản hồi yêu cầu c) Biểu đồ tuần tự user thanh toán Tour

Hình 2.30 Biểu đồ tuần tự user thanh toán Tour d) Biểu đồ tuần tự HDV bắt đầu chuyến đi

Hình 2.31 Biểu đồ tuần tự HDV bắt đầu chuyến đi e) Biểu đồ tuần tự user kết thúc chuyến đi

Hình 2.32 Biểu đồ tuần tự user kết thúc chuyến đi f) Biểu đồ tuần tự đánh giá tour

Hình 2.33 Biểu đồ tuần tự đánh giá tour g) Biểu đồ tuần tự nạp tiền

Hình 2.34 Biểu đồ tuần tự nạp tiền h) Biểu đồ tuần tự HDV/User viết bài

Hình 2.35 Biểu đồ tuần tự HDV/User viết bài i) Biểu đồ tuần tự tạo yêu cầu rút tiền

Hình 2.36 Biểu đồ tuần tự tạo yêu cầu rút tiền

Phân tích, thiết kế cơ sở dữ liệu

2.3.1 Phân tích các yêu cầu lưu trữ dữ liệu

Trong quá trình xây dựng lên một ứng dụng đảm bảo tối ưu nhất đối với người dùng thì việc phân tích yêu cầu lưu trữ dữ liệu là vô cùng cần thiết Phân tích yêu cầu lưu trữ dữ liệu sẽ giúp cho người lập trình hiểu được mục đích của việc lưu trữ dữ liệu, giúp tối ưu hóa hệ thống lưu trữ đảm bảo bảo việc nhập và truy xuất dữ liệu trong cơ sở dữ liệu đưa ra kết quả phù hợp và nhanh chóng

Việc phân tích yêu cầu lưu trữ dữ liệu sẽ bao gồm:

 Xác định các loại dữ liệu cần lưu trữ

 Xác định cơ sở dữ liệu phù hợp cho việc lưu trữ

 Xác định các cấu trúc cơ sở dữ liệu cần thiết

 Tạo các bảng lưu trữ và các cấu trúc cần thiết

 Xây dựng các hàm lưu trữ thông tin vào cơ sở dữ liệu

 Xây dựng các hàm truy vấn để truy cập và lấy dữ liệu từ cơ sở dữ liệu

 Kiểm tra chất lượng dữ liệu.

2.3.2 Thiết kế cơ sở dữ liệu tổng quát

Bảng 2.12 Bảng dữ liệu tổng quát

STT Tên bảng Diễn giải

1 Users Bảng lưu trữ thông tin người dùng.

2 Reports Bảng lưu trữ các báo cáo của người dùng.

3 Tours Bảng lưu trữ các tour du lịch.

4 Admins Bảng thông tin các quản trị viên.

5 Chats Bảng lưu trữ hội thoại của người dùng và HDV

6 Comments Bảng lưu trữ bình luận.

7 Orders Bảng lưu trữ các chuyến đi của người dùng.

8 Order_schedule Bảng lưu trữ lịch trình chuyến đi.

9 Permissions Bảng định nghĩa các quyền hạn của quản trị viên

10 Posts Bảng lưu trữ bài viết trong hệ thống.

11 Provinces Bảng lưu trữ danh sách tỉnh thành Việt Nam.

12 Rates Bảng lưu trữ đánh giá của người dùng về chuyến đi.

13 System Bảng lưu trữ thông tin về hệ thống.

14 Tour_guides Bảng lưu trữ thông tin của hướng dẫn viên.

15 Tour_guide_province Bảng lưu trữ tỉnh thành hướng dẫn viên hoạt động.

16 Tour_image Bảng lưu trữ ảnh của tour du lịch.

17 Tour_schedule Bảng lưu trữ lịch trình tour.

18 Transactions Bảng lưu trữ các giao dịch của người dùng.

19 User_favorite Bảng lưu trữ yêu thích của người dùng.

20 User_request Bảng yêu cầu của người dùng.

21 User_voucher Bảng lưu trữ voucher của người dùng.

22 Voucher Bảng lưu trữ thông tin voucher hệ thống.

2.3.3 Thiết kế cơ sở dữ liệu chi tiết a) Bảng User

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id người dùng Khóa chính

2 password Varchar Mật khẩu của tài khoản

3 email String Email người dùng.

4 username Varchar Username người dùng.

5 phone Varchar Số điện thoại người dùng.

6 avatar Varchar Link ảnh đại diện của người dùng.

8 voucher_point Int Điểm đổi voucher.

9 balance Int Số dư tài khoản user.

10 available_balanc e Int Số dư khả dụng.

13 created_at Datetime Thời gian tạo.

14 updated_at Datetime Thời gian update.

15 deleted_at Datetime Thời gian xóa b) Bảng Admin

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id admin Khóa chính

2 username Varchar Username của admin

3 password Varchar Mật khẩu của tài khoản

4 role Enum Quyền của tài khoản

5 email String Email của admin

6 status String Trạng thái tài khoản

7 permission_id Int Id permission Khóa ngoại bảng Permission

8 created_at Datetime Thời gian tạo

9 updated_at Datetime Thời gian update c) Bảng Chat

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id chat Khóa chính

2 user_id Int Id người dùng

3 tourguide_id Int Id hướng dẫn viên

4 sender Enum Role của người gửi (USER,

5 message Varchar Nội dung tin nhắn

8 created_at Datetime Thời gian tạo d) Bảng Order

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id của chuyến đi Khóa chính

2 status enum Trạng thái trạng thái chuyến đi

3 start_date Date Ngày bắt đầu chuyến đi

4 end_date Date Ngày kết thúc chuyến đi

5 aprove_date Date Ngày hướng dẫn viên chấp nhận chuyến đi

6 price Int Giá của chuyến đi

7 paid Int Số tiền user đã thanh toán

9 user_start boolean Trạng thái user bắt đầu chuyến đi

10 tourguide_start boolean Trạng thái HDV bắt đầu chuyến đi

11 star Int Số sao đánh giá chuyến đi

12 tourguide_deposit Int Số tiền HDV đã cọc để nhận tour

13 tourguide_id Int Id Tourguide Khóa ngoại

14 user_id Int Id User Khóa ngoại

15 userVoucher_id Int Id voucher của người dùng

16 tour_id Int Id tour du lịch Khóa ngoại

17 created_at Datetime Thời gian tạo.

18 updated_at Datetime Thời gian update.

19 deleted_at Datetime Thời gian xóa e) Bảng Order Schedule

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id của lịch trình chuyến đi Khóa chính

2 content Varchar Nội dung lịch trình

3 tour_id Int Id tour du lịch Khóa ngoại Tour

4 created_at Datetime Thời gian tạo.

5 updated_at Datetime Thời gian update.

6 deleted_at Datetime Thời gian xóa f) Bảng Provinces

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id tỉnh thành Khóa chính

2 name Varchar Tên tỉnh thành

3 slug Varchar Slug tỉnh thành

4 description Text Mô tả tỉnh thành

5 image Varchar Hình ảnh tỉnh thành

6 created_at Datetime Thời gian tạo.

7 updated_at Datetime Thời gian update.

8 deleted_at Datetime Thời gian xóa g) Bảng Tour_guides

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id hướng dẫn viên Khóa chính

2 password Varchar Mật khẩu tài khoản

5 phone Varchar Số điện thoại

6 bio Text Giới thiệu HDV

7 gender Tinyint Giới tính HDV

8 avatar Varchar Url avatar HDV

9 available Boolean Trạng thái nhận tour

10 num_of_favorites Int Số lượt yêu thích

12 name Varchar Họ tên HDV

13 interview_date Date Ngày phỏng vấn

14 cancelled_orders Int Số order đã hủy

15 balance Int Số dư hiện tại

16 available_balance Int Số dư khả dụng

17 created_at Datetime Thời gian tạo.

18 updated_at Datetime Thời gian update.

19 deleted_at Datetime Thời gian xóa h) Bảng Posts

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id bài viết Khóa chính

2 title Varchar Tiêu đề bài viết

3 image Varchar Ảnh tiêu đề bài viết

4 topics Enum Chủ đề bài viết

5 status Enum Trạng thái bài viết

6 user_id Int Id user viết bài Khóa ngoại User

7 tourguide_id Int Id tourguide viết bài Khóa ngoại HDV

8 created_at Datetime Thời gian tạo.

9 updated_at Datetime Thời gian update.

10 deleted_at Datetime Thời gian xóa i) Bảng User_request

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id yêu cầu Khóa chính

2 content Varchar Nội dung yêu cầu

3 user_id Int Id của user Khóa ngoại User

4 province_id Int Id của tỉnh thành Khóa ngoại Province

5 created_at Datetime Thời gian tạo.

6 updated_at Datetime Thời gian update.

7 deleted_at Datetime Thời gian xóa j) Bảng Vouchers

Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id đánh giá Khóa chính

2 code Varchar Mã giảm giá

3 discount_ty pe Enum Loại giảm giá

4 start_date Date Thời gian bắt đầu

5 end_date Date Thời gian kết thúc

8 description Varchar Mô tả voucher

9 value Int Số lượng giảm

10 quantity Int Số lượng voucher

11 requiremen t_point Int Số điểm cần đổi

12 created_at Datetime Thời gian tạo.

13 updated_at Datetime Thời gian update.

14 deleted_at Datetime Thời gian xóa k) Bảng Reports

T Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id báo cáo Khóa chính

2 content Text Nội dung báo cáo

3 status Enum Trạng thái báo cáo

4 post_id Int Id bài viết Khóa ngoại Post

5 tourguide_id Int Id HDV Khóa ngoại

6 order_id Int Id chuyến đi Khóa ngoại

7 reported_by Int Id user Khóa ngoại

8 created_at Datetime Thời gian tạo.

9 updated_at Datetime Thời gian update.

10 deleted_at Datetime Thời gian xóa l) Bảng Tour_schedule

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id lịch trình Khóa chính

2 title Varchar Tiêu đề ngày

3 content Varchar Nội dung lịch trình tour

4 image Varchar Hình ảnh lịch trình

5 tour_id Int Id của tour Khóa ngoại Tour

6 created_at Datetime Thời gian tạo.

7 updated_at Datetime Thời gian update.

8 deleted_at Datetime Thời gian xóa m) Bảng Transactions

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id giao dịch Khóa chính

2 status Enum Trạng thái giao dịch

4 wallet Enum Ví điện tử

5 transaction_c ode Varchar Mã giao dịch

6 type Enum Kiểu giao dịch

7 time Datetime Thời gian giao dịch

8 user_id Int User giao dịch Khóa ngoại User

9 tourguide_id Int HDV giao dịch Khóa ngoại

7 created_at Datetime Thời gian tạo.

8 updated_at Datetime Thời gian update.

9 deleted_at Datetime Thời gian xóa n) Bảng Tours

STT Tên trường Kiểu dữ liệu Mô tả Ghi chú

1 id Int Id báo cáo Khóa chính

3 description Varchar Mô tả tour

_member Int Số thành viên không tính phụ phí

5 status Enum Trạng thái tour

6 province_id Int Id tỉnh thành Khóa ngoại

7 tourguide_id Int Id HDV Khóa ngoại

8 type Enum Loại chuyến đi

9 base_price Int Giá cơ bản

10 max_membe r Int Số người tối đa

11 fee_per_me mber Int Số phụ thu khi quá người

12 overview Text Tổng quan tour

13 created_at Datetime Thời gian tạo.

14 updated_at Datetime Thời gian update.

15 deleted_at Datetime Thời gian xóa

Tổng kết chương

Việc phân tích và thiết kế hệ thống có vai trò rất quan trọng trọng trong quy trình xây dựng phần mềm vì khi thực hiện ta sẽ có được cái nhìn đầy đủ, chính xác, đúng đắn về hệ thống đang xây dựng nhằm thuận lợi cho việc phát triển, bổ sung, và sửa chữa hệ thống Đồng thời tránh được những sai lầm trong thiết kế, cài đặt Chương

2 đã thực hiện phân tích một cách chi tiết về hệ thống ứng dụng để thấy rõ được mô hình, các đối tượng tham gia và cách thức hoạt động của ứng dụng Từ đó là bước đệm vững chắc để có thể triển khai thực nghiệm thu lại được kết quả ở chương tiếp theo.

TRIỂN KHAI HỆ THỐNG VÀ KẾT QUẢ THỰC NGHIỆM

Cấu trúc hệ thống

Kiến truc hệ thống Back-en được thể hiện qua hình 3.1

Mỗi một modules là một chức năng của hệ thống như: auth, provice, tour… Nó bao gồm controller, module, và service

Website được viết bằng ReactJS, bao gồm một số thành phần chính trong hình 3.2.

- pages: Chứa các màn hình giao tiếp với người dùng

- untils: Chứa các module kết nối với API

- component: Chứa các thành phần React con

App Android được viết bằng React Native, bao gồm một số thành phần chính trong hình 3.2.

- screens: Chứa các màn hình giao tiếp với người dùng

- services: Chứa các module kết nối với API

- component: Chứa các thành phần React con

Triển khai mã nguồn một số chức năng chính

1.1 Triển khai mã nguồn một số chức năng chính

3.1.1 Đặt tour du lịch Đây là chức năng đặt tour du lịch của người dùng, được thực hiện khi người dùng thao tác đặt 1 chuyến đi. Đầu tiên, hệ thống lấy những thông tin cần thiết như tour, user, hướng dẫn viên và kiểm tra tính chính xác của dữ liệu: const { startDate, tourId, numberOfMember, voucherId } = body; const [tour, user] = await Promise.all([

Trong trường hợp người dùng sử dụng voucher, hệ thống kiểm tra sự tồn tại của voucher trong ví voucher của user và tính toán giá được giảm bởi voucher: let discountPrice = 0; if (voucherId) {

Cuối cùng, hệ thống thực hiện lưu thông tin chuyến đi user đã đặt: const orderPrice = numberOfMember - tour.numOfFreeMember > 0

3.1.2 Chức năng nạp tiền Đây là chức năng của user và hướng dẫn viên Chức năng này được thực hiện khi actor muốn nạp tiền vào tài khoản.

Hệ thống tạo url thanh toán theo tài liệu hướng dẫn tích hợp của VNPay cung cấp Người dùng thực hiện thanh toán trên trang thanh toán của VNPay, sau khi thanh toán xong, VNPay điều hướng người dùng về returnUrl đã cài đặt ở source code, đồng thời cũng gọi API của hệ thống để cập nhật lịch sử giao dịch: async genUrlPay(body: TransferDto, userId: number): Promise {

Mô hình triển khai và kết quả thực nghiệm

3.2.1 Hệ thống cho người dùng

3.2.1.1 Hệ thống Website a) Giao diện trang chủ

Màn hình trang chủ hiển thị thông tin giới thiệu trang và các địa điểm nổi bật trên mảnh đất hình chữ S Tại đây còn hiển thị các bài viết mới nhất, câu hỏi thường gặp của người dùng khi đi du lịch… Tại giao diện trang chủ, ta có thể chuyển qua lại giữa các chức năng chính như: Điểm đến, Tour du lịch, Hướng dẫn viên, bài viết,…

Hình 3.41 Giao diện trang chủ b) Trang điểm đến Ở màn hình trang chủ, chọn trang điểm đến, tại đây sẽ hiển thị các thông tin điểm đến của 63 tỉnh thành Việt Nam, khi địa điểm được chọn thì sẽ hiển thị các thông tin về địa điểm đó, các chuyến đi và HDV tại địa phương đó.

Ngoài ra, trang điểm đến còn liệt kê một số HDV và Tour du lịch, bài viết mới nhất trên hệ thống, người dùng có thể bấm vào để xem chi tiết.

Hình 3.42 Giao diện điểm đến c) Giao diện Tour Ở màn Tour, hệ thống hiển thị các Tour du lịch có sẵn được tạp bởi các HDV,người dùng có thể tìm kiếm, lọc theo tỉnh thành, HDV hay lượt đánh giá… để lựa chọn được chuyến đi phù hợp

Hình 3.43 Giao diện tour d) Chi tiết tour

Khi bấm tùy chỉnh và liên hệ, mở ra màn xem chi tiết tour Tại màn này, người dùng có thể xem thông tin chi tiết của tour về Điểm nổi bật, lịch trình chi tiết, giá cả hoặc quy định và điều kiện khi đăng ký tour

Hình 3.44 Chi tiết tour e) Màn hướng dẫn viên

Màn hướng dẫn viên hiển thị hướng dẫn viên đang hoạt động trên hệ thống, người dùng có thể tìm kiếm và lọc theo tỉnh thành, theo từ khóa hoặc giới tính để tìm ra HDV phù hợp cho chuyến đi của mình

Hình 3.45 Giao diện Hướng dẫn viên f) Chi tiết HDV

Tại màn HDV, khi người dùng bấm xem chi tiết HDV sẽ mở ra trang chi tiết về HDV Tại màn này, người dùng có thể xem các thông tin cơ bản về HDV như: Tên, Giới thiệu, Tỉnh thành hoạt động, đánh giá, các chuyến đi của HDV và đánh giá HDV đó từ các du khách.

Hình 3.46 Chi tiêt HDV g) Màn tin tức

Tại màn tin tức, người dùng có thể dễ dàng xem, tìm kiếm các thông tin bổ ích cho chuyến đi của mình, đọc và viết bài chia sẻ kinh nghiệm, chia sẻ chuyến đi, nhằm tạo nên một cộng đồng du lịch hoàn thiện nhất.

Hình 3.47 Giao diện tin tức h) Màn chuyến đi của bạn

Khi đăng nhập vào hệ thống, Người dùng có thể xem lại danh sách các chuyến đi của mình, đánh giá chuyến đi mà mình đã đi, báo cáo chuyến đi và xem lại chuyến đi mà mình đã thực hiện.

Hình 3.48 Màn chuyến đi của bạn i) Màn hình mã giảm giá

Khi đăng nhập vào hệ thống, Người dùng có thể xem lại các voucher của mình, thu thập thêm mã giảm giá để có được giá tốt nhất khi đi du lịch

Hình 3.49 Giao diện Mã giảm giá j) Màn danh sách yêu cầu

Khi đăng nhập vào hệ thống, Người dùng có thể xem lại các yêu cầu về chuyến đi mà mình đã tạo, đồng thời người dùng có thể hủy yêu cầu đó.

Hình 3.50 Danh sách yêu cầu k) Giao diện Liên hệ HDV

Tại màn liên hệ HDV, người dùng có thể trao đổi thông tin với HDV, cùng HDV lên kế hoạch cụ thể cho yêu cầu chuyến đi của mình

Hình 3.51 Giao diện chat l) Màn thanh toán và lịch sử giao dịch

Tại màn thanh toán, người dùng nạp tiền vào hệ thống để phục vụ cho việc đặt tour du lịch Khi thanh toán thành công, hệ thống sẽ lưu lại thông tin và hiển thị ở màn lịch sử giao dịch, người dùng có thể xem và soát lại giao dịch đó

Hình 3.53 Lịch sử giao dịch

3.2.1.2 Hệ thống App Android a) Giao diện đăng nhập

Khi bắt đầu truy cập vào ứng dụng, App sẽ hiển thị trang Đăng nhập Tại đây, người dùng sử dụng email và mật khẩu đã đăng ký từ trước để thực hiện đăng nhập vào trong hệ thống Trên trang Đăng nhập sẽ có đường dẫn đến chức năng Quên mật khẩu và Đăng ký.

Nếu chưa có tài khoản, người dùng sẽ thao tác trên màn Đăng ký Ở đây người dùng sẽ nhập địa chỉ Email, mật khẩu, tên tài khoản để thực hiện đăng ký Sau đó, người dùng cần thực hiện nhập xác thực OTP được gửi về Email vừa đăng ký.

Hình 3.54 Giao hiện đăng nhập App b) Giao diện trang chủ App người dùng

Sau khi người dùng đã đăng nhập thành công vào trong ứng dụng thì sẽ được chuyển trực tiếp đến Trang chủ Màn trang chủ hiển thị các thông tin về địa điểm,HDV, tour mới nhất và các bài viết trên Hệ thống.

Hình 3.55 Giao hiện trang chủ App người dùng c) Giao diện danh sách tỉnh thành

Tổng kết chương

Chương 3 đã đưa ra được mô hình triển khai và cấu trúc của hệ thống, xây dựng được các module chính của Hệ thống kết nối du khách và HDV địa phương Đồng thời, xây dựng thành công các màn hình của hệ thống website người dùng, Website quản trị, App người dùng.

Ngày đăng: 16/03/2024, 00:20

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

TÀI LIỆU LIÊN QUAN

w