Đồ Án HCMUTE: Xây Dựng Ứng Dụng Du Lịch Sử Dụng Flutter và Microservices

Khám phá đồ án HCMUTE xây dựng ứng dụng du lịch sử dụng Flutter và microservices, mang đến trải nghiệm du lịch hiện đại và tiện ích.

Chuyên ngành

Công Nghệ Thông Tin

Người đăng

Ẩn danh

Thể loại

Khóa Luận Tốt Nghiệp

2019

121
1
0

Phí lưu trữ

35 Point

Mục lục chi tiết

NHIỆM VỤ KHÓA LUẬN TỐT NGHIỆP

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN

PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN

LỜI CẢM ƠN

ĐỀ CƯƠNG KHÓA LUẬN TỐT NGHIỆP

MỤC LỤC

DANH MỤC HÌNH ẢNH

DANH MỤC CÁC BẢNG

PHẦN MỞ ĐẦU

0.1. Tính cấp thiết của đề tài

0.2. Mục tiêu của đề tài

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

0.3.1. Đối tượng nghiên cứu

0.3.2. Phạm vi nghiên cứu

0.4. Phương pháp nghiên cứu

1. CHƯƠNG 1: CƠ SỞ LÝ THUYẾT

1.1. Ngôn ngữ lập trình

1.2. Các ngôn ngữ được sử dụng

1.3. Kiến trúc microservices

1.4. Hệ quản trị cơ sở dữ liệu

2. CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG

2.1. Khảo sát hiện trạng

2.2. Khảo sát một số ứng dụng

2.3. Đặc tả các tính năng của ứng dụng Travel-Express

3. CHƯƠNG 3: LẬP DANH SÁCH YÊU CẦU

3.1. Danh sách yêu cầu chức năng của phần mềm

3.2. Yêu cầu chức năng của Guest

3.3. Yêu cầu chức năng của User

4. CHƯƠNG 4: PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU

4.1. Mô hình hóa yêu cầu

4.2. Nghiệp vụ View Trip Itineraries

4.3. Nghiệp vụ View Places

4.4. Nghiệp vụ View Profile

4.5. Nghiệp vụ Edit Profile

4.6. Nghiệp vụ Create Trip

4.7. Nghiệp vụ Login with Facebook

4.8. Nghiệp vụ Login with Google

4.9. Nghiệp vụ Login with Phone Number

4.10. Nghiệp vụ Create Destination

4.11. Nghiệp vụ View Destination

4.12. Nghiệp vụ Logout

4.13. Mô tả cơ sở dữ liệu

4.14. Chi tiết các bảng dữ liệu

5. CHƯƠNG 5: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ

5.1. Màn hình Splash

5.2. Màn hình đăng nhập

5.3. Màn hình chỉnh sửa thông tin cá nhân

5.4. Màn hình chọn địa điểm

5.5. Màn hình tạo lịch trình

5.6. Màn hình thêm lịch trình cụ thể cho từng ngày

5.7. Màn hình khám phá

5.8. Màn hình đánh giá địa danh

5.9. Màn hình thông tin địa danh

5.10. Màn hình chọn nơi dừng chân

5.11. Màn hình chi tiết kế hoạch chuyến đi

6. CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ

6.1. Hệ quản trị cơ sở dữ liệu

6.2. Test màn hình đăng nhập

6.3. Test màn hình chỉnh sửa thông tin cá nhân

6.4. Test màn hình chọn địa điểm

6.5. Test màn hình tạo lịch trình

6.6. Test màn hình thêm lịch trình cụ thể cho từng ngày

6.7. Test màn hình khám phá

6.8. Test màn hình đánh giá địa danh

6.9. Test màn hình thông tin địa danh

6.10. Test màn hình chọn nơi dừng chân

6.11. Test màn hình chi tiết kế hoạch chuyến đi

6.12. Kết quả kiểm thử

7. PHẦN TỔNG KẾT

7.1. Kết quả đạt được

7.2. Hướng phát triển

TÀI LIỆU THAM KHẢO

Tóm tắt

I. Phát triển ứng dụng du lịch Tổng quan và mục tiêu

