Báo cáo đồ án 1: Xây dựng ứng dụng giúp việc và cho thuê bằng Flutter

Đồ án môn học xây dựng ứng dụng giúp việc bằng Flutter. Báo cáo tham khảo đầy đủ các mục: phân tích, thiết kế CSDL, use case và giao diện.

2025

121
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về Đồ án Flutter Xây dựng ứng dụng giúp việc

Đồ án này được thực hiện tại Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. HCM, nhằm xây dựng một ứng dụng giúp việc và cho thuê dịch vụ toàn diện sử dụng công nghệ Flutter. Dự án được hướng dẫn bởi Th.S Trần Anh Dũng và thực hiện bởi sinh viên Trần Hồng Quyền và Nguyễn Duy Hưng. Mục tiêu chính là tạo ra một nền tảng kết nối giữa những người cần giúp việc và những người cung cấp dịch vụ, giải quyết nhu cầu thực tế của thị trường dịch vụ giúp việc hiện đại. Ứng dụng này không chỉ cung cấp dịch vụ tìm kiếm và đặt công việc mà còn tích hợp nhiều tính năng nâng cao để nâng cao trải nghiệm người dùng. Công nghệ Flutter được chọn để đảm bảo tính tương thích cao trên nhiều nền tảng và hiệu suất ứng dụng tối ưu.

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

Lý do chọn đề tài này xuất phát từ nhu cầu thực tiễn của xã hội hiện đại, nơi mà dịch vụ giúp việc ngày càng trở nên phổ biến. Ứng dụng được phát triển để giải quyết bài toán kết nối giữa người tuyển dụng và người cung cấp dịch vụ một cách hiệu quả, an toàn và tiện lợi. Đây là một giải pháp công nghệ thiết thực, đáp ứng nhu cầu thị trường lao động dịch vụ.

1.2. Công nghệ Flutter và lợi ích

Flutter là framework phát triển ứng dụng di động của Google, cho phép xây dựng ứng dụng đa nền tảng từ một mã nguồn duy nhất. Lợi ích chính bao gồm: hiệu suất cao, giao diện đẹp, hỗ trợ iOS và Android, và thời gian phát triển ngắn. Việc chọn Flutter giúp dự án tiết kiệm chi phí phát triển và đảm bảo trải nghiệm người dùng nhất quán trên tất cả các thiết bị.

II. Kiến trúc và thiết kế hệ thống ứng dụng

Hệ thống được xây dựng theo mô hình Client-Server, là kiến trúc phổ biến và đáng tin cậy cho các ứng dụng web và di động. Phía Client là ứng dụng Flutter chạy trên thiết bị người dùng, trong khi phía Server xử lý logic nghiệp vụ, quản lý cơ sở dữ liệu và đảm bảo bảo mật. Kiến trúc này cho phép tách biệt rõ ràng giữa giao diện người dùng và xử lý dữ liệu, dễ dàng bảo trì và mở rộng trong tương lai. Thiết kế sơ đồ lớp được áp dụng để tổ chức mã nguồn theo các lớp chức năng khác nhau, bao gồm lớp giao diện, lớp logic ứng dụng, và lớp dữ liệu. Cách tiếp cận này đảm bảo tính module hoá cao, dễ kiểm thử và quản lý.

2.1. Mô hình Client Server trong ứng dụng

Client-Server là mô hình giao tiếp cơ bản nơi client gửi yêu cầu đến server và server trả lời. Trong ứng dụng giúp việc, client xử lý giao diện người dùng, nhập liệu, và hiển thị kết quả, còn server quản lý dữ liệu người dùng, xác thực, tìm kiếm công việc, và xử lý thanh toán. Mô hình này đảm bảo bảo mật dữ liệu tốt hơn và cho phép mở rộng dễ dàng.

2.2. Các thành phần chính của hệ thống

Hệ thống bao gồm các thành phần chính: giao diện người dùng (UI) được thiết kế trên Flutter, backend API xử lý yêu cầu, cơ sở dữ liệu lưu trữ thông tin người dùng và công việc, hệ thống xác thực bảo vệ tài khoản, và hệ thống thanh toán an toàn. Mỗi thành phần đều được thiết kế độc lập nhưng hoạt động liên kết với nhau.

III. Tính năng chính và Use Cases của ứng dụng

