Báo cáo Đồ án 2: Xây dựng ứng dụng giúp việc bằng Flutter & Firebase

Báo cáo đồ án xây dựng ứng dụng giúp việc và cho thuê bằng Flutter & Firebase. Tài liệu tham khảo về phân tích, thiết kế và phát triển ứng dụng.

2025

117
0
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về Đồ án Flutter Xây dựng App giúp việc và cho thuê

Đồ án Flutter để xây dựng ứng dụng giúp việc và cho thuê là một dự án học tập ý nghĩa tại Trường Đại học Công nghệ Thông tin, Đại học Quốc gia TP. HCM. Dự án này nhằm giải quyết nhu cầu thực tiễn cao trong cuộc sống hiện đại, khi người dân ngày càng cần các dịch vụ thuê giúp việc nhưng vẫn thiếu một nền tảng tiện lợi để kết nối. Ứng dụng Impeccable Home được xây dựng với công nghệ Flutter cho front-end và Firebase cho backend, mang đến một giải pháp di động toàn diện cho cả người cần thuê giúp việc và những người cung cấp dịch vụ. Dự án được thực hiện bởi hai sinh viên ngành Kỹ thuật Phần mềm dưới sự hướng dẫn của ThS. Trần Anh Dũng, từ tháng 9 đến tháng 12 năm 2024.

1.1. Bối cảnh và mục đích của đề tài

Sự phát triển của công nghệ thông tin đã tạo ra nhiều ứng dụng di động thành công như giao đồ ăn nhanh, đặt xe ôm. Tương tự, ứng dụng giúp việc cũng sẽ mang lại giá trị lớn cho người dùng. Mục đích chính là xây dựng một nền tảng di động có tính thực tiễn cao, giúp người cần thuê giúp việc nhà có thể đặt lịch nhanh chóng và tiện lợi, đồng thời giúp những người giúp việc dễ dàng kiếm thêm thu nhập.

1.2. Ý nghĩa của dự án

Đối với người dùng: Ứng dụng giúp việc tiết kiệm thời gian, công sức và tạo sự kết nối hiệu quả giữa khách hàng và người giúp việc. Đối với nhóm phát triển: Dự án này là cơ hội tìm hiểu sâu về FlutterFirebase, nắm vững các ưu điểm của công nghệ này trong phát triển ứng dụng mobile chuyên nghiệp, tích lũy kinh nghiệm thực tiễn cho công việc tương lai.

II. Các tính năng chính của Ứng dụng Impeccable Home

Ứng dụng giúp việc và cho thuê được thiết kế với hai loại người dùng chính: khách hàng cần thuê giúp việc và người giúp việc. Mỗi nhóm người dùng sẽ có các tính năng riêng biệt được tối ưu hóa để đáp ứng nhu cầu cụ thể. Hệ thống được xây dựng với công nghệ FlutterFirebase đảm bảo hiệu suất cao, bảo mật dữ liệu tốt và trải nghiệm người dùng mượt mà. Các tính năng chính bao gồm: đặt lịch giúp việc, quản lý hồ sơ, hệ thống đánh giá, tin nhắn trực tiếp, và thanh toán trực tuyến. Ứng dụng được thiết kế với giao diện đẹp, dễ sử dụng và tạo liên kết logic giữa các màn hình.

2.1. Tính năng dành cho người thuê giúp việc

Người dùng có thể chọn gói dịch vụ, xác định công việc cần giúp, chọn thời gian, địa điểm, và phương thức thanh toán phù hợp. Tính năng xem hồ sơ người giúp việc, đánh giá dịch vụ và trò chuyện trực tiếp giúp người thuê có thông tin đầy đủ trước khi quyết định. Hệ thống thông báo thời gian thực đảm bảo khách hàng luôn cập nhật tiến độ công việc.

2.2. Tính năng dành cho người được thuê giúp việc

Người giúp việc có thể đăng ký làm đối tác, tạo hồ sơ cá nhân, chọn loại công việc sẵn sàng làm và xác định khu vực hoạt động. Ứng dụng cung cấp thông báo công việc theo thời gian thực, cho phép họ nhanh chóng xác nhận và nhận việc. Hệ thống cũng bảo vệ quyền lợi của người giúp việc thông qua tính năng báo cáo khách hàng vi phạm.