Phần này tập trung vào phát triển ứng dụng du lịch, đặc biệt là việc xây dựng một ứng dụng di động đáp ứng nhu cầu ngày càng tăng của người dùng. Đề tài nghiên cứu tập trung vào việc xây dựng một ứng dụng di động du lịch đa nền tảng, tận dụng ưu điểm của Flutter developmentkiến trúc microservices. Mục tiêu chính là tạo ra một sản phẩm hoàn chỉnh, đáp ứng các yêu cầu chức năng như đặt vé máy bay, đặt phòng khách sạn, tìm kiếm tour du lịch, và tích hợp các tính năng hỗ trợ khác. Ứng dụng du lịch đa nền tảng này sẽ được phát triển dựa trên Flutter mobile app, một framework mạnh mẽ cho phép xây dựng ứng dụng chạy trên cả Android và iOS. Việc sử dụng microservices architecture giúp cải thiện khả năng mở rộng, bảo trì và cập nhật của hệ thống. Xây dựng app du lịch này mang lại giải pháp tiện lợi cho người dùng, hỗ trợ lên kế hoạch du lịch hiệu quả.

1.1. Lựa chọn công nghệ Flutter và Microservices

Việc lựa chọn Flutter là một quyết định chiến lược. Flutter là một SDK đa nền tảng, cho phép viết một lần và chạy trên nhiều hệ điều hành. Điều này giảm thiểu chi phí và thời gian phát triển. Lập trình Flutter cũng tương đối dễ học, cộng đồng hỗ trợ lớn mạnh, và có sẵn nhiều thư viện Flutter (package Flutter) hỗ trợ. Flutter development giúp đảm bảo giao diện người dùng đẹp mắt và hiệu năng cao. Về phía backend, kiến trúc microservices được chọn để đảm bảo tính linh hoạt, khả năng mở rộng và bảo trì. Microservices architecture cho phép cập nhật và nâng cấp từng thành phần riêng lẻ mà không ảnh hưởng đến toàn bộ hệ thống. Backend cho ứng dụng du lịch được thiết kế dựa trên các nguyên tắc của microservices, cho phép hệ thống hoạt động ổn định và hiệu quả, đặc biệt với lượng người dùng lớn. Khả năng tích hợp với các dịch vụ bên thứ ba như Google Maps API, REST API, và các hệ thống thanh toán trực tuyến cũng được ưu tiên. Ứng dụng du lịch được thiết kế theo hướng cross-platform app development, tối ưu hóa trải nghiệm người dùng trên nhiều thiết bị.

1.2. Các tính năng chính của ứng dụng

Ứng dụng tích hợp nhiều tính năng quan trọng đáp ứng nhu cầu người dùng. Ứng dụng đặt vé máy bayứng dụng đặt khách sạn giúp người dùng dễ dàng tìm kiếm và đặt chỗ. Ứng dụng tìm kiếm tour du lịch cung cấp thông tin về các tour du lịch đa dạng. Ứng dụng còn tích hợp hệ thống đặt phòng (booking system) tiện lợi. Quản lý đặt phòng được đơn giản hóa, tạo trải nghiệm mượt mà. Tích hợp thanh toán an toàn và bảo mật là ưu tiên hàng đầu. Tích hợp bản đồ (Google Maps API) giúp người dùng định vị và tìm đường dễ dàng. Phân tích dữ liệu du lịch (thống kê du lịch) giúp cải thiện trải nghiệm người dùng trong tương lai. An ninh ứng dụngbảo mật ứng dụng được ưu tiên hàng đầu. Tối ưu hóa hiệu năng ứng dụng là mục tiêu quan trọng. Test ứng dụng Flutter được thực hiện kỹ lưỡng để đảm bảo chất lượng.

II. Triển khai và đánh giá