Ứng dụng giúp việc cung cấp nhiều tính năng toàn diện để phục vụ cả người tìm giúp việc và người cung cấp dịch vụ. Danh sách Use Cases bao gồm: đăng nhập/đăng ký, quên mật khẩu, đăng công việc, ứng tuyển công việc, hủy ứng tuyển, trao đổi tin nhắn, xem hồ sơ người giúp việc, cập nhật thông tin cá nhân, thêm địa chỉ, đánh giá sau công việc, xem và chỉnh sửa công việc, chọn người giúp việc, lưu tasker yêu thích, chặn tasker, và sửa cài đặt. Mỗi Use Case được mô tả chi tiết với các bước thực hiện, điều kiện tiên quyết, và kết quả mong đợi. Cách tiếp cận này đảm bảo tính toàn vẹn chức năngtrải nghiệm người dùng suôn sẻ, từ lúc đăng nhập đến hoàn tất công việc.

3.1. Tính năng xác thực và quản lý tài khoản

Xác thực người dùng là tính năng nền tảng, bao gồm đăng nhập, đăng ký tài khoản mới, quên mật khẩu, và đổi mật khẩu. Hệ thống sử dụng mã hóa an toàn để bảo vệ mật khẩu, kết hợp với xác thực hai yếu tố (2FA) để tăng bảo mật. Người dùng cũng có thể cập nhật thông tin cá nhân như tên, số điện thoại, ảnh đại diện, và thông tin địa chỉ.

3.2. Tính năng đăng công việc và ứng tuyển

Đăng công việc cho phép những người cần giúp việc chi tiết mô tả công việc, mức lương mong muốn, địa điểm, và thời gian. Ứng tuyển công việc cho phép người cung cấp dịch vụ gửi đơn ứng tuyển, có thể hủy ứng tuyển nếu thay đổi quyết định. Sau khi công việc hoàn tất, cả hai bên có thể đánh giá lẫn nhau, tạo nên hệ thống uy tín cho nền tảng.

IV. Cài đặt kiểm thử và kết quả đạt được

Môi trường cài đặt bao gồm Flutter SDK, Dart, Android Studio hoặc Xcode, và các công cụ hỗ trợ. Ứng dụng được kiểm thử trên nhiều thiết bị thực và giả lập để đảm bảo tính ổn định. Quy trình kiểm thử bao gồm kiểm thử chức năng (từng tính năng riêng lẻ), kiểm thử tích hợp (tương tác giữa các thành phần), kiểm thử giao diện người dùng (UX/UI), và kiểm thử hiệu suất (tốc độ, tiêu thụ pin). Các kết quả kiểm thử cho thấy ứng dụng hoạt động ổn định, giao diện responsive, và thời gian tải nhanh. Dự án đã thành công trong việc xây dựng một nền tảng hoàn chỉnh kết nối giữa người dùng, với các tính năng đầy đủ, bảo mật, và dễ sử dụng.

4.1. Quy trình kiểm thử và môi trường

Kiểm thử chức năng đảm bảo mỗi tính năng hoạt động đúng như thiết kế. Kiểm thử giao diện xác minh rằng ứng dụng hoạt động tốt trên các kích thước màn hình khác nhau. Kiểm thử hiệu suất đo lường tốc độ tải, thời gian phản hồi, và tiêu thụ tài nguyên. Tất cả các lỗi phát hiện được ghi lại, sửa chữa, và kiểm tra lại cho đến khi ứng dụng đạt tiêu chuẩn chất lượng.

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

Kết quả chính là một ứng dụng hoàn chỉnh, ổn định, và sẵn sàng triển khai. Ứng dụng đáp ứng tất cả yêu cầu ban đầu, cung cấp trải nghiệm người dùng mượt mà trên iOS và Android. Hướng phát triển bao gồm thêm AI recommendation, chatbot hỗ trợ, thanh toán trực tuyến nâng cao, tích hợp IoT, và mở rộng sang các dịch vụ khác.

28/12/2025

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

Chương 1. Lý do chọn đề tài 1. Mục đích nghiên cứu 1. Khách quan 1.

Đối tượng nghiên cứu 1. Các công nghệ nghiên cứu 1. Đối tượng sử dụng đề tài hướng đến 1. Phạm vi nghiên cứu 1.

Phạm vi môi trường 1. Phạm vi chức năng Chương 2.io Chương 3. XÂY DỰNG HỆ THỐNG 3. Kiến trúc hệ thống: Mô hình Client-Server 3.

Thành phần trong hệ thống 3. Thiết kế sơ đồ lớp Chương 4. ĐẶC TẢ USECASE 4. Danh sách tác nhân 4.

Danh sách Usecase 4. Mô tả chi tiết Usecase 4. Quên mật khẩu 4. Đổi mật khẩu 4.

