Đồ án 1: Xây dựng ứng dụng mobile hỗ trợ khách du lịch tại Việt Nam

Tài liệu đồ án môn học Xây dựng ứng dụng mobile hỗ trợ khách du lịch tại Việt Nam. Báo cáo chi tiết quá trình phân tích, thiết kế và triển khai.

2024

121
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về đồ án ứng dụng mobile hỗ trợ du lịch Việt Nam

Đồ án ứng dụng mobile hỗ trợ du lịch Việt Nam là một dự án học tập tại Trường Đại học Công nghệ Thông tin - Đại học Quốc gia TP.HCM. Ứng dụng mobile được thiết kế nhằm mục đích hỗ trợ khách du lịch quốc tế và nội địa khám phá các địa điểm du lịch nổi tiếng tại Việt Nam. Dự án này kết hợp các công nghệ hiện đại như Flutter, Dart, và Firebase để xây dựng một nền tảng di động toàn diện. Ứng dụng cung cấp các tính năng quan trọng như tìm kiếm địa điểm, lộ trình du lịch, cho thuê xe, và thanh toán trực tuyến. Với giao diện thân thiện và hỗ trợ đa ngôn ngữ, ứng dụng du lịch này giúp người dùng có trải nghiệm tốt nhất khi khám phá các địa danh của Việt Nam.

1.1. Lý do chọn đề tài và mục đích

Ngành du lịch Việt Nam phát triển nhanh chóng, tuy nhiên vẫn thiếu các công cụ hỗ trợ du lịch hiệu quả. Mục đích của đồ án là phát triển một giải pháp công nghệ di động giúp khách du lịch dễ dàng tìm kiếm thông tin, đặt phòng, thuê xe, và lên kế hoạch. Ứng dụng này nhằm cải thiện trải nghiệm của du khách và thúc đẩy ngành du lịch Việt Nam phát triển bền vững.

1.2. Phạm vi và quy trình thực hiện

Phạm vi dự án bao gồm xây dựng ứng dụng mobile cho iOS/Android và ứng dụng web quản lý. Quy trình thực hiện bao gồm: phân tích yêu cầu, thiết kế cơ sở dữ liệu, phát triển giao diện người dùng, tích hợp API và chức năng thanh toán. Nhóm sử dụng các công nghệ hiện đại để đảm bảo ứng dụng hoạt động ổn định, an toàn và có hiệu suất cao.

II. Công nghệ và công cụ sử dụng trong phát triển

Để xây dựng ứng dụng mobile hỗ trợ du lịch, nhóm phát triển lựa chọn các công nghệ tiên tiến. Flutter được chọn làm framework chính vì khả năng phát triển đa nền tảng hiệu quả. Dart là ngôn ngữ lập trình được sử dụng, cung cấp hiệu suất cao và cú pháp rõ ràng. Firebase được tích hợp để cung cấp các dịch vụ backend như xác thực người dùng, lưu trữ dữ liệu, và thông báo đẩy. Mapbox Maps cung cấp chức năng bản đồ tương tác, giúp người dùng khám phá các địa điểm du lịch trên bản đồ. Các công nghệ này được tích hợp chặt chẽ để tạo ra một nền tảng ứng dụng du lịch hoàn chỉnh.

2.1. Flutter và Dart cho phát triển đa nền tảng

Flutter là một framework mã nguồn mở cho phép phát triển ứng dụng di động cho cả iOS và Android từ một codebase duy nhất. Dart cung cấp những tính năng hiệu suất cao, hỗ trợ lập trình hướng đối tượng, và cú pháp dễ học. Sử dụng Dart trong Flutter cho phép nhóm phát triển nhanh chóng các tính năng phức tạp như bản đồ tương tác, danh sách động, và giao diện responsive.

2.2. Firebase Mapbox và các dịch vụ khác

Firebase cung cấp các dịch vụ backend quan trọng như xác thực, lưu trữ dữ liệu thời gian thực, và hosting. Mapbox Maps giúp hiển thị bản đồ tương tác và tính năng định vị địa điểm. Localization trong ứng dụng hỗ trợ đa ngôn ngữ (tiếng Việt, Anh, Trung). ElectronNode.js được sử dụng cho ứng dụng quản lý desktop phía admin.

