Bối cảnh và vấn đề nghiên cứu

Thị trường bánh ngọt tại Việt Nam đang trong giai đoạn tăng trưởng mạnh, đặc biệt khi xu hướng đặt hàng trực tuyến và giao hàng tận nơi ngày càng phổ biến. Tuy nhiên, các nền tảng trực tuyến phục vụ lĩnh vực này vẫn còn nhiều bất cập: giao diện người dùng kém thân thiện, trải nghiệm sử dụng chưa tốt, và giải pháp quản lý nghiệp vụ cung cấp cho phía tiệm bánh chưa đáp ứng đủ nhu cầu thực tế.

Đồ án xác định hai nhóm vấn đề cốt lõi cần giải quyết:

  • Về phía khách hàng: Thiếu khả năng tham khảo thông tin cơ bản như hình ảnh sản phẩm, thông tin nguyên vật liệu, ngày sản xuất và ngày hết hạn từ xa; không có kênh đặt hàng trực tuyến tiện lợi.
  • Về phía doanh nghiệp: Không có nền tảng để quảng bá, nhận đơn hàng, thu thập dữ liệu khách hàng; khó cạnh tranh với các thương hiệu lớn và khó nắm bắt xu hướng tiêu dùng để đưa ra chiến lược sản xuất phù hợp.

Mục tiêu đề tài gồm năm nhiệm vụ cụ thể:

  1. Cung cấp cho khách hàng nền tảng đặt hàng và tra cứu thông tin sản phẩm, dịch vụ của tiệm bánh.
  2. Hỗ trợ doanh nghiệp quản lý tồn kho, theo dõi dữ liệu bán hàng và khách hàng.
  3. Tăng hiệu suất và giảm thời gian chờ cho khách hàng khi đặt hàng.
  4. Cung cấp dữ liệu về sở thích và xu hướng của khách hàng phục vụ ra quyết định kinh doanh.
  5. Xây dựng trải nghiệm trực tuyến tốt hơn cho người dùng cuối.

Đối tượng sử dụng bao gồm ba nhóm chính: khách hàng (đặt hàng, theo dõi đơn hàng), doanh nghiệp (quản lý vận hành, báo cáo, tồn kho), và quản trị viên (phân quyền, bảo trì hệ thống). Phạm vi triển khai giới hạn trên nền tảng website, thực hiện trong năm 2023 tại TP. Hồ Chí Minh, với sản phẩm minh họa mang tên H&H Bakery.


Cơ sở lý thuyết và phương pháp

Mô hình kiến trúc

Đồ án áp dụng mô hình Client-Server làm nền tảng kiến trúc hệ thống. Trong mô hình này, server đảm nhận lưu trữ tài nguyên và xử lý các yêu cầu từ client; client bao gồm các thiết bị của người dùng cuối gửi yêu cầu lên server. Nhóm phân tích cụ thể ưu và nhược điểm của mô hình này trước khi áp dụng:

Tiêu chí Nội dung
Ưu điểm Kiểm soát tập trung, bảo mật cao, khả năng mở rộng tốt, không phân biệt vị trí/nền tảng truy cập
Nhược điểm Có thể gây trễ nếu server không được tối ưu, phụ thuộc hạ tầng mạng, yêu cầu kiến thức cả phía client lẫn server

Công nghệ và công cụ

Hạng mục Công cụ / Công nghệ
Thiết kế UI/UX Framer
Ngôn ngữ lập trình TypeScript, TSX, CSS3
Frontend framework ReactJS, NextJS
Backend runtime NodeJS
Đồ họa 3D ThreeJS
Cơ sở dữ liệu Firebase
Quản lý dự án Jira
Vẽ sơ đồ LucidChart

Phương pháp thu thập và xử lý yêu cầu

Nhóm thu thập yêu cầu qua bốn kênh: (1) tạo phiếu khảo sát nhu cầu người dùng tiêu thụ; (2) phỏng vấn nghiệp vụ tại các tiệm bánh và doanh nghiệp liên quan; (3) nghiên cứu các ứng dụng hiện có trên thị trường; (4) phân tích và xác định yêu cầu hệ thống. Sau thu thập, nhóm tiến hành thiết kế đối tượng, thiết kế dữ liệu, thiết kế giao diện, rồi cài đặt → kiểm thử → hoàn thiện sản phẩm.


Nội dung chính theo từng chương

Chương 1 — Giới thiệu đề tài