Đăng công việc 4. Ứng tuyển công việc 4. Hủy ứng tuyển công việc 4. Trao đổi qua tin nhắn 4.

Xem hồ sơ người giúp việc 4. Cập nhật thông tin cá nhân 4. Thêm địa chỉ 4. Đánh giá sau công việc 4.

Xem công việc 4. Chỉnh sửa công việc 4. Hủy công việc 4. Chọn người giúp việc 4.

Lưu tasker yêu thích 4. Xóa tasker yêu thích 4. Bỏ chặn tasker 4. Sửa thông tin cài đặt Chương 5.

THIẾT KẾ CƠ SỞ DỮ LIỆU 5. Danh sách các quan hệ Chương 6. THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG 6. Mô tả danh sách màn hình 6.

Mô tả giao diện 6. Screen 1- Đăng nhập 6. Screen 3- Quên mật khẩu 6. Screen 4- Trang chủ 6.

Screen 5- Khám phá 6. Screen 6- Công việc đang tìm 6. Screen 7- Công việc đã nhận 6. Screen 8- Công việc đã hoàn thành 6.

Screen 9- Công việc đã hủy 6. Screen 10- Thông tin công việc 6. Screen 11-Đặt dịch vụ 6. Screen 12- Chọn người giúp việc 6.

Screen 13- Đánh giá 6. Screen 14- Thông tin người giúp việc 6. Screen 15- Tin nhắn 6. Screen 16- Chi tiết tin nhắn 6.

Screen 17- Danh sách công việc tin nhắn 6. Screen 18- Tài khoản 6. Screen 19- Địa chỉ 6. Screen 20- Thêm địa chỉ 6.

Screen 21- Định vị 6. Screen 22- Cập nhật hồ sơ 6. Screen 23- Ưu đãi của tôi 6. Screen 24- Danh sách chặn 6.

Screen 25- Danh sách yêu thích 6. Screen 26- Trợ giúp 6. Screen 27- Cài đặt Chương 7. CÀI ĐẶT VÀ KIỂM THỬ 7.

Môi trường cài đặt và kiểm thử 7. Môi trường cài đặt 7. Quy trình kiểm thử 7. Kết quả kiểm thử Chương 8.