Phần này trình bày quá trình triển khai ứng dụng, bao gồm các bước cài đặt, kiểm thử và đánh giá hiệu quả. Deploy ứng dụng Flutter cần được thực hiện cẩn thận, đảm bảo hệ thống hoạt động ổn định. Triển khai ứng dụng Flutter bao gồm việc chuẩn bị môi trường, cấu hình server và database. Test ứng dụng Flutter bao gồm các bài kiểm tra đơn vị, tích hợp và kiểm thử người dùng. Việc đánh giá dựa trên các chỉ số hiệu năng, khả năng mở rộng và trải nghiệm người dùng. Thời gian phát triển ứng dụng du lịch được tính toán và phân tích, cho thấy hiệu quả của việc sử dụng Flutter và Microservices. Chi phí phát triển ứng dụng du lịch được cân nhắc và tối ưu.

2.1 Quá trình triển khai và kiểm thử

Quá trình triển khai bao gồm các giai đoạn: thiết lập môi trường, cài đặt các thư viện cần thiết, xây dựng và chạy ứng dụng trên các nền tảng mục tiêu. Kiểm thử được tiến hành trên nhiều khía cạnh: chức năng, hiệu năng, bảo mật, khả năng tương thích. Các bài test bao gồm test đơn vị, test tích hợp và test hệ thống. Ví dụ ứng dụng du lịch Flutter minh họa cách thức ứng dụng hoạt động. Hướng dẫn xây dựng ứng dụng du lịch cung cấp tài liệu tham khảo. Bài học lập trình Flutterbài học kiến trúc microservices giúp người đọc hiểu rõ hơn về công nghệ được sử dụng. Cộng đồng Flutter cung cấp hỗ trợ kỹ thuật hiệu quả.

2.2 Đánh giá và kết luận

Kết quả kiểm thử cho thấy ứng dụng hoạt động ổn định và đáp ứng các yêu cầu chức năng. Hiệu năng của ứng dụng được đánh giá cao. Khả năng mở rộng của kiến trúc microservices cho phép ứng dụng xử lý được lượng người dùng lớn. Trải nghiệm người dùng được đánh giá tích cực. Nghiên cứu đề cập đến xu hướng phát triển ứng dụng du lịch hiện nay và công nghệ phát triển ứng dụng du lịch tiên tiến. Phân tích dữ liệu du lịch thu thập được từ ứng dụng giúp hiểu rõ hơn về hành vi người dùng. Ứng dụng đóng góp vào việc thúc đẩy phát triển ứng dụng du lịch tại Việt Nam. Nghiên cứu cung cấp ví dụ ứng dụng du lịch Flutterhướng dẫn xây dựng ứng dụng du lịch.

01/02/2025

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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT. Ngôn ngữ lập trình .5 Các ngôn ngữ được sử dụng .5 Kiến trúc microservices. Hệ quản trị cơ sở dữ liệu .8 CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG. Khảo sát hiện trạng.

Khảo sát một số ứng dụng .city/ Google Map. Đặc tả các tính năng của ứng dụng travel-express .20 CHƯƠNG 3: LẬP DANH SÁCH YÊU CẦU .22 X do an MỤC LỤC 3. Danh sách yêu cầu chức năng của phần mềm .22 Yêu cầu chức năng của Guest .22 Yêu cầu chức năng của User .25 CHƯƠNG 4: PHÂN TÍCH YÊU CẦU VÀ THIẾT KẾ CƠ SỞ DỮ LIỆU. Mô hình hóa yêu cầu .31 Nghiệp vụ View Trip Itineraries .31 Nghiệp vụ View Places .32 Nghiệp vụ View Profile .34 Nghiệp vụ Edit Profile .36 Nghiệp vụ Create Trip .38 Nghiệp vụ Login with Facebook .40 Nghiệp vụ Login with Google .42 Nghiệp vụ Login with Phone Number .44 Nghiệp vụ Create Destination .46 Nghiệp vụ View Destination .48 Nghiệp vụ Logout.

Mô tả cơ sở dữ liệu .52 Mô tả cơ sở dữ liệu .52 Bảng mô tả các thuộc tính của cơ sở dữ liệu .54 CHƯƠNG 5: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ. Màn hình Splash .59 Màn hình đối tượng.59 Màn hình xử lý .60 Danh sách xử lý. Màn hình đăng nhập.61 Màn hình đối tượng.61 Màn hình xử lý .62 Danh sách xử lý. Màn hình chỉnh sửa thông tin cá nhân .63 Màn hình đối tượng.63 Màn hình xử lý .65 Danh sách xử lý .65 XI do an MỤC LỤC 5.