III. Thiết kế hệ thống và yêu cầu chức năng

Thiết kế hệ thống của ứng dụng mobile hỗ trợ du lịch được chia thành hai phần chính: ứng dụng di động dành cho khách du lịch và ứng dụng web dành cho nhân viên quản lý. Yêu cầu chức năng bao gồm đăng nhập/đăng ký, tìm kiếm địa điểm du lịch, xem chi tiết địa điểm, tạo lộ trình du lịch, đặt thuê xe, thanh toán, và viết đánh giá. Yêu cầu phi chức năng bao gồm bảo mật dữ liệu, hiệu suất cao, khả năng mở rộng, và hỗ trợ ngoại tuyến. Sơ đồ Use case chi tiết miêu tả các tương tác giữa người dùng và hệ thống, với hơn 30 use case được phân tích kỹ lưỡng.

3.1. Yêu cầu chức năng và Use case

Ứng dụng hỗ trợ các chức năng chính: đăng nhập, tạo tài khoản, tìm kiếm địa điểm, xem bản đồ, tạo lộ trình, đặt dịch vụ cho thuê xe, xử lý thanh toán, gửi đánh giá. Sơ đồ Use case bao gồm các actor như khách du lịch, chủ xe, và admin. Mỗi use case được đặc tả chi tiết bao gồm điều kiện tiên quyết, các bước thực hiện, và kết quả mong đợi.

3.2. Thiết kế cơ sở dữ liệu và kiến trúc hệ thống

Lược đồ cơ sở dữ liệu bao gồm 22 bảng dữ liệu lưu trữ thông tin người dùng, địa điểm, xe cho thuê, hợp đồng, hóa đơn, đánh giá, lộ trình, voucher, và cấu hình. Kiến trúc hệ thống áp dụng mô hình client-server, với backend Firebase xử lý logic nghiệp vụ. Dữ liệu được đồng bộ hóa theo thời gian thực, đảm bảo tính nhất quán và an toàn.

IV. Kết quả đạt được và hướng phát triển

Dự án xây dựng ứng dụng mobile hỗ trợ du lịch đã hoàn thành thành công với 95% các tính năng được triển khai. Ứng dụng du lịch cung cấp giao diện thân thiện, hỗ trợ đa ngôn ngữ, và tính năng bản đồ tương tác đầy đủ. Các màn hình chính bao gồm giới thiệu, đăng nhập, khám phá địa điểm, quản lý lộ trình, đặt xe, và hồ sơ người dùng. Kết quả kiểm thử cho thấy ứng dụng hoạt động ổn định trên cả iOS và Android. Mặc dù đạt được nhiều thành tựu, dự án vẫn có những cơ hội cải tiến như tối ưu hóa hiệu suất, thêm tính năng AI gợi ý, và mở rộng hỗ trợ thanh toán.

4.1. Kết quả hoàn thành và tự đánh giá

Nhóm đã hoàn thành 95% chức năng được lên kế hoạch, bao gồm tất cả các tính năng chính của ứng dụng di động du lịch. Giao diện người dùng được thiết kế theo tiêu chuẩn UX/UI hiện đại. Ứng dụng du lịch đã được kiểm thử toàn diện trên các thiết bị khác nhau. Dữ liệu được mã hóa và lưu trữ an toàn. Hiệu suất ứng dụng được tối ưu hóa để chạy mượt mà ngay cả trên thiết bị có cấu hình thấp.

4.2. Nhược điểm và hướng phát triển tương lai

Nhược điểm hiện tại bao gồm hỗ trợ ngoại tuyến còn hạn chế và chưa có tính năng AI gợi ý. Hướng phát triển trong tương lai bao gồm thêm machine learning để gợi ý địa điểm cá nhân hóa, tích hợp thanh toán bằng ví điện tử, phát triển ứng dụng web hoàn chỉnh, và mở rộng thị trường sang các quốc gia khác.

28/12/2025

Trích đoạn nội dung tài liệu