III. Công nghệ và Kiến trúc của Dự án

Đồ án Flutter sử dụng công nghệ hiện đại để xây dựng một ứng dụng di động mạnh mẽ và đáng tin cậy. Front-end được phát triển hoàn toàn bằng Flutter, một framework đa nền tảng cho phép xây dựng ứng dụng iOS và Android từ một codebase duy nhất. Backend sử dụng Firebase, nền tảng điện toán đám mây của Google cung cấp cơ sở dữ liệu thời gian thực, xác thực người dùng, lưu trữ tệp và các dịch vụ cloud khác. Kiến trúc này đảm bảo tính scalability, bảo mật cao và khả năng triển khai nhanh chóng.

3.1. Công nghệ Frontend với Flutter

Flutter là framework mã nguồn mở được phát triển bởi Google, cho phép tạo giao diện đẹp và mượt mà trên cả iOS và Android. Với Dart làm ngôn ngữ lập trình, Flutter cung cấp bộ widget phong phú, hỗ trợ hot reload giúp tăng tốc độ phát triển. Ứng dụng giúp việc được xây dựng với Flutter đảm bảo trải nghiệm người dùng nhất quán, hiệu suất cao và khả năng bảo trì tốt.

3.2. Backend và Cơ sở dữ liệu Firebase

Firebase cung cấp nền tảng backend hoàn chỉnh bao gồm Firestore (cơ sở dữ liệu NoSQL), Firebase Authentication, Firebase Storage, và Cloud Functions. Công nghệ này cho phép ứng dụng di động đồng bộ dữ liệu thời gian thực, xử lý xác thực người dùng an toàn, lưu trữ hình ảnh, video và quản lý logic phức tạp mà không cần máy chủ riêng biệt.

IV. Quy trình Phát triển và Triển vọng Tương lai

Dự án Impeccable Home được thực hiện theo phương pháp Agile với 6 sprint trong vòng 3 tháng. Quy trình bao gồm: tìm hiểu công nghệ (Sprint 1), phân tích yêu cầu và thiết kế (Sprint 2), tạo wireframe và prototype trên Figma (Sprint 3), phát triển front-end (Sprint 4), xây dựng backend (Sprint 5), và hoàn thiện đồ án (Sprint 6). Nhóm sử dụng phương pháp đọc tài liệu, phân tích ứng dụng hiện có và thực nghiệm để xây dựng giải pháp tối ưu. Dự án có hướng phát triển rõ ràng với các tính năng mở rộng bao gồm tracking hành trình trên bản đồ, nhận diện gương mặt khi đăng ký tài khoản, và các tính năng AI nâng cao.

4.1. Quy trình phát triển theo Agile

Nhóm sử dụng phương pháp Agile với 6 sprint để quản lý dự án hiệu quả. Từ tháng 9 đến tháng 12, mỗi sprint có mục tiêu cụ thể: từ tìm hiểu công nghệ Flutter và Firebase, thiết kế Use case và Class Diagram, tạo Wireframe trên Figma, phát triển front-end đầy đủ, xây dựng hệ thống backend, đến hoàn thiện báo cáo. Phương pháp này đảm bảo tiến độ rõ ràng, giao tiếp hiệu quả và khả năng điều chỉnh nhanh chóng khi cần thiết.

4.2. Hướng phát triển và mở rộng tính năng

Nếu tiến độ như kỳ vọng, ứng dụng giúp việc sẽ được mở rộng với các tính năng nâng cao: tracking hành trình người giúp việc trên bản đồ real-time, hệ thống nhận diện gương mặt khi đăng ký tài khoản để tăng cường bảo mật, thanh toán đa cách, và tích hợp AI để đề xuất dịch vụ phù hợp. Những tính năng này sẽ làm ứng dụng di động trở thành giải pháp toàn diện hơn cho thị trường.

28/12/2025

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