Màn hình chọn địa điểm.66 Màn hình đối tượng.66 Màn hình xử lý .68 Danh sách xử lý. Màn hình tạo lịch trình .69 Màn hình đối tượng.69 Màn hình xử lý .71 Danh sách xử lý. Màn hình thêm lịch trình cụ thể cho từng ngày .72 Màn hình đối tượng.72 Màn hình xử lý .73 Danh sách xử lý. Màn hình khám phá .75 Màn hình đối tượng.75 Màn hình xử lý .77 Danh sách xử lý.

Màn hình đánh giá địa danh .78 Màn hình đối tượng.78 Màn hình xử lý .80 Danh sách xử lý. Màn hình thông tin địa danh .81 Màn hình đối tượng.81 Màn hình xử lý .82 Danh sách xử lý. Màn hình chọn nơi dừng chân .84 Màn hình đối tượng .84 Màn hình xử lý .85 Danh sách xử lý. Màn hình chi tiết kế hoạch chuyến đi .87 Màn hình đối tượng .87 Màn hình xử lý .89 Danh sách xử lý .89 XII do an MỤC LỤC CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ .90 Hệ quản trị cơ sở dữ liệu .91 Test màn hình đăng nhập .91 Test màn hình chỉnh sửa thông tin cá nhân .92 Test màn hình chọn địa điểm .92 Test màn hình tạo lịch trình .93 Test màn hình thêm lịch trình cụ thể cho từng ngày .94 Test màn hình khám phá .94 Test màn hình đánh giá địa danh .95 Test màn hình thông tin địa danh.95 Test màn hình chọn nơi dừng chân .96 Test màn hình chi tiết kế hoạch chuyến đi .96 Kết quả kiểm thử .97 PHẦN TỔNG KẾT.

Kết quả đạt được. Hướng phát triển.100 TÀI LIỆU THAM KHẢO. 101 XIII do an DANH MỤC HÌNH ẢNH DANH MỤC HÌNH ẢNH Hình 1-1. Mô hình kiến trúc của Microservices.

Màn hình tạo lịch trình. Màn hình đặt khách sạn. Chức năng tạo lịch trình tự động hoặc thủ công. Màn hình ước tính chi phí.

Màn hình đặt lộ trình có sẵn. Chức năng thêm hình ảnh vào địa điểm. Màn hình đánh giá địa điểm. Chức năng đề xuất địa danh.

Chức năng đề xuất món ăn, thức uống. Màn hình tạo lịch trình. Màn hình thêm hình ảnh vào địa điểm. Màn hình góp ý lịch trình thành viên khác đề xuất.

Màn hình quản lý kinh phí. Màn hình gợi ý đường đi. Sơ đồ luồng dữ liệu View Trip Itineraries. View Trip Itineraries - Lược đồ tuần tự.

Sơ đồ luồng dữ liệu View Places. View Places - Lược đồ tuần tự. Sơ đồ luồng dữ liệu View Profile. View Profile - Lược đồ tuần tự.

Sơ đồ luồng dữ liệu Edit Profile. Edit Profile - Lược đồ tuần tự. Sơ đồ luồng dữ liệu Create Trip. Create Trip - Lược đồ tuần tự.

Sơ đồ luồng dữ liệu Login with Facebook. Login with Facebook - Lược đồ tuần tự. Sơ đồ luồng dữ liệu Login with Google .42 XIV do an DANH MỤC HÌNH ẢNH Hình 4-14. Login with Gooogle – Lược đồ tuần tự.

Sơ đồ luồng dữ liệu Login with Phone Number. Login with Phone Number - Lược đồ tuần tự. Sơ đồ luồng dữ liệu Create Destination. Create Destination - Lược đồ tuần tự.

Sơ đồ luồng dữ liệu View Destination. View Destination - Lược đồ tuần tự. Sơ đồ luồng dữ liệu Logout. Logout - Lược đồ tuần tự.

