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ăng và trả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.