CHƯƠNG 1: GIỚI THIỆU CHUNG 1. Lý do chọn đề tài. - Trong thời đại công nghệ hiện đại, sự phát triển của các nền tảng trực tuyến đã thay đổi cách con người tiếp cận và sử dụng các dịch vụ hàng ngày. Các ứng dụng như đặt xe trực tuyến, các kênh mua sắm đang trở thành một xu hướng phổ biến, góp phần nâng cao chất lượng sống hàng ngày.

Cùng với xu hướng mọi thứ trở nên tiện nghi đó, một ứng dụng đặc biệt trong lĩnh vực dịch vụ gia đình như giúp việc nhà, vệ sinh, sửa chữa, chăm sóc cây cảnh,v. chắc chắn sẽ góp phần hoàn thiện hệ sinh thái các ứng dụng tiện lợi, tiết kiệm thời gian và đảm bảo chất lượng dịch vụ cho người dùng. - Ngoài ra, việc xây dựng một nền tảng đặt lịch giúp việc nhà mang tính minh bạch, tích hợp các đánh giá, phản hồi từ người dùng và hỗ trợ theo dõi lịch sử dịch vụ sẽ tạo điều kiện để nâng cao trải nghiệm cho cả người sử dụng dịch vụ lẫn người cung cấp dịch vụ. Phạm vi nghiên cứu - Ứng dụng Impeccable Home là một nền tảng kết nối giữa người dùng và người giúp việc, được phát triển dựa trên Flutter cho Mobile và Firebase cho Backend.

- Các bài toán trong phạm vi nghiên cứu: ● Hệ thống quản lý thời gian thực: Quản lý lịch làm việc, trạng thái online/offline của người giúp việc và thông báo đẩy thời gian thực. ● Thông báo Push Notification: Thông báo cập nhật trạng thái lịch đặt, tin nhắn, và thông báo nhắc nhở công việc. ● Phân trang (Pagination): Hiển thị danh sách người giúp việc, tin nhắn và lịch sử làm việc một cách tối ưu, mượt mà. 1 ● Chức năng Chat thời gian thực: Được xây dựng hoàn toàn dựa trên Firebase Firestore, cho phép người dùng và người giúp việc tương tác nhanh chóng và ổn định.

● Đánh giá và phản hồi: Hệ thống đánh giá chất lượng dịch vụ từ phía người dùng và người giúp việc sau mỗi lịch làm việc. Đối tượng nghiên cứu - Các công nghệ: ● Ngôn ngữ lập trình: Dart. ● Backend và cơ sở dữ liệu: Firebase Firestore, Firebase Authentication, Firebase Cloud Messaging, Firebase Storage. - Đối tượng hướng đến trong phạm vi đề tài: ● Người dùng có nhu cầu tìm kiếm và đặt lịch giúp việc nhà.

● Người giúp việc mong muốn kết nối và nhận các lịch làm việc từ người dùng. Phương pháp nghiên cứu - Nghiên cứu các ứng dụng tương tự trên thị trường: Tìm hiểu và phân tích ưu, nhược điểm của các ứng dụng phổ biến như JupViec, bTaskee, và các nền tảng đặt lịch dịch vụ khác để rút ra bài học và cải thiện trải nghiệm người dùng. - Tìm hiểu và thử nghiệm công nghệ: Khảo sát các công nghệ hỗ trợ thời gian thực và quản lý dịch vụ như Firebase, và áp dụng các tính năng phù hợp nhất với khả năng kỹ thuật của nhóm. - Tham khảo ý kiến của giảng viên hướng dẫn để đạt được kết quả tốt nhất cho đề tài.

CHƯƠNG 2: CÔNG NGHỆ SỬ DỤNG 2.1: Logo Flutter - Flutter là một framework mã nguồn mở do Google phát triển, cho phép xây dựng giao diện người dùng (UI) mượt mà và đẹp mắt. Được công bố lần đầu vào năm 2015 và phát hành chính thức vào tháng 5 năm 2017, Flutter đã nhanh chóng trở thành công cụ phổ biến để phát triển ứng dụng đa nền tảng. Với Flutter, các nhà phát triển chỉ cần viết một codebase duy nhất để tạo ra các ứng dụng có trải nghiệm native trên nhiều nền tảng, bao gồm: + Mobile: Android và iOS + Web + Desktop: Windows, macOS, và Linux + Embedded Devices - Điểm nổi bật của Flutter là khả năng phát triển giao diện nhanh chóng nhờ vào hệ thống hot reload, cho phép các nhà phát triển xem ngay thay đổi trong giao diện mà không cần phải khởi động lại ứng dụng. Ngoài ra, Flutter còn tối ưu hóa về hiệu suất khi giao diện được render trực tiếp trên canvas riêng thay vì sử dụng các thành phần native của hệ điều hành.

