Đồ án tốt nghiệp: Xây dựng ứng dụng du lịch với Flutter và Microservices

Tìm hiểu đồ án xây dựng ứng dụng du lịch đa nền tảng bằng Flutter và kiến trúc Microservices. Khám phá công nghệ phát triển app di động hiệu quả.

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
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Giới thiệu về Flutter trong phát triển ứng dụng du lịch

Flutter là framework phát triển ứng dụng di động được phát triển bởi Google, cho phép xây dựng ứng dụng đa nền tảng từ một codebase duy nhất. Trong ngành du lịch, Flutter mang lại lợi thế vượt trội về hiệu suất và trải nghiệm người dùng. Ứng dụng du lịch Travel-Express được xây dựng dựa trên Flutter có khả năng chạy mượt mà trên cả Android và iOS, giúp tối ưu hóa chi phí phát triển. Framework Flutter sử dụng ngôn ngữ Dart và cung cấp các widget phong phú, cho phép các developer tạo giao diện người dùng đẹp mắt và responsive. Đối với ứng dụng du lịch, Flutter hỗ trợ tích hợp các tính năng như bản đồ, định vị GPS, và xử lý thanh toán một cách dễ dàng.

1.1. Ưu điểm của Flutter cho ứng dụng di động

Flutter cung cấp hiệu suất cao với hot reload, cho phép developer kiểm thử thay đổi ngay lập tức mà không cần khởi động lại ứng dụng. Giao diện được viết bằng Dart có tính nhất quán giữa các nền tảng, giảm thiểu lỗi và thời gian phát triển. Widget Flutter được thiết kế sẵn giúp xây dựng UI phức tạp một cách nhanh chóng. Đối với ứng dụng du lịch, tốc độ tải trang và sự mượt mà khi cuộn danh sách điểm đến là yếu tố quan trọng mà Flutter đáp ứng tốt.

1.2. Kiến trúc và công cụ hỗ trợ

Flutter được xây dựng trên engine Skia, đảm bảo hiệu suất rendering cao. Công cụ phát triển như Flutter SDK cung cấp các lệnh CLI mạnh mẽ để quản lý dự án, dependency, và build. Pub.dev là kho thư viện chính thức của Flutter, nơi có hàng ngàn package hỗ trợ phát triển. Với Material DesignCupertino widgets, Flutter cho phép tạo ứng dụng tuân thủ guideline của Android và iOS.

II. Kiến trúc Microservices trong ứng dụng du lịch

Microservices là kiến trúc phần mềm hiện đại, phân chia ứng dụng thành các dịch vụ nhỏ, độc lập và có thể triển khai riêng biệt. Trong ứng dụng du lịch Travel-Express, microservices được áp dụng để quản lý các chức năng khác nhau như đặt phòng, tìm kiếm điểm đến, quản lý thanh toán, và xử lý nhận xét người dùng. Kiến trúc microservices cho phép mở rộng quy mô từng dịch vụ theo nhu cầu, tối ưu hóa sử dụng tài nguyên. Mỗi microservice có cơ sở dữ liệu riêng, đảm bảo tính độc lập và dễ bảo trì. Giao tiếp giữa các dịch vụ thông qua API RESTful hoặc message queue như RabbitMQ, đảm bảo tính linh hoạt và độ tin cậy cao.

2.1. Các thành phần microservices trong ứng dụng du lịch

Service đặt phòng xử lý logic liên quan đến đặt chỗ ở, kiểm tra tính khả dụng và xác nhận đơn hàng. Service tìm kiếm cung cấp khả năng tìm kiếm nâng cao cho điểm đến, khách sạn, và dịch vụ du lịch. Service thanh toán quản lý các giao dịch tài chính, hỗ trợ nhiều phương thức thanh toán. Service thông báo gửi email và SMS xác nhận cho người dùng. Service đánh giá quản lý nhận xét, đánh giá của khách hàng trên các địa điểm du lịch.

2.2. Lợi ích của microservices cho ứng dụng du lịch

Kiến trúc microservices cho phép mỗi dịch vụ được phát triển, kiểm thử và triển khai độc lập, tăng tốc độ phát hành tính năng. Mở rộng theo chiều ngang giúp xử lý lưu lượng cao vào mùa du lịch cao điểm. Khả năng phục hồi được cải thiện vì lỗi trong một dịch vụ không ảnh hưởng toàn bộ hệ thống. Công nghệ đa dạng cho phép mỗi dịch vụ sử dụng ngôn ngữ và framework phù hợp nhất.

III. Thiết kế và phát triển ứng dụng Travel Express