Chương trình bày lý do chọn đề tài xuất phát từ nhu cầu thực tiễn của thị trường bánh ngọt đang tăng trưởng, đặc biệt khi thương mại điện tử ngày càng phổ biến. Nhóm xác định đối tượng, phạm vi và liệt kê danh sách 6 chức năng nghiệp vụ chính (đặt bánh, quản lý tồn kho, quản lý dữ liệu khách hàng, quản lý sản phẩm, báo cáo và phân tích, phân quyền). So sánh với hai sản phẩm cạnh tranh trên thị trường (bbanghouse.com và khietminhb) cho thấy cả hai đều không đáp ứng được các tính năng như: tra cứu thông tin chi tiết nguyên vật liệu, lưu trữ thông tin khách hàng mức chi tiết, quản lý tồn kho, tùy chỉnh bánh theo yêu cầu, theo dõi đơn hàng, và hệ thống khuyến mãi nâng cao — đây là các tính năng mà đồ án cam kết đảm bảo.

Chương 2 — Cơ sở lý thuyết

Chương trình bày mô hình Client-Server với phân tích ưu/nhược điểm và lý do lựa chọn, đồng thời giới thiệu toàn bộ stack công nghệ được sử dụng (ReactJS, NodeJS, Firebase, ThreeJS, NextJS, Framer). Phương pháp thực hiện tổng thể cũng được trình bày tại chương này, bao gồm quy trình từ thu thập yêu cầu đến cài đặt và kiểm thử.

Chương 3 — Phân tích và thiết kế hệ thống

Đây là chương kỹ thuật trọng tâm của đồ án. Nhóm tiến hành khảo sát hiện trạng tổ chức (các vai trò: Nhân viên, Giám đốc, Quản lý) và hiện trạng nghiệp vụ (quy trình đặt bánh truyền thống từ tiếp nhận đến xuất hóa đơn).

Yêu cầu hệ thống được phân loại theo 6 nhóm: nghiệp vụ (11 yêu cầu), tiến hóa, hiệu quả, tiện dụng, an toàn và bảo mật. Đáng chú ý:

  • Yêu cầu hiệu quả: chức năng đặt bánh phải xử lý được 100 đơn/phút; các chức năng còn lại phản hồi ngay tức thì.
  • Yêu cầu tiện dụng: chức năng đặt bánh không cần học; các chức năng quản lý cần từ 30 giây đến 5 phút hướng dẫn.
  • Yêu cầu bảo mật: phân tách quyền rõ ràng giữa Quản trị, Nhân viên và Chủ doanh nghiệp.
  • Yêu cầu an toàn: không cho phép hủy hóa đơn đã thanh toán, bánh và loại bánh đã được bán.

Hệ thống định nghĩa 5 tác nhân (Actor): Khách hàng (KH), Nhân viên điều hành/Chủ doanh nghiệp (ĐH), Quản trị viên (ADM), Nhân viên bếp (NV), và Quản lý chi nhánh (CN). Tổng cộng có 18 Use Case được đặc tả chi tiết, phân nhóm theo: Use Case chung (3), Use Case khách hàng (7), Use Case doanh nghiệp (7), Use Case quản trị viên (1).

Thiết kế cơ sở dữ liệu được thể hiện qua sơ đồ lớp ở mức phân tích với các đối tượng chính gồm: LOAISANPHAM, SANPHAM, LOBANH, KHUYENMAI, PHANHOI, GIOHANG, HOADON, KHACHHANG, GIAOHANG, PHUONGTHUCTHANHTOAN, NGUOI, USER, NHANVIEN, QUANLY, GIAMDOC, CHINHANH, TRAODOI, XUATLO, NHAPLO, SANPHAMDAT, KHAOSAT, USERCHAT — cùng các quan hệ liên kết giữa các thực thể này.

Chương 4 — Xây dựng website

Chương trình bày kết quả hiện thực hóa với 22 màn hình được phân thành hai nhóm:

Nhóm màn hình phía khách hàng:

Màn hình Chức năng chính
Trang chủ Hiển thị thông tin tiệm bánh, tích hợp live chat box
Sản phẩm Danh sách và lọc sản phẩm
Chi tiết sản phẩm Thông tin nguyên vật liệu, giá, mô tả, hình ảnh
Đặt bánh Hai phương thức: upload hình ảnh hoặc tùy chỉnh 3D trên trình duyệt
Giỏ hàng Thêm/xóa sản phẩm, điều chỉnh số lượng
Điền thông tin giao hàng Nhập địa chỉ và thông tin nhận hàng
Phương thức thanh toán Tích hợp cổng thanh toán
Thông tin tài khoản Quản lý hồ sơ cá nhân và lịch sử mua hàng