Kết quả đạt được: 8. Hướng phát triển: TÀI LIỆU THAM KHẢO DANH MỤC HÌNH Hình 2.1: Mô hình Client-Server 17 Hình 4.2: Usecase Đăng nhập 25 Hình 4.3: Usecase Đăng ký 26 Hình 4.4: Usecase Quên mật khẩu 28 Hình 4.5: Usecase Đổi mật khẩu 30 Hình 4.6: Usecase Đăng công việc 31 Hình 4.7: Usecase Ứng tuyển công việc 33 Hình 4.8: Usecase Hủy ứng tuyển công việc 34 Hình 4.9: Usecase Trao đổi tin nhắn 36 Hình 4.10: Usecase Xem hồ sơ người giúp việc 37 Hình 4.11: Usecase Cập nhật thông tin cá nhân 38 Hình 4.12: Usecase Thêm địa chỉ 39 Hình 4.13: Usecase Xóa địa chỉ 41 Hình 4.14: Usecase Đánh giá sau công việc 42 Hình 4.15: Usecase Xem công việc 43 Hình 4.16: Usecase Chỉnh sửa công việc 44 Hình 4.17: Usecase Hủy công việc 46 Hình 4.18: Usecase Chọn người giúp việc 47 Hình 4.19: Usecase Lưu voucher 48 Hình 4.20: Usecase Xóa voucher 49 Hình 4.21: Usecase Lưu tasker yêu thích 50 Hình 4.22: Usecase Xóa tasker yêu thích 51 Hình 4.23: Usecase Chặn tasker 52 Hình 4.24: Usecase Bỏ chặn tasker 53 Hình 4.25: Usecase Sửa thông tin cài đặt 55 Hình 5.1: Screen 1- Đăng nhập 62 Hình 6.2: Screen 2- Đăng kí 64 Hình 6.3: Screen 3- Quên mật khẩu 65 Hình 6.4: Screen 4- Trang chủ 67 Hình 6.5: Screen 5- Khám phá 69 Hình 6.6: Screen 6- Công việc đang tìm 70 Hình 6.7: Screen 7- Công việc đã nhận 72 Hình 6.8:Screen 8- Công việc đã hoàn thành 74 Hình 6.9: Screen 9- Công việc đã hủy 76 Hình 6.10: Screen 10- Thông tin công việc 78 Hình 6.11: Screen 11-Đặt dịch vụ 80 Hình 6.12: Screen 12- Chọn người giúp việc 82 Hình 6.13: Screen 13- Đánh giá 83 Hình 6.14: Screen 14- Thông tin người giúp việc 85 Hình 6.15: Screen 15- Tin nhắn 87 Hình 6.16: Screen 16- Chi tiết tin nhắn 88 Hình 6.17: Screen 17- Danh sách công việc tin nhắn 90 Hình 6.18: Screen 18- Tài khoản 91 Hình 6.19: Screen 19- Địa chỉ 93 Hình 6.20: Screen 20- Thêm địa chỉ 94 Hình 6.21: Screen 21- Định vị 96 Hình 6.22: Screen 22- Cập nhật hồ sơ 97 Hình 6.23: Screen 23- Ưu đãi của tôi 98 Hình 6.24: Screen 24- Danh sách chặn 99 Hình 6.25: Screen 25- Danh sách yêu thích 100 Hình 6.26: Screen 26- Trợ giúp 102 Hình 6.27: Screen 27- Cài đặt 103 DANH MỤC BẢNG Bảng 1.1: Đề cương chi tiết 8 Bảng 3.1: Thành phần trong hệ thống 18 Bảng 4.1: Danh sách tác nhân 21 Bảng 4.2: Danh sách usecase 23 Bảng 4.3: Usecase Đăng nhập 25 Bảng 4.4: Usecase Đăng ký 26 Bảng 4.5: Usecase Quên mật khẩu 28 Bảng 4.6: Usecase Đổi mật khẩu 30 Bảng 4.7: Usecase Đăng công việc 31 Bảng 4.8: Usecase Ứng tuyển công việc 32 Bảng 4.9: Usecase Hủy ứng tuyển công việc 34 Bảng 4.10: Usecase Trao đổi tin nhắn 35 Bảng 4.11: Usecase Xem hồ sơ người giúp việc 36 Bảng 4.12: Usecase Cập nhật thông tin cá nhân 37 Bảng 4.13: Usecase Thêm địa chỉ 38 Bảng 4.14: Usecase Xóa địa chỉ 40 Bảng 4.15: Usecase Đánh giá sau công việc 41 Bảng 4.16: Usecase Xem công việc 42 Bảng 4.17: Usecase Chỉnh sửa công việc 43 Bảng 4.18: Usecase Hủy công việc 44 Bảng 4.19: Usecase Chọn người giúp việc 45 Bảng 4.20: Usecase Lưu voucher 46 Bảng 4.21: Usecase Xóa voucher 47 Bảng 4.22: Usecase Lưu tasker yêu thích 48 Bảng 4.23: Usecase Xóa tasker yêu thích 49 Bảng 4.24: Usecase Chặn tasker 50 Bảng 4.25: Usecase Bỏ chặn tasker 51 Bảng 4.26: Usecase Sửa thông tin cài đặt 53 Bảng 5.1: Danh sách các quan hệ 55 Bảng 6.1: Danh sách các màn hình 57 Bảng 6.2: Các thành phần của màn hình Đăng nhập 59 Bảng 6.3: Các thành phần của màn hình Đăng kí 61 Bảng 6.4: Các thành phần của màn hình Quên mật khẩu 62 Bảng 6.5: Các thành phần của màn hình Trang chủ 64 Bảng 6.6: Các thành phần của màn hình Khám phá 66 Bảng 6.7: Các thành phần của màn hình Công việc đang tìm 67 Bảng 6.8: Các thành phần của màn hình Công việc đã nhận 69 Bảng 6.9: Các thành phần của màn hình Công việc đã hoàn thành 70 Bảng 6.10: Các thành phần của màn hình Công việc đã hủy 72 Bảng 6.11: Các thành phần của màn hình Thông tin công việc 74 Bảng 6.12: Các thành phần của màn hình Đặt dịch vụ 76 Bảng 6.13: Các thành phần của màn hình Chọn người giúp việc 78 Bảng 6.14: Các thành phần của màn hình Đánh giá 79 Bảng 6.15: Các thành phần của màn hình Thông tin người giúp việc 81 Bảng 6.16: Các thành phần của màn hình Tin nhắn 82 Bảng 6.17: Các thành phần của màn hình Chi tiết tin nhắn 84 Bảng 6.18: Các thành phần của màn hình Danh sách công việc tin nhắn 85 Bảng 6.19: Các thành phần của màn hình Tài khoản 87 Bảng 6.20: Các thành phần của màn hình Địa chỉ 89 Bảng 6.21: Các thành phần của màn hình Thêm địa chỉ 90 Bảng 6.22: Các thành phần của màn hình Định vị 91 Bảng 6.23: Các thành phần của màn hình Cập nhật hồ sơ 93 Bảng 6.24: Các thành phần của màn hình Ưu đãi của tôi 94 Bảng 6.25: Các thành phần của màn hình Danh sách chặn 95 Bảng 6.26: Các thành phần của màn hình Danh sách yêu thích 96 Bảng 6.27: Các thành phần của màn hình Trợ giúp 97 Bảng 6.28: Các thành phần của màn hình Cài đặt 98 DANH MỤC TỪ VIẾT TẮT STT Từ viết tắt Từ đầy đủ Ý nghĩa Application Giao diện lập trình ứng 1 API Programming Interface dụng Bộ công cụ phát triển 2 SDK Software Development Kit phần mềm Phong cách kiến trúc web 3 RESTful Representational State sử dụng các phương pháp Transfer HTTP Định dạng trao đổi dữ 4 JSON JavaScript Object Notation liệu giữa máy tính dưới dạng văn bản TÓM TẮT ĐỒ ÁN Trong bối cảnh nhu cầu tìm kiếm và cung cấp các dịch vụ giúp việc ngày càng tăng, việc kết nối hiệu quả giữa người có nhu cầu thuê và người muốn nhận việc là một thách thức lớn. Ứng dụng này được thiết kế để trở thành giải pháp toàn diện, mang lại sự tiện lợi, nhanh chóng và an toàn trong quá trình thuê và nhận công việc. Với hai vai trò chính, người thuê có thể dễ dàng đăng tải thông tin công việc với các chi tiết như mô tả, thời gian, mức chi phí và yêu cầu cụ thể, trong khi người nhận có thể duyệt qua danh sách công việc phù hợp, nhận và hoàn thành công việc theo yêu cầu.