Mô tả cơ sở dữ liệu bảng User. Mô tả cơ sở dữ liệu bảng Trip. Mô tả cơ sở dữ liệu bảng Day. Mô tả cơ sở dữ liệu bảng Region.

Mô tả cơ sở dữ liệu bảng Place. Màn hình đối tượng Splash. Màn hình xử lý Splash. Màn hình đối tượng đăng nhập.

Màn hình xử lý đăng nhập. Màn hình đối tượng chỉnh sửa thông tin cá nhân. Màn hình xử lý thông tin cá nhân. Màn hình đối tượng chọn địa điểm.

Màn hình xử lý chọn địa điểm. Màn hình đối tượng tạo lịch trình. Màn hình xử lý tạo lịch trình. Màn hình đối tượng thêm lịch trình cụ thể cho từng ngày.

Màn hình xử lý thêm lịch trình cụ thể cho từng ngày. Màn hình đối tượng khám phá. Màn hình xử lý khám phá. Màn hình đối tượng đánh giá địa danh.

Màn hình xử lý đánh giá địa danh. Màn hình đối tượng thông tin địa danh. Màn hình xử lý thông tin địa danh .82 XV do an DANH MỤC HÌNH ẢNH Hình 5-19. Màn hình đối tượng chọn nơi dừng chân.

Màn hình xử lý chọn nơi dừng chân. Màn hình đối tượng chi tiết kế hoạch chuyến đi. Màn hình xử lý chi tiết kế hoạch chuyến đi. Sơ đồ thành phần - Component Diagram.

Sơ đồ triển khai - Deployment Diagram .90 XVI do an DANH MỤC CÁC BẢNG DANH MỤC CÁC BẢNG Bảng 2-1. Bảng đặc tả các tính năng của ứng dụng Travel-Express. Chức năng nghiệp vụ của Guest. Chi tiết quy định/ công thức liên quan của Guest.

Yêu cầu chức năng nghiệp vụ của User. Chi tiết quy định/ công thức liên quan của User. Chi tiết bảng User. Chi tiết bảng Trip.

Chi tiết bảng Place. Chi tiết bảng Day. Chi tiết bảng Region. Bảng chi tiết đối tượng của màn hình Splash.

Bảng chi tiết xử lý của màn hình Splash. Bảng chi tiết đối tượng của màn hình đăng nhập. Bảng chi tiết xử lý của màn hình đăng nhập. Bảng chi tiết đối tượng của màn hình chỉnh sửa thông tin cá nhân.

Bảng chi tiết xử lý của màn hình chỉnh sửa thông tin cá nhân. Bảng chi tiết đối tượng của màn hình chọn địa điểm. Bảng chi tiết xử lý của màn hình chọn địa điểm. Bảng chi tiết đối tượng của màn hình tạo lịch trình.

Bảng chi tiết xử lý của màn hình tạo lịch trình. Bảng chi tiết đối tượng của màn hình thêm lịch trình cụ thể cho từng ngày. Bảng chi tiết xử lý của màn hình thêm lịch trình cụ thể cho từng ngày. Bảng chi tiết đối tượng của màn hình khám phá.

Bảng chi tiết xử lý của màn hình khám phá. Bảng chi tiết đối tượng của màn hình đánh giá địa danh. Bảng chi tiết xử lý của màn hình đánh giá địa danh. Bảng chi tiết đối tượng của màn hình thông tin địa danh.

Bảng chi tiết xử lý của màn hình thông tin địa danh. Bảng chi tiết đối tượng của màn hình chọn nơi dừng chân .84 XVII do an DANH MỤC CÁC BẢNG Bảng 5-20. Bảng chi tiết xử lý của màn hình chọn nơi dừng chân. Bảng chi tiết đối tượng của màn hình chi tiết kế hoạch chuyến đi.

Bảng chi tiết xử lý của màn hình kế hoạch chuyến đi. Test màn hình đăng nhập. Test màn hình chỉnh sửa thông tin cá nhân. Test màn hình chọn địa điểm.