Nhóm màn hình phía quản lý/nhân viên:

Màn hình Chức năng chính
Quản lý loại sản phẩm CRUD danh mục bánh
Quản lý sản phẩm CRUD sản phẩm, cập nhật giá và trạng thái
Quản lý lô hàng Thêm/cập nhật lô bánh với ngày sản xuất, ngày hết hạn
Quản lý đơn hàng Xem và cập nhật trạng thái đơn hàng
Quản lý giao hàng Theo dõi và cập nhật giao vận
Quản lý khách hàng Xem thông tin chi tiết khách hàng
Quản lý khuyến mãi Tạo/chỉnh sửa chương trình giảm giá
Quản lý báo cáo Xem tổng doanh thu, lô bánh đã bán, lô bánh đã sản xuất theo mốc thời gian
Quản lý nhập xuất chi nhánh Yêu cầu nhập/xuất lô bánh giữa các chi nhánh
Quản lý liên hệ Xử lý liên hệ qua email
Quản lý Feedback Xem và xử lý phản hồi khách hàng
Quản lý chi nhánh CRUD thông tin chi nhánh
Quản lý phân quyền nhóm người dùng Tạo/cập nhật/xóa nhóm quyền
Quản lý phân quyền người dùng Gán quyền cho từng tài khoản
Màn hình khảo sát Đề xuất và thu thập phiếu khảo sát từ khách hàng

Chương 5 — Kết luận

Chương tổng kết ưu điểm, nhược điểm của sản phẩm, những kết quả đạt được và định hướng phát triển trong tương lai theo hai chiều: phía khách hàng và phía quản lý tiệm bánh.


Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống theo mô hình Client-Server, trong đó:

  • Frontend: NextJS + ReactJS + TypeScript/TSX + CSS3, thiết kế UI/UX bằng Framer.
  • Backend: NodeJS xử lý logic nghiệp vụ phía server.
  • Cơ sở dữ liệu: Firebase (lưu trữ đám mây theo thời gian thực).
  • Đồ họa 3D: ThreeJS hỗ trợ tính năng thiết kế bánh trực tiếp trên trình duyệt với các model định dạng .fbx.

Tính năng kỹ thuật nổi bật

Tính năng đặt bánh theo yêu cầu cá nhân (KH-UC07) là điểm khác biệt về mặt kỹ thuật của đồ án, cho phép khách hàng lựa chọn một trong hai phương thức: (1) upload hình ảnh tham khảo, hoặc (2) tự thiết kế bánh ở dạng vật thể 3D trực tiếp trên trình duyệt web thông qua ThreeJS với các model khuôn bánh và đồ trang trí do doanh nghiệp quản lý (ĐH-UC07). Nhân viên sau đó thỏa thuận giá với khách hàng và cập nhật vào đơn hàng (NV-UC02).

Hệ thống khuyến nghị sản phẩm được tích hợp dựa trên phiếu khảo sát và lịch sử hóa đơn của từng khách hàng, đề xuất sản phẩm phù hợp với sở thích đã ghi nhận.

Live chat box tích hợp ngay tại trang chủ cho phép khách hàng liên hệ trực tiếp với nhân viên chăm sóc khách hàng theo thời gian thực (USERCHAT entity trong database).

Quy trình phát triển

Nhóm sử dụng Jira làm môi trường quản lý tiến độ. Quy trình theo vòng lặp: cài đặt → kiểm thử → hoàn thiện. Yêu cầu phi chức năng về hiệu năng được đặt ra cụ thể: trang sản phẩm phải tải trong vòng 5 giây, xử lý thanh toán dưới 30 giây, hệ thống khuyến mãi phản hồi trong 3 giây và xử lý được ít nhất 1.000 yêu cầu đồng thời.


Kết quả và đóng góp

Kết quả chính

Đồ án hoàn thành website H&H Bakery với 12 chức năng nghiệp vụ và 22 màn hình giao diện, đáp ứng đầy đủ các yêu cầu đã đặt ra ở giai đoạn phân tích. So sánh với hai sản phẩm cạnh tranh trực tiếp trên thị trường (bbanghouse.com, khietminhb), H&H Bakery vượt trội ở tất cả các tiêu chí mà hai sản phẩm kia không đáp ứng được:

Tính năng bbanghouse.com khietminhb H&H Bakery
Đặt bánh trực tuyến Có Không Có
Tra cứu bánh Có Có Có
Thông tin chi tiết (nguyên liệu, HSD) Không Không Có
Lưu thông tin khách hàng chi tiết Không Không Có
Quản lý tồn kho Không Không Có
Giao diện trực quan Có Không Có
Tùy chỉnh bánh theo yêu cầu Không Không Có
Theo dõi thông tin đơn hàng Không Không Có
Hệ thống khuyến mãi nâng cao Không Không Có

Giải pháp đề xuất

Phía khách hàng được hưởng lợi từ: giao diện đặt hàng trực quan không cần hướng dẫn, hai phương thức đặt bánh tùy chỉnh linh hoạt (upload ảnh hoặc thiết kế 3D), theo dõi đơn hàng theo thời gian thực, và hệ thống khuyến nghị sản phẩm cá nhân hóa.

Phía doanh nghiệp được trang bị: hệ thống quản lý toàn diện từ sản phẩm, lô hàng, khuyến mãi đến báo cáo doanh thu nhiều chiều; quản lý nhập xuất lô bánh giữa các chi nhánh; phân quyền linh hoạt theo nhóm người dùng; và công cụ thu thập dữ liệu khách hàng thông qua khảo sát.

Đóng góp so với thị trường

Đồ án lần đầu tích hợp tính năng thiết kế bánh 3D trực tiếp trên trình duyệt trong bối cảnh phần mềm quản lý tiệm bánh tại Việt Nam — một điểm khác biệt chưa có ở các sản phẩm được khảo sát. Ngoài ra, việc xây dựng module nhập xuất lô bánh giữa các chi nhánh và hệ thống khuyến nghị dựa trên lịch sử mua hàng cũng là các đóng góp thực tiễn cho nghiệp vụ quản lý chuỗi tiệm bánh nhiều chi nhánh.


Hạn chế và hướng nghiên cứu tiếp

Nhóm tác giả tự nhận một số nhược điểm trong phạm vi đồ án:

Hạn chế đã được nhận diện:

  • Phạm vi triển khai giới hạn trên website, chưa có ứng dụng di động (mobile app).
  • Hệ thống khuyến nghị dựa trên khảo sát và lịch sử hóa đơn còn ở mức cơ bản, chưa ứng dụng các thuật toán học máy nâng cao.

Hướng phát triển đề xuất:

Về phía khách hàng:

  • Mở rộng thêm các kênh đặt hàng và theo dõi đơn hàng.
  • Nâng cao trải nghiệm thiết kế bánh 3D với nhiều model và tùy chọn phong phú hơn.

Về phía quản lý tiệm bánh:

  • Tích hợp phân tích dữ liệu chuyên sâu hơn để hỗ trợ ra quyết định chiến lược.
  • Mở rộng module quản lý chuỗi cung ứng và nhập xuất giữa các chi nhánh.

Giá trị tham khảo

Đồ án phù hợp để tham khảo cho các đối tượng sau:

  • Sinh viên ngành Công nghệ phần mềm và Công nghệ thông tin đang thực hiện đồ án xây dựng hệ thống thương mại điện tử hoặc website quản lý nghiệp vụ, đặc biệt là các dự án sử dụng stack ReactJS/NextJS/NodeJS/Firebase.
  • Sinh viên tìm hiểu phân tích và thiết kế hệ thống: Chương 3 với hệ thống 18 Use Case được đặc tả đầy đủ (điều kiện tiên quyết, luồng cơ bản, luồng ngoại lệ, business rule, non-functional rule) là tài liệu tham khảo có giá trị về phương pháp mô hình hóa yêu cầu.
  • Nhóm sinh viên thực hiện đề tài tương tự trong lĩnh vực quản lý chuỗi cửa hàng F&B (thực phẩm, đồ uống): có thể tham khảo cách phân tách actor, phân tầng quyền hạn (khách hàng – nhân viên – quản lý chi nhánh – quản trị viên) và mô hình dữ liệu đa chi nhánh.
  • Người học về ThreeJS và ứng dụng 3D trên web: Tính năng thiết kế bánh 3D trực tiếp trên trình duyệt là trường hợp ứng dụng thực tế hiếm có trong đồ án sinh viên Việt Nam, đáng tham khảo về cách tích hợp ThreeJS vào NextJS.

Câu hỏi thường gặp

1. Tính năng đặt bánh theo yêu cầu cá nhân hoạt động như thế nào và khác gì so với đặt bánh thông thường?