Ứng dụng cho phép nhắn tin trực tiếp giữa các bên để trao đổi chi tiết và đánh giá người giúp việc giúp đảm bảo sự linh hoạt và rõ ràng. Đề tài này không chỉ giúp nhóm phát triển kỹ năng chuyên môn và học thuật mà còn rèn luyện khả năng giải quyết vấn đề, làm quen với công nghệ hiện đại. Đây là cơ hội áp dụng kiến thức vào thực tế, nâng cao trình độ chuyên môn và kỹ năng nghề nghiệp. Đề tài có tiềm năng mở rộng tới nhiều nhóm người dùng khác nhau, không chỉ đáp ứng nhu cầu trước mắt mà còn tạo tiền đề cho các dự án công nghệ sáng tạo trong tương lai.

Với những lý do trên, nhóm tin rằng ứng dụng này sẽ mang lại giá trị thiết thực, góp phần nâng cao chất lượng cuộc sống và thúc đẩy sự hỗ trợ trong cộng đồng. Với những lý do trên, nhóm tin rằng đề tài "Ứng dụng giúp việc và cho thuê" không chỉ mang lại nhiều lợi ích thiết thực mà còn góp phần vào sự phát triển của cộng đồng, mở ra những cơ hội mới trong tương lai. ĐỀ CƯƠNG CHI TIẾT TÊN ĐỀ TÀI: Xây dựng ứng dụng giúp việc và cho thuê với Flutter (Build an application for housekeeping and housekeeping rental services with Flutter.) Cán bộ hướng dẫn: - ThS. Trần Anh Dũng Thời gian thực hiện: Từ ngày 30/09/2024 đến ngày kết thúc Đồ án 1 Sinh viên thực hiện: Trần Hồng Quyền - 22521225 Nguyễn Duy Hưng- 22520514 Nội dung đề tài 1.

Lý do chọn đề tài: Ứng dụng giúp việc và cho thuê giúp việc giúp các hộ gia đình tiết kiệm chi phí và thời gian tìm kiếm, đồng thời giảm căng thẳng trong việc quản lý công việc nhà. Quá trình đặt dịch vụ trở nên dễ dàng và nhanh chóng hơn nhờ các tính năng thông minh, giúp người dùng tìm kiếm người giúp việc phù hợp theo yêu cầu một cách thuận tiện. Đề tài này cũng giúp chúng em nâng cao kiến thức và kỹ năng chuyên môn. Quá trình phát triển ứng dụng là cơ hội để chúng em áp dụng những kiến thức học được vào thực tế, phát triển kỹ năng làm việc nhóm cũng như khả năng giải quyết vấn đề.

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