Ứng dụng Travel-Express được thiết kế với giao diện người dùng thân thiện, kết hợp các tính năng cần thiết cho một nền tảng du lịch hiện đại. Frontend được xây dựng bằng Flutter, tương tác với backend thông qua REST API. Quy trình phát triển tuân theo phương pháp Agile, cho phép đội ngũ kiểm thử liên tục và cải thiện sản phẩm. Database sử dụng MongoDB để lưu trữ dữ liệu người dùng, điểm đến, và đặt phòng. Authentication được bảo vệ bằng JWT tokens, đảm bảo an toàn thông tin người dùng. Giao diện được thiết kế responsive, hỗ trợ tốt trên các kích thước màn hình khác nhau từ điện thoại đến máy tính bảng.

3.1. Quy trình triển khai và kiểm thử

Unit testing được thực hiện để kiểm tra từng hàm, đảm bảo logic đúng. Integration testing xác minh giao tiếp giữa các microservices hoạt động đúng. User acceptance testing có sự tham gia của người dùng thực tế để đánh giá tính hữu ích. Load testing kiểm tra khả năng ứng dụng xử lý lưu lượng cao. Security testing đảm bảo ứng dụng bảo vệ dữ liệu người dùng khỏi các cuộc tấn công.

3.2. Tính năng chính của Travel Express

Tìm kiếm điểm đến cho phép người dùng tìm kiếm khách sạn, resort và hoạt động du lịch. Đặt phòng trực tuyến với hỗ trợ nhiều phương thức thanh toán an toàn. Bản đồ tương tác hiển thị vị trí địa lý của điểm đến và dịch vụ. Hệ thống đánh giá cho người dùng cung cấp phản hồi về trải nghiệm du lịch. Thông báo thời gian thực cập nhật người dùng về đơn hàng và khuyến mại.

IV. Kết quả và hướng phát triển tương lai

Ứng dụng Travel-Express đã được xây dựng thành công, hỗ trợ cả nền tảng Android và iOS, đáp ứng các yêu cầu ban đầu của dự án. Kết quả kiểm thử cho thấy ứng dụng hoạt động ổn định, hiệu suất tốt với thời gian tải trung bình dưới 3 giây. Phản hồi từ người dùng uỷ thác tích cực về giao diện trực quan và tính năng đầy đủ. Kiến trúc microservices cho phép mở rộng dễ dàng khi nhu cầu tăng. Hướng phát triển tương lai bao gồm tích hợp AI để đưa ra gợi ý cá nhân hóa, hỗ trợ multiple languages, và tối ưu hóa cho trải nghiệm offline.

4.1. Thành tựu và đánh giá hiệu quả

Ứng dụng Travel-Express đã thành công trong việc kết hợp Fluttermicroservices, tạo ra nền tảng du lịch toàn diện. Thời gian phát triển được rút ngắn nhờ sử dụng Flutter, cho phép code chia sẻ giữa Android và iOS. Chất lượng mã được đảm bảo thông qua testing nghiêm ngặt. Hiệu năng ứng dụng vượt quá kỳ vọng ban đầu với thời gian phản hồi nhanh chóng.

4.2. Đề xuất cải thiện và mở rộng

Machine Learning có thể được tích hợp để dự đoán thói quen du lịch của người dùng. Caching strategy nên được tối ưu hóa để giảm tải lên server. Hỗ trợ đa ngôn ngữ cần được bổ sung để phục vụ khách hàng quốc tế. Chế độ offline cho phép người dùng xem thông tin đã lưu khi không có kết nối internet. Tích hợp blockchain có thể được xem xét cho các giao dịch thanh toán an toàn hơn.

Tóm tắt và mô tả trên trang này được tạo với sự hỗ trợ của AI. Nếu bạn thấy nội dung không chính xác hoặc có vấn đề, vui lòng Báo lỗi nội dung.

21/12/2025
Đồ án tốt nghiệp xây dựng ứng dụng du lịch sử dụng flutter và microservices

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. 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 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ý 68 5. 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ý 71 5.

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ý 74 5. 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ý 77 5.

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ý 80 5. 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ý 82 5.

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ý 85 5. 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 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 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 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 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 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 72 Bảng 5-12. 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 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 PHẦN MỞ ĐẦU PHẦN MỞ ĐẦU 1 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 đề đó. Ứng dụng giúp cho những người muốn đi du lịch có thể lên lịch trình cho mình, quản lý vị trí của các thành viên trong nhóm để tránh thất lạc, xem những lịch trình của những người khác đã lên trước đó cũng như những lịch trình được đề xuất của những đối tác và một phần góp phần phát triển ngành du lịch của đất nước. Mục tiêu của đề tài Tìm hiểu chung về Flutter và Microservices. Tìm hiểu về những thư viện cần thiết sử dụng trong đề tài.

Ứng dụng Flutter và Microservices vào việc xây dựng ứng dụng du lịch. Ứng dụng du lịch có các tính năng sau đây: - Đăng nhập ứng dụng với số điện thoại, Google hoặc Facebook. - Đặt lịch trình đến từng địa điểm cụ thể. - Đặt lịch trình với chế độ riêng tư hoặc công khai.

- Chỉnh sửa lịch trình đã lên. - Chia sẻ lịch trình của bản thân.

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