Test màn hình tạo lịch trình. Test màn hình thêm lịch trình cụ thể cho từng ngày. Test màn hình khám phá. Test màn hình đánh giá địa danh.

Test màn hình thông tin địa danh. Test chức năng chọn nơi dừng chân. Test màn hình chi tiết kế hoạch chuyến đi. Bảng kết quả kiểm thử .97 XVIII do an PHẦN MỞ ĐẦU PHẦN MỞ ĐẦU 1 do an PHẦN MỞ ĐẦU 1.

Tính cấp thiết của đề tài Nước ta có tiềm năng lớn về nhiều mặt để phát triển du lịch, có điều kiện thiên nhiên phong phú, có nhiều danh lam thắng cảnh nổi tiếng, có truyền thống văn hóa lâu đời với nhiều lễ hội, phong tục tập quán tốt đẹp và độc đáo, nhiều di tích lịch sử, tôn giáo, kiến trúc nghệ thuật đặc sắc, giàu bản sắc nhân văn. Trong những năm gần đây, ngành du lịch đã có những đổi mới, từng bước phát triển cơ sở vật chất, kỹ thuật, tạo điều kiện bước đầu thu hút khách nước ngoài và kiều bào về thăm Tổ quốc, giới thiệu đất nước, con người và tinh hoa của dân tộc Việt Nam với bạn bè quốc tế; đáp ứng một phần nhu cầu tham quan, nghỉ ngơi, giải trí của nhân dân trong nước. Cũng trong những năm gần đây, đời sống của con người cũng ngày càng được cải thiện và nâng cao. Việc này đồng nghĩa với nhu cầu tận hưởng cuộc sống với những chuyến du lịch ngày càng tăng.

Tuy nhiên, việc lựa chọn những địa điểm để tham quan, du lịch sẽ là điều khó khăn với những người mới lần đầu hoặc chỉ một vài lần đi du lịch. Đặc biệt, những bạn trẻ là những bạn thích khám phá và muốn tìm những cái mới. Vì vậy, việc tìm kiếm những địa điểm du lịch và sắp xếp một tour du lịch sẽ là một điều rất cần thiết. Và việc quản lý vị trí của các thành viên trong nhóm khi thất lạc nhau là một điều rất quan trọng.

Nhóm chúng em quyết định lựa chọn đề tài “xây dựng ứng dụng du lịch sử dụng flutter và microservices” nhằm giải quyết vấn đề đó.

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

Bài viết "Xây Dựng Ứng Dụng Du Lịch Bằng Flutter và Microservices" cung cấp cái nhìn sâu sắc về cách phát triển ứng dụng du lịch hiện đại bằng cách kết hợp công nghệ Flutter và kiến trúc microservices. Tác giả nhấn mạnh những lợi ích của việc sử dụng Flutter trong việc tạo ra ứng dụng đa nền tảng, giúp tiết kiệm thời gian và chi phí phát triển. Bên cạnh đó, microservices cho phép phân chia ứng dụng thành các dịch vụ nhỏ, dễ quản lý và mở rộng, từ đó nâng cao hiệu suất và khả năng bảo trì.

Để mở rộng thêm kiến thức về các ứng dụng di động khác, bạn có thể tham khảo bài viết "Đồ án hcmute xây dựng ứng dụng di động đa nền tảng bán sách sử dụng framework flutter", nơi bạn sẽ tìm thấy cách áp dụng Flutter trong lĩnh vực thương mại điện tử. Ngoài ra, bài viết "Đồ án hcmute xây dựng ứng dụng đặt vé online" sẽ giúp bạn hiểu rõ hơn về việc phát triển ứng dụng đặt vé, một phần quan trọng trong ngành du lịch. Cuối cùng, bạn có thể khám phá bài viết "Luận văn thạc sĩ nghiên cứu hành vi mua tour du lịch trực tuyến của nhân viên văn phòng tại hà nội" để nắm bắt xu hướng và hành vi của người tiêu dùng trong lĩnh vực du lịch trực tuyến. Những tài liệu này sẽ giúp bạn có cái nhìn toàn diện hơn về ứng dụng công nghệ trong ngành du lịch.