Đồ án tốt nghiệp: Xây dựng ứng dụng đặt hàng online (Android, Firebase)

Đề tài nghiên cứu Đồ án xây dựng app đặt hàng online Android & Firebase góp phần nâng cao kiến thức chuyên ngành và ứng dụng hỗ trợ đào tạo hiệu quả

Chuyên ngành

Công Nghệ Thông Tin

Tác giả

Phạm Văn Nhất

Người đăng

Ẩn danh

Thể loại

Khóa luận tốt nghiệp

2020

136
1
0

Phí lưu trữ

35 Point

Tóm tắt

I. Tổng quan về đồ án xây dựng ứng dụng đặt hàng online

Đồ án xây dựng app đặt hàng online Android & Firebase là một dự án khóa luận tốt nghiệp chuyên ngành công nghệ phần mềm tại Trường Đại học Sư phạm Kỹ thuật TP.HCM. Dự án này tập trung vào việc phát triển ba ứng dụng mobile độc lập dành cho ba đối tượng người dùng chính: người mua hàng, chủ cửa hàng và nhân viên giao hàng. Mục tiêu của đồ án là xây dựng một nền tảng đặt hàng online hoàn chỉnh sử dụng công nghệ lập trình Android bằng Javacơ sở dữ liệu Firebase của Google. Đây là giải pháp hiện đại giúp tối ưu hóa quy trình kinh doanh thương mại điện tử trong lĩnh vực đặt hàng ăn uống và giao hàng tận nơi.

1.1. Công nghệ và nền tảng sử dụng

Dự án sử dụng Android làm nền tảng phát triển ứng dụng di động với ngôn ngữ lập trình Java. Firebase của Google được lựa chọn làm hệ thống cơ sở dữ liệu thời gian thực (Real-time Database), cung cấp khả năng đồng bộ dữ liệu tức thời giữa các thiết bị. Công nghệ này cho phép ứng dụng cập nhật tình trạng đơn hàng một cách nhanh chóng và hiệu quả nhất.

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

Nhu cầu đặt hàng online ngày càng tăng cao trên thị trường Việt Nam. Dự án này giải quyết vấn đề quản lý hiệu quả cho các cửa hàng kinh doanh trực tuyến. Ứng dụng cung cấp giải pháp toàn diện cho các bên liên quan, từ khách hàng đến nhà cung cấp, tạo ra một hệ sinh thái đặt hàng online hoàn chỉnh và chuyên nghiệp.

II. Các chức năng chính của ứng dụng đặt hàng online

Ứng dụng đặt hàng online bao gồm ba module riêng biệt, mỗi module được thiết kế đặc biệt cho nhu cầu của từng nhóm người dùng. Ứng dụng dành cho người mua hàng cung cấp giao diện thân thiện để tìm kiếm, xem chi tiết sản phẩm, quản lý giỏ hàng và theo dõi đơn hàng. Module quản lý cửa hàng cho phép chủ cửa hàng quản lý danh sách sản phẩm, theo dõi đơn hàng và quản lý nhân viên giao hàng. Ứng dụng giao hàng cho phép nhân viên giao hàng cập nhật tình trạng đơn hàng và xác định đường đi tối ưu. Các tính năng này tạo nên một hệ thống quản lý đặt hàng online hiệu quả và toàn diện.

2.1. Tính năng ứng dụng người mua hàng

Người dùng có thể tìm kiếm và xem chi tiết món ăn, thêm vào giỏ hàng, xóa sản phẩm, và thực hiện đặt hàng online. Tính năng bình luận và yêu thích sản phẩm giúp tạo cộng đồng người dùng. Người mua có thể theo dõi quá trình vận chuyển của đơn hàng một cách thời gian thực nhờ tích hợp Firebase.

2.2. Tính năng quản lý dành cho chủ cửa hàng

Chủ cửa hàng có toàn quyền quản lý danh sách sản phẩm (thêm, sửa, xóa). Tính năng quản lý nhân viên giao hàng giúp phân công công việc hiệu quả. Chủ cửa hàng có thể xem và quản lý hóa đơn đặt hàng, theo dõi doanh thu và phân tích thống kê bán hàng qua ứng dụng.