CHƯƠNG 1 – TỔNG QUAN sẽ mô tả lí do chọn đề tài, xác định phạm vi nghiên cứu, miêu tả đối tượng nghiên cứu và trình bày các tính năng chính. ● CHƯƠNG 2 – CƠ SỞ LÝ THUYẾT sẽ mô tả lý thuyết về các công nghệ sử dụng trong đồ án. ● CHƯƠNG 3 – PHÂN TÍCH THIẾT KẾ HỆ THỐNG sẽ mô tả kiến trúc hệ thống, phân tích các yêu cầu chức năng của hệ thống, đưa ra các sơ đồ để làm rõ hơn về các đối tượng và tính năng trong đồ án. Từ đó, liệt kê và mô tả chi tiết các dữ liệu được sử dụng trong phần mềm.

● CHƯƠNG 4 – XÂY DỰNG ỨNG DỤNG sẽ liệt kê và mô tả chi tiết các thành phần giao diện và cách tương tác với ứng dụng. ● CHƯƠNG 5 – TỔNG KẾT sẽ tổng kết đồ án thông qua kết quả đạt được, ưu điểm, nhược điểm, thuận lợi, khó khăn cũng như hướng phát triển. Lý do chọn đề tài Trong thời kỳ đổi mới, du lịch Việt Nam đã nỗ lực vươn lên, phát triển nhanh cả về quy mô và chất lượng, khẳng định vai trò, vị thế là một trong những điểm đến được yêu thích hàng đầu thế giới. Năm 2023, du lịch Việt Nam đón 12,6 triệu lượt khách quốc tế và 108 triệu lượt khách nội địa.

Bên cạnh đó, sự phổ biến của điện thoại thông minh và sự tiện lợi của các ứng dụng di động đã thay đổi cách thức mà du khách tiếp cận thông tin và lập kế hoạch cho các chuyến đi. Với sự gia tăng của lượng du khách trong và ngoài nước, việc cung cấp thông tin và hỗ trợ du lịch thông qua các ứng dụng di động trong tương lai ngày càng trở nên cần thiết. Do đó, trong những năm gần đây, các ứng dụng về du lịch ra đời và được mọi người sử dụng phổ biến. Tuy nhiên, hầu hết các ứng dụng hỗ trợ du lịch Việt Nam hiện nay vẫn còn những hạn chế như chưa tích hợp đầy đủ các tính năng cần thiết để phục vụ du khách một cách tối ưu.

Một số ứng dụng phổ biến như Traveloka, Agoda chỉ tập trung vào một số khía cạnh cụ thể như đặt vé, tìm kiếm khách sạn, chuyến đi, mà chưa cung cấp được trải nghiệm toàn diện, những lĩnh vực mà người dùng quan tâm nhiều hiện nay bao gồm cả việc gợi ý lộ trình du lịch cá nhân hóa, tìm kiếm địa điểm ăn uống phổ biến theo khu vực, và hỗ trợ thuê xe tự lái trực tiếp trên ứng dụng. Nắm rõ vấn đề đó, Ứng dụng mobile hỗ trợ khách du lịch tại Việt Nam ra đời với mong muốn giải quyết các vấn đề này. Ứng dụng tập trung vào việc hiển thị cụ thể, rõ ràng tất cả các thông tin, hình ảnh, trải nghiệm về các địa điểm du lịch trên bản đồ Việt Nam. Bên cạnh đó, ứng dụng hỗ trợ nhiều tính năng tiện lợi cho người dùng như tra cứu các quán ăn phổ biến theo khu vực, đặt xe, thuê xe tự lái, lên kế hoạch, quản lý lộ trình du lịch cá nhân, nhận các đề xuất về địa điểm, lộ trình du lịch.

Ngoài ra, đề tài phát triển một ứng dụng desktop đi kèm để quản lý thông tin về địa điểm, dịch vụ thuê xe, và tương tác với người dùng một cách hiệu quả. Mục đích và phạm vi của đề tài 1. Mục đích Phát triển một ứng dụng mobile với giao diện thân thiện và dễ sử dụng, cung cấp các tính năng hữu ích cho du khách, giúp du lịch Việt Nam tiếp cận với mọi người từ trong nước và nước ngoài một cách trực quan, gần gũi nhất. Hiển thị các địa điểm du lịch từ nổi bật đến ít phổ biến trên bản đồ Việt Nam và cung cấp thông tin chi tiết về các địa điểm này.