- Flutter gồm hai phần chính: + SDK (Software Development Kit): Cung cấp các công cụ hỗ trợ biên dịch code thành mã máy native, cũng như công cụ phát triển ứng dụng. 3 + Framework: Là một tập hợp các thư viện và widget dựng sẵn (như Button, ListView, TextField, v.), giúp dễ dàng xây dựng giao diện đẹp và linh hoạt. - Với những ưu điểm nổi bật, Flutter đã giúp nhóm đồ án tiết kiệm chi phí, rút ngắn thời gian phát triển, đồng thời mang đến trải nghiệm người dùng đồng nhất trên nhiều nền tảng. Giới thiệu - Firebase là nền tảng do Google phát triển, cung cấp nhiều công cụ và dịch vụ tiện ích cho phép các nhà phát triển xây dựng ứng dụng và trò chơi nhanh chóng, dễ dàng bằng cách đơn giản hóa các thao tác phức tạp.

Firebase hoạt động trên nền tảng đám mây với hệ thống máy chủ của Google, giúp đảm bảo tính ổn định và bảo mật cho các dịch vụ. - Firebase cung cấp nhiều dịch vụ miễn phí, nhưng cũng có các gói trả phí khi nhu cầu sử dụng vượt quá giới hạn miễn phí. Các tính năng chính của Firebase đã được áp dụng trong đồ án bao gồm: ● Firebase Authentication: Tính năng xác thực người dùng của Firebase giúp tích hợp dễ dàng các phương thức đăng nhập như Google, Facebook, Apple, và các nhà cung cấp xác thực khác, mang lại sự tiện lợi và an toàn cho người dùng. 4 ● Firebase Storage: Firebase Storage cho phép lưu trữ và quản lý các loại dữ liệu như tệp tin, hình ảnh và video.

Được tích hợp sẵn các tính năng bảo mật của Google, Firebase Storage giúp tải lên và tải về dữ liệu một cách nhanh chóng, an toàn và đơn giản. Lý do sử dụng - Các tính năng như Firebase Authentication và Firebase Storage giúp nhóm phát triển có thể triển khai nhanh chóng và hiệu quả các chức năng xác thực người dùng và lưu trữ dữ liệu, tiết kiệm thời gian và đảm bảo tiến độ phát triển ứng dụng. - Firebase cũng cung cấp các tính năng quan trọng mà không cần chi phí phát sinh trong giai đoạn đầu của dự án, đặc biệt là khi lượng người dùng chưa quá lớn. CHƯƠNG 3: XÂY DỰNG HỆ THỐNG 3.

Phân tích yêu cầu 3. Các chức năng cho Khách hàng - Đặt lịch giúp việc: Người dùng có thể chọn loại dịch vụ giúp việc (như lau dọn, giặt ủi, sửa chữa điện, đi chợ, chăm sóc cây,v,v.), thời gian và địa điểm giúp việc, chọn người giúp việc cụ thể và chọn phương thức thanh toán (thẻ tín dụng, ví điện tử, thanh toán tiền mặt). - Đánh giá dịch vụ: Sau khi dịch vụ được hoàn thành, người dùng có thể đánh giá chất lượng dịch vụ của người giúp việc bằng cách cho điểm và để lại bình luận. Những đánh giá này sẽ được hiển thị trên trang cá nhân của người giúp việc.