2.3. Tính năng ứng dụng giao hàng

Nhân viên giao hàng có thể cập nhật tình trạng đơn hàng (chờ xác nhận, đang chuẩn bị, đang giao). Tính năng xác định đường đi tối ưu giúp tiết kiệm thời gian và chi phí. Ứng dụng tích hợp GPS để theo dõi vị trí giao hàng và cung cấp thông báo thời gian thực cho khách hàng.

III. Cơ sở dữ liệu Firebase và kiến trúc hệ thống

Firebase Realtime Database được sử dụng làm backbone cho toàn bộ hệ thống đặt hàng online. Đây là một cơ sở dữ liệu NoSQL được lưu trữ trên cloud, cho phép đồng bộ dữ liệu tức thời giữa máy chủ và các ứng dụng client. Kiến trúc hệ thống được thiết kế theo mô hình client-server với Firebase làm máy chủ trung tâm. Hệ thống quản lý ba ứng dụng Android độc lập nhưng kết nối chung thông qua một cơ sở dữ liệu tập trung. Điều này đảm bảo tính nhất quán dữ liệuhiệu suất cao khi có nhiều người dùng truy cập cùng lúc.

3.1. Lợi ích của Firebase trong dự án

Firebase cung cấp khả năng mở rộng tự động theo nhu cầu của ứng dụng. Bảo mật dữ liệu được đảm bảo thông qua các quy tắc firebase rule được cấu hình chặt chẽ. Chứng thực người dùng được Firebase hỗ trợ bằng email, điện thoại hoặc tài khoản xã hội. Đồng bộ dữ liệu thời gian thực là điểm mạnh nhất, cho phép các ứng dụng cập nhật tình trạng đơn hàng ngay lập tức.

3.2. Thiết kế mô hình dữ liệu

Mô hình dữ liệu được thiết kế dựa trên diagram ERD chi tiết, bao gồm các bảng cho người dùng, sản phẩm, đơn hàng, và giao hàng. Mỗi entity có các attribute rõ ràng và quan hệ giữa các bảng được xác định chính xác. Chuẩn hóa dữ liệu giúp tránh dư thừa và đảm bảo tính toàn vẹn dữ liệu trong cơ sở dữ liệu Firebase.

IV. Quy trình phát triển và kiểm thử ứng dụng

Quy trình phát triển đồ án được thực hiện theo phương pháp theo giai đoạn từ tháng 3 đến tháng 7 năm 2020. Giai đoạn đầu tập trung vào nghiên cứu lý thuyết về Java, Android, và Firebase. Giai đoạn thiết kế bao gồm vẽ use case diagram, mô hình ERD, và thiết kế giao diện. Giai đoạn phát triển là xây dựng code cho ba ứng dụng mobile theo yêu cầu đã định. Giai đoạn kiểm thử đảm bảo ứng dụng hoạt động ổn định và không có lỗi. Kiểm thử chứng năng được thực hiện bởi cả ba nhóm người dùng để đảm bảo chất lượng ứng dụng đặt hàng online cuối cùng.

4.1. Các bước phát triển từng giai đoạn

Tuần 1-2: Xác định yêu cầu và cài đặt môi trường phát triển. Tuần 3-5: Thiết kế cơ sở dữ liệu và giao diện ứng dụng. Tuần 6-10: Lập trình các tính năng chính cho cả ba ứng dụng Android & Firebase. Tuần 11-14: Kiểm thử chức năng, sửa lỗi và tối ưu hóa. Tuần 15: Hoàn thiện báo cáo cuối cùng.

4.2. Kế hoạch kiểm thử và đánh giá

Kiểm thử đơn vị được thực hiện cho từng module riêng biệt. Kiểm thử tích hợp đảm bảo ba ứng dụng hoạt động cùng nhau thông qua Firebase. Kiểm thử chứng năng với thực tế để xác nhận ứng dụng đặt hàng online đáp ứng đầy đủ yêu cầu. Sản phẩm cuối cùng là ba ứng dụng di động hoàn chỉnh, sẵn sàng triển khai trên thị trường.

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.