Tích hợp các tính năng hỗ trợ: Tính năng tìm kiếm quán ăn, các địa điểm du lịch theo từng khu vực; tính năng đặt xe, thuê xe, cho thuê xe phục vụ di chuyển; tính năng tạo và quản lý lộ trình cá nhân; các hệ thống đề xuất. Bên cạnh đó, hỗ trợ thêm ngôn ngữ tiếng anh cho du khách nước ngoài và phát triển một ứng dụng desktop quản lý đi kèm. Phạm vi Đối tượng: Người dùng là khách du lịch trong và ngoài nước, những người có nhu cầu tìm kiếm thông tin du lịch, thuê xe tự lái, và lên kế hoạch lộ trình cá nhân. Ngoài ra, các chủ phương tiện mong muốn cho thuê xe tự lái cũng là một nhóm đối tượng chính.

Phạm vi: Ứng dụng tập trung vào các địa điểm du lịch tại Việt Nam, ở tất cả 63 tỉnh thành của Việt Nam. Dữ liệu được thu thập từ các nguồn uy tín và sẽ được cập nhật thường xuyên để đáp ứng nhu cầu của người dùng. Công nghệ sử dụng:  Mobile app: Flutter, Dart, Firebase, Mapbox maps, localization.  Desktop app: Electron.

Môi trường phát triển: Visual Studio Code, Android Studio. Công cụ hỗ trợ: Github, Figma, Draw. Chức năng: Đề tài tập trung vào các khía cạnh chính sau: 2  Khám phá địa điểm du lịch: Hiển thị địa điểm được tìm kiếm dưới dạng icon trên bản đồ Việt Nam, theo khu vực. Người dùng chọn để xem thông tin chi tiết từng địa điểm cụ thể.

 Hỗ trợ thuê xe tự lái: Tích hợp tính năng thuê xe và đăng ký cho thuê xe tự lái trực tiếp trên ứng dụng, cung cấp thông tin chi tiết về xe, giá cả và đánh giá từ người dùng.  Tùy chỉnh lộ trình: Cho phép người dùng tự tạo và chỉnh sửa lộ trình du lịch, tạo sự linh hoạt và cá nhân hóa trải nghiệm.  Gợi ý lộ trình du lịch và địa điểm ăn uống: Dựa trên vị trí, sở thích và đánh giá của người dùng, ứng dụng sẽ đề xuất các địa điểm du lịch nổi bật và lộ trình tham quan tối ưu.  Hệ thống quản lý trên desktop: Xây dựng ứng dụng desktop cho quản trị viên, hỗ trợ quản lý thông tin về địa điểm, phương tiện cho thuê, và duyệt các hợp đồng cho thuê xe, đảm bảo sự đồng bộ và chính xác.

Quy trình thực hiện Quy trình phát triển đề tài Ứng dụng mobile hỗ trợ khách du lịch tại Việt Nam được chia thành 4 giai đoạn chính, cụ thể như sau:  Giai đoạn 1: Khảo sát hiện trạng, khảo sát người dùng, xác định và mô hình hóa các yêu cầu của ứng dụng.  Giai đoạn 2: Phân tích và thiết kế o Giai đoạn 2.1: Xác định các tính năng chính.2: Phân tích chi tiết các thành phần xử lý, thành phần dữ liệu input/ output tương với từng tính năng chính.3: Thiết kế hệ thống.4: Thiết kế cơ sở dữ liệu.5: Thiết kế giao diện và chọn bảng màu phù hợp.  Giai đoạn 3: Cài đặt các ứng dụng dựa trên các yêu cầu đã phân tích.  Giai đoạn 4: Kiểm thử và sửa các lỗi trong quá trình vận hành thử.