Theo Use Case KH-UC07, khách hàng có thể chọn một trong hai phương thức: (1) upload hình ảnh bánh đã chụp làm tham khảo, hoặc (2) tự tay thiết kế bánh bằng cách kéo thả các model 3D (khuôn bánh, đồ trang trí định dạng .fbx) trực tiếp trên trình duyệt web thông qua ThreeJS. Sau khi khách đặt, nhân viên (NV-UC02) liên hệ để thỏa thuận giá và cập nhật vào đơn hàng — khác với đặt hàng thông thường là giá cố định và xử lý tự động.

2. Hệ thống quản lý nhập xuất giữa các chi nhánh hoạt động theo quy trình nào?

Dựa trên chức năng số 11 trong danh sách nghiệp vụ và các màn hình tương ứng, một chi nhánh có thể gửi yêu cầu nhập lô bánh từ chi nhánh khác. Chi nhánh cung cấp sẽ xem danh sách các yêu cầu nhập lô bánh và xét duyệt xuất hàng. Hệ thống hỗ trợ xem lịch sử xuất bánh của từng chi nhánh đến các chi nhánh khác. Các đối tượng dữ liệu TRAODOI, XUATLO và NHAPLO trong database phục vụ cho luồng nghiệp vụ này.

3. Hệ thống khuyến nghị sản phẩm hoạt động dựa trên dữ liệu nào?

Theo mô tả chức năng số 10 trong bảng danh sách chức năng chính thức, hệ thống khuyến nghị gợi ý sản phẩm cho khách hàng dựa trên kết quả khảo sát sở thích và lịch sử các hóa đơn đã thanh toán trong quá khứ. Hệ thống chủ động đề xuất khách hàng tham gia khảo sát (màn hình thông báo đề xuất khảo sát) và lưu dữ liệu qua đối tượng KHAOSAT liên kết với KHACHHANG trong cơ sở dữ liệu.

4. Hệ thống phân quyền được thiết kế theo mô hình nào và ai có quyền gì?

Hệ thống phân quyền theo nhóm người dùng (role-based), với hai lớp quản lý: phân quyền nhóm (ADM-UC01) và phân quyền từng tài khoản (ADM-UC02) do Quản trị viên thực hiện. Bảng yêu cầu bảo mật xác định: Quản trị viên quản lý tài khoản và quyền; Chủ doanh nghiệp/Nhân viên điều hành quản lý tồn kho, sản phẩm, báo cáo, chi nhánh và nhập xuất; Nhân viên bếp quản lý đơn hàng thông thường và đơn hàng theo yêu cầu.

5. Yêu cầu hiệu năng cụ thể nào được đặt ra cho hệ thống?

Theo bảng danh sách yêu cầu hiệu quả, hệ thống phải xử lý chức năng đặt bánh ở tốc độ 100 đơn/phút; toàn bộ các chức năng quản lý còn lại (tồn kho, khách hàng, sản phẩm, báo cáo, chi nhánh, live chat, nhập xuất, phân quyền) phản hồi ngay tức thì. Riêng về giao diện, trang sản phẩm và lịch sử đặt hàng tải trong vòng 5 giây, xử lý thanh toán dưới 30 giây, hệ thống khuyến mãi phản hồi trong 3 giây và xử lý được ít nhất 1.000 yêu cầu quản lý khuyến mãi đồng thời.


Kết luận

Đồ án "Phát triển Website Quản lý Tiệm Bánh" (H&H Bakery) của nhóm sinh viên Nguyễn Văn Hên và Phan Trường Huy, Khoa Công nghệ phần mềm, Trường Đại học Công nghệ Thông tin — ĐHQG TP. HCM, là một hệ thống thương mại điện tử tích hợp quản lý nghiệp vụ được xây dựng trên stack NextJS/ReactJS/NodeJS/Firebase/ThreeJS. Sản phẩm giải quyết đồng thời nhu cầu của hai phía: khách hàng cần nền tảng đặt hàng trực quan và doanh nghiệp cần công cụ quản lý vận hành toàn diện cho mô hình nhiều chi nhánh. Điểm nổi bật về mặt kỹ thuật là tính năng thiết kế bánh 3D trực tiếp trên trình duyệt web — một ứng dụng ThreeJS trong bối cảnh F&B còn hiếm gặp ở cấp đồ án sinh viên trong nước. Hệ thống đặc tả 18 Use Case, 12 chức năng nghiệp vụ và 22 màn hình, với đầy đủ phân tích yêu cầu theo sáu nhóm (nghiệp vụ, tiến hóa, hiệu quả, tiện dụng, an toàn, bảo mật), tạo thành tài liệu phân tích thiết kế có cấu trúc hoàn chỉnh.