28/12/2025
Đồ án tốt nghiệp xây dựng ứng dụng đặt hàng online

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

CHƯƠNG 1: CƠ SỞ LÝ THUYẾT 1. Khái niệm về Java và Lập trình Android bằng Java Java là một ngôn ngữ lập trình hướng đối tượng (OOP) và dựa trên các lớp (class). Khác với phần lớn ngôn ngữ lập trình thông thường, thay vì biên dịch mã nguồn thành mã máy hoặc thông dịch mã nguồn khi chạy, Java được thiết kế để biên dịch mã nguồn thành bytecode, bytecode sau đó sẽ được môi trường thực thi (runtime environment) chạy [1]. Java có những ưu điểm sau đây: - Hướng đối tượng rộng - Java có nền tảng riêng biệt - Thiết kế mẫu khá đơn giản - Tính bảo mật cao - Nhanh và mạnh [1] Android là hệ điều hành mã nguồn mở, dựa trên Linux Kernel, dành cho các thiết bị di động nói chung (điện thoại, máy tính bảng, đồng hồ thông minh, máy nghe nhạc…).

Android không chỉ giới hạn trong phạm vi một hệ điều hành cho điện thoại! Nó có thể được nhà sản xuất cài đặt lên đồng hồ, máy nghe nhạc, thiết bị định vị GPS, thậm chí là ô tô (các thiết bị Android Auto). Hiện Android là một thương hiệu của Google. Có khả năng tùy biến rất cao và có thể chạy trên nhiều thiết bị, nhiều kiến trúc vi xử lý (ARM / x86) [2]. 5 Chương 1: Cơ sở lý thuyết Kiến trúc hệ thống Android: [2] Hình 1.

Kiến trúc hệ thống Android Tầng Applications: Là tầng chứa các ứng dụng Danh bạ, Gọi điện, Trình duyệt, Nghe nhạc… các ứng dụng này thường mua máy về chúng ta đã có sẵn rồi. Tầng Framework: Là tầng chứa các API để làm việc với hệ điều hành như lấy thông tin danh bạ, quản lý các Activity (Activity là gì thì giờ chúng ta chưa cần quan tâm, các bài sau sẽ giải thích kĩ), quản lý địa điểm, quản lý các View (cũng chưa cần quan tâm). Tầng Libraries: Chứa các thư viện, API gần như là cốt lõi của Android, bao gồm bộ quản lý bề mặt cảm ứng (Surface Manager), OpenGL (phục vụ cho việc dựng đồ họa phức tạp)… Tầng Android Runtime: Chứa các thư viện lõi của Android và máy ảo Dalvik Virtual Machine (từ Android 4 trở lên chúng ta có thêm máy ảo ART). 6 Chương 1: Cơ sở lý thuyết Tầng Kernel: Là nhân lõi của hệ điều hành, chứa các tập lệnh, driver giao tiếp giữa phần cứng và phần mềm của Android.

Android cung cấp một nền tảng phát triển mở, Android cung cấp cho các nhà phát triển khả năng xây dựng các ứng dụng cực kỳ phong phú và sáng tạo. Nhà phát triển được tự do tận dụng các thiết bị phần cứng, thông tin địa điểm truy cập, các dịch vụ chạy nền, thiết lập hệ thống báo động, thêm các thông báo để các thanh trạng thái, và nhiều, nhiều hơn nữa. Nhà phát triển có thể truy cập vào các API cùng một khuôn khổ được sử dụng bởi các ứng dụng lõi. Các kiến trúc ứng dụng được thiết kế để đơn giản hóa việc sử dụng lại các thành phần; bất kỳ ứng dụng có thể xuất bản khả năng của mình và ứng dụng nào khác sau đó có thể sử dụng những khả năng (có thể hạn chế bảo mật được thực thi bởi khuôn khổ).