Tổng quan về Flutter 2. Giới thiệu Flutter là một framework mã nguồn mở do Google phát triển, được sử dụng để xây dựng các ứng dụng di động, web và máy tính để bàn với một mã nguồn duy nhất. Flutter nổi bật với khả năng xây dựng ứng dụng nhanh chóng và đẹp mắt, với hiệu suất gần như gốc nhờ vào việc sử dụng ngôn ngữ lập trình Dart. Cấu trúc  Dart: Flutter được xây dựng trên Dart, một ngôn ngữ lập trình do Google phát triển.

Dart dễ học và có cú pháp rõ ràng.  Widget: Mọi thứ trong Flutter đều là widget, từ các phần tử giao diện cơ bản như nút bấm và văn bản cho đến các cấu trúc phức tạp như danh sách cuộn.  Framework: Flutter cung cấp một bộ công cụ mạnh mẽ với các widget tùy biến sẵn có, giúp phát triển giao diện người dùng nhanh chóng và dễ dàng. Ưu điểm  Hiệu suất cao: Flutter biên dịch trực tiếp mã Dart thành mã máy, giúp ứng dụng có hiệu suất tốt như các ứng dụng gốc.

 Giao diện người dùng (UI) đẹp mắt: Sử dụng hệ thống widget phong phú và tùy biến cao, giúp phát triển các giao diện người dùng cực kỳ linh hoạt.  Mã nguồn mở: Flutter là mã nguồn mở và cộng đồng phát triển rất mạnh mẽ. Tổng quan về Dart 2. Giới thiệu Dart là một ngôn ngữ lập trình được phát triển bởi Google, chủ yếu được sử dụng để xây dựng ứng dụng web, di động, máy tính để bàn và server-side.

Dart được biết đến nhiều nhất trong việc phát triển ứng dụng với Flutter. Tính năng nổi bật  Hướng đối tượng (Object-Oriented): Dart là một ngôn ngữ lập trình hướng đối tượng hoàn chỉnh, hỗ trợ các khái niệm như lớp (class), đối tượng (object), kế thừa, đa hình, và giao diện (interface).  Hỗ trợ lập trình bất đồng bộ (Asynchronous programming): Dart hỗ trợ mạnh mẽ việc lập trình bất đồng bộ thông qua Future và Stream, giúp xử lý các tác vụ như gọi API, xử lý tệp tin mà không làm gián đoạn quá trình chạy ứng dụng.  Kết hợp với Flutter: Dart là ngôn ngữ chính được sử dụng trong Flutter, giúp phát triển ứng dụng di động, web và desktop với một mã nguồn duy nhất.

Sử dụng Dart trong Flutter  Chạy ứng dụng di động và web: Dart là ngôn ngữ chính trong Flutter, giúp bạn phát triển ứng dụng di động cho cả Android và iOS, cũng như web.  Tích hợp dễ dàng: Flutter sử dụng Dart để tạo giao diện người dùng với các widget, cung cấp khả năng thiết kế giao diện người dùng động và tương tác mượt mà. Tổng quan về Firebase 2. Giới thiệu Firebase là một nền tảng phát triển ứng dụng của Google, cung cấp một loạt các công cụ và dịch vụ backend mạnh mẽ để hỗ trợ các nhà phát triển xây dựng, triển khai và quản lý ứng dụng di động và web.

Firebase giúp đơn giản hóa quy trình phát triển ứng dụng bằng cách cung cấp các dịch vụ như cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ tệp tin, phân tích, thông báo đẩy, và nhiều tính năng khác mà không cần phải xây dựng backend phức tạp. Các dịch vụ nổi bật  Firebase Realtime Database: Là một cơ sở dữ liệu NoSQL thời gian thực, cho phép bạn lưu trữ và đồng bộ dữ liệu giữa các thiết bị và người dùng trong thời gian thực. Mọi thay đổi dữ liệu sẽ được cập nhật ngay lập tức trên tất cả các thiết bị mà không cần phải tải lại ứng dụng.  Cloud Firestore: Firestore là một cơ sở dữ liệu NoSQL thế hệ mới của Firebase, được thiết kế để thay thế Realtime Database.

Firestore cung cấp khả năng lưu trữ dữ liệu có cấu trúc (document và collection) và đồng bộ hóa dữ liệu giữa các client và server.

Nội dung được bảo vệ bản quyền — Tải xuống đầy đủ