- Báo cáo dịch vụ: Nếu có sự cố xảy ra trong quá trình sử dụng dịch vụ, người dùng có thể báo cáo đến admin để được giải quyết. - Chat, liên hệ với người giúp việc: Người dùng có thể nhắn tin hoặc liên hệ trực tiếp với người giúp việc để trao đổi thông tin về công việc. Việc liên hệ giữa khách hàng và người giúp việc sẽ được diễn ra sau khi khách hàng đặt lịch giúp việc. - Quản lý thông tin cá nhân: Người dùng có thể cập nhật thông tin cá nhân của mình bao gồm thay đổi avatar, tên người dùng, số điện thoại, và các thông tin khác trên trang cá nhân.

Các chức năng cho Đối tác giúp việc - Đăng ký làm đối tác giúp việc: Người dùng có thể đăng ký làm đối tác giúp việc và nộp hồ sơ để được admin xét duyệt, có cơ hội trở thành đối tác cung cấp dịch vụ. 6 - Quản lý hồ sơ lên trang cá nhân: Người dùng có thể tạo và chỉnh sửa hồ sơ cá nhân, cung cấp các thông tin như loại dịch vụ giúp việc, thời gian làm việc, và khu vực làm việc. - Xác nhận đơn đặt lịch giúp việc từ phía khách hàng: Khi nhận được yêu cầu từ khách hàng, đối tác giúp việc sẽ có thể xác nhận hoặc từ chối các đơn đặt lịch. - Chat, liên hệ với khách hàng: Người giúp việc có thể nhắn tin trực tiếp với khách hàng để thảo luận về công việc.

- Báo cáo khách hàng lạm quyền: Nếu có sự cố xảy ra trong quá trình làm việc cho khách hàng, người giúp việc có thể báo cáo đến admin hệ thống. Các chức năng cho Admin - Duyệt hồ sơ: Admin có quyền duyệt hoặc từ chối các hồ sơ đăng ký của đối tác giúp việc. - Quản lý tài khoản khách hàng: Admin có thể quản lý và theo dõi thông tin tài khoản của khách hàng, bao gồm việc xử lý các khiếu nại hoặc yêu cầu từ khách hàng. Ngoài ra Admin có thể xoá tài khoản khách hàng nếu cảm thấy khách hàng vi phạm các tiêu chuẩn khi nhận dịch vụ.

- Quản lý tài khoản đối tác giúp việc: Admin sẽ theo dõi và quản lý các tài khoản đối tác giúp việc, bao gồm việc kiểm tra hồ sơ và xác nhận dịch vụ của họ. Ngoài ra Admin có thể xoá tài khoản đối tác nếu cảm thấy đối tác giúp việc vi phạm các tiêu chuẩn khi cung cấp dịch vụ. - Nhận báo cáo: Admin nhận báo cáo từ khách hàng hoặc đối tác giúp việc về sự cố hoặc vấn đề liên quan đến dịch vụ. - Quản lý danh sách các loại dịch vụ: Admin có thể thêm, sửa hoặc xóa các loại dịch vụ giúp việc mà ứng dụng cung cấp.

7 - Gửi thông báo: Admin còn có thể gửi thông báo đến khách hàng và đối tác giúp việc. Phân tích thiết kế hệ thống 3. Sơ đồ Use case 8 Hình 3.1: Sơ đồ usecase tổng hợp 9 3. Danh sách các tác nhân STT Tác nhân Mô tả tác nhân Ghi chú 1 Khách hàng Người dùng các tính năng của ứng dụng nhằm thuê giúp việc.

2 Đối tác giúp việc Người nhận và làm các công việc từ khách hàng. 3 Admin Quản trị viên có quyền cao nhất trong hệ thống Bảng 3.1: Danh sách các tác nhân 3. Danh sách Use Case ID Tên Tên tác nhân Mô tả ngắn gọn Usecase UC001 Đăng ký Khách hàng Cho phép người dùng tạo tài khoản. UC002 Đăng Khách hàng, Cho phép người dùng đăng nhập vào nhập Đối tác giúp việc, hệ thống với các vai trò khác nhau.

Admin UC003 Đăng xuất Khách hàng, Cho phép người dùng đăng xuất khỏi Đối tác giúp việc, hệ thống. Admin UC004 Đặt lịch Khách hàng Cho phép người dùng đặt lịch giúp giúp việc việc. 10 UC005 Huỷ lịch Khách hàng Cho phép người dùng huỷ lịch giúp giúp việc việc đã đặt.

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