Cơ chế này cho phép các thành phần tương tự sẽ được thay thế bởi người sử dụng. Cơ bản tất cả các ứng dụng là một bộ các dịch vụ và các hệ thống, bao gồm: [2] - Một tập hợp rất nhiều các View có khả năng kế thừa lẫn nhau dùng để thiết kế phần giao diện ứng dụng như: gridview, tableview, linearlayout… - Một “Content Provider” cho phép các ứng dụng có thể truy xuất dữ liệu từ các ứng dụng khác (chẳng hạn như Contacts) hoặc là chia sẻ dữ liệu giữa các ứng dụng đó. - Một “Resource Manager” cung cấp truy xuất tới các tài nguyên không phải là mã nguồn, chẳng hạn như: localized strings, graphics, and layout files. - Một “Notifycation Manager” cho phép tất cả các ứng dụng hiển thị các custom alerts trong status bar.

- Một “Activity Manager” được dùng để quản lý chu trình sống của ứng dụng và điều hướng các activity [2]. 7 Chương 1: Cơ sở lý thuyết 1. Khái niệm về cơ sở dữ liệu Firebase 1. Giới thiệu về cơ sở dữ liệu Firebase Firebase là một nền tảng ứng dụng di động và web với các công cụ và hạ tầng được thiết kế để giúp các lập trình viên xây dựng các ứng dụng chất lượng cao.

Là một cơ sở dữ liệu NoSQL được lưu và đồng bộ dữ liệu trên mây. Dữ liệu đượclưu trữ và đồng bộ hóa theo thời gian thực với mỗi client được kêt nối và vẫn khả dụng khi ứng dụng offline. Khi bạn xây dựng ứng dụng đa nền tẩng với iOS, Android, và javascript SDK, tất cả các client của bạn chia sẽ một thể hiện Realtime Database và tự động tiếp nhận các thay đổi với dữ liệu mới nhất [3]. Các tính năng cơ bản của Firebase 1.

Realtime Database – Cơ sở dữ liệu thời gian thực Firebase lưu trữ dữ liệu database dưới dạng JSON và thực hiện đồng bộ database tới tất cả các client theo thời gian thực. Cụ thể hơn là có thể xây dựng được client đa nền tảng (cross-platform client) và tất cả các client này sẽ cùng sử dụng chung một database đến từ Firebase và có thể tự động cập nhật mỗi khi dữ liệu trong database được thêm mới hoặc sửa đổi [4]. Tự động tính toán quy mô ứng dụng Khi ứng dụng muốn phát triển không cần lo lắng về việc nâng cấp máy chủ. Firebase sẽ xử lý tự động.

Các máy chủ của Firebase quản lý hàng triệu kết nối đồng thời và hàng tỉ lượt truy vấn mỗi tháng [4]. Các tính năng bảo mật lớp đầu Tất cả dữ liệu được truyền qua một kết nối an toàn SSL với một chứng nhận 2048-bit. Cơ sở dữ liệu truy vấn và việc xác nhận được điều khiển tại một cấp độ chi tiết sử dụng theo một số các quy tắc mềm dẻo security rules language. Tất cả các logic bảo mật dữ liệu của bạn được tập trung ở một chỗ để dễ dàng cho việc cập nhật và kiểm thử [4].

Làm việc offline Ứng dụng Firebase của bạn sẽ duy trì tương tác bất chấp một số các vấn đề về internet xảy ra. Trước khi bất kỳ dữ liệu được ghi đến server thì tất cả dữ liệu lập tức sẽ được viết vào một cơ sở dữ liệu Firebase ở local. Ngay khi có thể kết 8 Chương 1: Cơ sở lý thuyết nối lại, client đó sẽ nhận bất kỳ thay đổi mà nó thiếu và đồng bộ hoá nó với trạng thái hiện tại server [4]. Firebase Authentication – Hệ thống xác thực của Firebase Firebase dễ dàng xác thực người dùng từ ứng dụng của bạn trên Android, iOS và JavaScript SDKs chỉ với một vài đoạn mã.

Firebase đã xây dựng chức năng cho việc xác thực người dùng với Email, Facebook, Twitter, GitHub, Google, và xác thực nạc danh. Các ứng dụng sử dụng chức năng xác thực của FireBase có thể giải quyết được vấn đề khi người dùng đăng nhập, nó sẽ tiết kiện thời gian và rất nhiều các vấn đề phức tạp về phần back-end. Firebase Hosting Phát triển ứng dụng trong thời gian ngắn với các hosting tĩnh đã được cung cấp sẵn. Tất cả các kết nối được phân phối qua SSL từ CDN trên toàn thể giới của Firebase.

Triểu khai siêu tốc: Việc triển khai sử dụng các công cụ dòng lệnh Firebase và có thể quay trở lại với phiên bản trước chỉ với một cú click chuột. Tất cả các ứng dụng sẽ có đường dẫn mặc đinh ở sau firebaseapp.com và nếu trả phí thì có thể triểu khai một tên miền tuỳ chỉnh. SSL default: Mọi ứng dụng được xử lý thông qua một kết nối an toàn, và Firebase đã cẩn thận cung cấp SSL cert cho bạn [4]. Firebase Storage Firebase ra mắt Firebase Storage để giúp lập trình viên upload và download file dễ dàng.

Firebase Storage được Google Cloud Storage hỗ trợ, mang đến khả năng lưu trữ khổng lồ và cho phép Google Cloud project truy cập file dễ dàng. Firebase Storage client SDKs còn có logic nâng cao có thể dễ dàng xử lý điều kiện mạng kém [4]. Những lợi ích khi sử dụng cơ sở dữ liệu Firebase 2. Triển khai ứng dụng cực mạnh Với Firebase bạn có thể giảm bớt rất nhiều thời gian cho việc viết các dòng code để quản lý và đồng bộ cơ sở dữ liệu, mọi việc sẽ diễn ra hoàn toàn tự động với các API của Firebase.

Không chỉ có vậy Firebase còn hỗ trợ đã nền tảng nên 9 Chương 1: Cơ sở lý thuyết bạn sẽ càng đỡ mất thời gian rất nhiều khi ứng dụng bạn muốn xây dựng là ứng dụng đa nền tảng [4]. Bảo mật Firebase hoạt động dựa trên nền tảng cloud và thực hiện kết nối thông qua giao thức bảo mật SSL, chính vì vậy bạn sẽ bớt lo lắng rất nhiều về việc bảo mật của dữ liệu cũng như đường truyền giữa client và server. Không chỉ có vậy, việc cho phép phân quyền người dùng database bằng cú pháp javascipt cũng nâng cao hơn nhiều độ bảo mật cho ứng dụng của bạn, bởi chỉ những user mà bạn cho phép mới có thể có quyền chỉnh sửa cơ sở dữ liệu [4]. Tính linh hoạt và khả năng mở rộng Sử dụng Firebase dễ dàng hơn rất nhiều mỗi khi cần nâng cấp hay mở rộng dịch vụ.

Ngoài ra firebase còn cho phép tự xây dựng server của riêng mình để có thể thuận tiện hơn trong quá trình quản lý. Việc Firebase sử dụng NoSQL, giúp cho database sẽ không bị bó buộc trong các bảng và các trường mà có thể tùy ý xây dựng database theo cấu trúc của riêng [4]. Sự ổn định Firebase hoạt động dựa trên nền tảng cloud đến từ Google vì vậy hầu như không bao giờ phải lo lắng về việc sập server, tấn công mạng như DDOS, tốc độ kết nối lúc nhanh lúc chậm nữa, bởi đơn giản là Firebase hoạt động trên hệ thống server của Google. Hơn nữa nhờ hoạt động trên nền tảng Cloud nên việc nâng cấp, bảo trì server cũng diễn ra rất đơn giản mà không cần phải dừng server để nâng cấp như truyền thống [4].

Giá thành Google Firebase có rất nhiều gói dịch vụ với các mức dung lượng lưu trữ cũng như băng thông khác nhau với mức giá dao động từ Free đến $1500 đủ để đáp ứng được nhu cầu của tất cả các đối tượng. Chính vì vậy có thể lựa chọn gói dịch vụ phù hợp nhất với nhu cầu sử dụng. Điều này giúp tới ưu hóa được vốn đầu tư và vận hành tùy theo số lượng người sử dụng. Ngoài ra còn không mất chi 10 Chương 1: Cơ sở lý thuyết phí để bảo trì, nâng cấp, khắc phục các sự cố bởi vì những điều này đã có Firebase lo [4].

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