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

Trong bối cảnh phát triển của đời sống xã hội và xu hướng tiêu dùng hiện đại, các không gian quán cà phê không chỉ đơn thuần đáp ứng nhu cầu giải khát hay thưởng thức đồ uống mà còn trở thành địa điểm giao lưu, học tập và làm việc phổ biến của giới trẻ cũng như người đi làm. Sự gia tăng nhanh chóng về số lượng các cơ sở kinh doanh đồ uống dẫn đến mức độ cạnh tranh cao, đòi hỏi các đơn vị kinh doanh phải nâng cao chất lượng dịch vụ và tối ưu hóa quy trình vận hành.

Mô hình bán hàng truyền thống tại quán cà phê bộc lộ nhiều điểm hạn chế khi lượng khách tập trung đông: khách hàng phải xếp hàng chờ đợi lâu để gọi món và thanh toán. Đồng thời, trong bối cảnh dịch bệnh (như dịch Covid-19), việc tập trung đông người tại quầy không đảm bảo các yêu cầu về khoảng cách y tế. Về phía quản lý, các nghiệp vụ kiểm soát bán hàng, tính doanh thu, theo dõi xuất - nhập - tồn kho, chấm công và tính lương nhân viên nếu xử lý thủ công sẽ gây tốn kém thời gian và dễ phát sinh sai sót.

Xuất phát từ thực tế trên, đồ án tốt nghiệp "Xây dựng website bán hàng cho quán cafe Rabbit House" được thực hiện nhằm xây dựng một hệ thống phần mềm quản lý và bán hàng trực tuyến toàn diện, tích hợp cơ chế gợi ý món dựa trên dữ liệu thời tiết thực tế từ hệ thống nhúng.

Mục tiêu nghiên cứu

  1. Xây dựng hệ thống quản lý quán cafe Rabbit House hỗ trợ các nghiệp vụ: tính tiền, kiểm tra doanh thu, thống kê, quản lý nhân viên, quản lý kho hàng và quản lý chương trình khuyến mãi.
  2. Cung cấp nền tảng bán hàng trực tuyến cho khách hàng và quản trị viên, giúp tiết kiệm thời gian, đơn giản hóa thao tác sử dụng và tối ưu hóa công tác điều hành.
  3. Xây dựng cấu trúc hệ thống rõ ràng, dễ hiểu, bám sát các nghiệp vụ thực tiễn của một mô hình kinh doanh đồ uống.
  4. Nâng cao năng lực tư duy thiết kế hệ thống, xây dựng giao diện tương tác người dùng và vận dụng kiến thức chuyên ngành vào giải quyết bài toán thực tế.

Nhiệm vụ nghiên cứu

  • Nghiên cứu cơ sở lý thuyết về phân tích và thiết kế hệ thống thông tin quản lý.
  • Khảo sát thực trạng quy trình mua bán và quản lý tại một số quán cà phê trên địa bàn.
  • Thiết kế mô hình dữ liệu, sơ đồ dòng chảy dữ liệu (DFD), sơ đồ ca sử dụng (Use Case) và sơ đồ tuần tự (Sequence Diagram).
  • Lập trình ứng dụng web quản lý và bán hàng hoàn chỉnh với 3 phân quyền: Khách hàng, Nhân viên, Quản trị viên.
  • Xây dựng phân hệ nhúng đo nhiệt độ, độ ẩm và lượng mưa (Weather Subsystem) để đồng bộ dữ liệu lên website nhằm đưa ra gợi ý sản phẩm phù hợp.

Đối tượng và phạm vi nghiên cứu

  • Đối tượng nghiên cứu: Hệ thống quản lý và bán hàng của quán cafe Rabbit House.
  • Khách thể nghiên cứu: Quy trình hoạt động của quán cà phê thông thường; các nghiệp vụ bán hàng, quản lý kho, quản lý nhân sự; nhu cầu của khách hàng và nhà quản lý.
  • Phạm vi nghiên cứu: Các nghiệp vụ bán hàng trực tiếp và trực tuyến theo mô hình quán cafe Rabbit House; khảo sát thực tế tại các quán cà phê trên địa bàn thành phố Thủ Dầu Một, tỉnh Bình Dương.

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

Khung lý thuyết và khảo sát thực tiễn

Tác giả tiến hành phân tích sự khác biệt giữa quy trình mua hàng trực tiếp tại cửa hàng và quy trình đặt hàng trực tuyến thông qua website:

  • Quy trình mua hàng trực tiếp: Khách hàng đến quán $\rightarrow$ Xếp hàng chờ đến lượt $\rightarrow$ Xem thực đơn và gọi món $\rightarrow$ Chờ nhận món và thực hiện thanh toán.
  • Khảo sát hệ thống tương tự: Nghiên cứu mô hình website bán hàng của chuỗi The Coffee House. Đánh giá cho thấy hệ thống này cho phép mua hàng nhanh mà không bắt buộc đăng nhập, tuy nhiên việc không lưu trữ thông tin tài khoản người dùng gây khó khăn cho việc quản lý khách hàng thân thiết, thiết lập chương trình khuyến mãi mục tiêu và sàng lọc đơn hàng rác (spam).

Phương pháp nghiên cứu

  • Phương pháp nghiên cứu tài liệu: Thu thập, tổng hợp và nghiên cứu các tài liệu học thuật, sách chuyên ngành, bài báo và các đồ án/khóa luận tốt nghiệp chuyên ngành Kỹ thuật Phần mềm và Hệ thống Thông tin.
  • Phương pháp nghiên cứu thực tiễn:
    • Phương pháp quan sát: Quan sát quy trình phục vụ, thao tác bán hàng và cách thức quản lý tại một số cơ sở kinh doanh cà phê tại thành phố Thủ Dầu Một.
    • Phương pháp phỏng vấn: Ghi nhận ý kiến, nhu cầu thực tế từ chủ quán, nhân viên phục vụ và khách hàng.
  • Phương pháp tổng hợp và phân tích số liệu: Phân loại thông tin thu thập được từ khảo sát, trích xuất các yêu cầu chức năng/phi chức năng để mô hình hóa hệ thống.

Công nghệ và công cụ sử dụng

  • Ngôn ngữ lập trình Backend & Web: PHP (Hypertext Preprocessor), JavaScript, jQuery, Ajax.
  • Hệ quản trị cơ sở dữ liệu: MySQL.
  • Công cụ phát triển & Thiết kế: Visual Studio Code, XAMPP (máy chủ cục bộ), Draw.io (thiết kế cơ sở dữ liệu và sơ đồ hệ thống).
  • Hệ thống nhúng (Weather Subsystem): Vi điều khiển NodeMCU ESP8266, Cảm biến nhiệt độ - độ ẩm DHT11, Cảm biến nước (cảm biến mưa), Đèn Led RGB, Mắt thu hồng ngoại (IR Receiver) kèm điều khiển từ xa (Remote).
  • Giao diện lập trình ứng dụng (API) tích hợp: Facebook Messenger (hỗ trợ tư vấn trực tuyến), Twitter (liên kết mạng xã hội), PayPal (cổng thanh toán trực tuyến).

Thiết kế và triển khai

Hệ thống được thiết kế theo cấu trúc phân tầng kết hợp giữa nền tảng web hướng dịch vụ và phân hệ phần cứng IoT thu thập dữ liệu môi trường.

Kiến trúc phân hệ phần mềm và cơ sở dữ liệu

Hệ thống quản lý dữ liệu tập trung thông qua MySQL, được phân tích thông qua sơ đồ thực thể liên kết (ERD) và hệ thống lược đồ ca sử dụng cho ba nhóm tác nhân riêng biệt:

Phân hệ người dùng Chức năng chính
Khách hàng (Customer) Đăng ký tài khoản, đăng nhập, quên mật khẩu; duyệt danh mục đồ uống; tìm kiếm món có hỗ trợ gợi ý tự động (Autocomplete qua Ajax); xem thực đơn đề xuất theo thời tiết; thêm sản phẩm vào giỏ hàng; thanh toán (trực tiếp khi nhận hàng, PayPal, thẻ); theo dõi lịch sử mua hàng; liên hệ hỗ trợ qua Facebook Messenger / Twitter.
Nhân viên (Staff) Đăng nhập hệ thống (kích hoạt tính năng chấm công/tính giờ làm việc); đổi mật khẩu; tạo đơn hàng và thêm sản phẩm vào giỏ hàng tại quầy; xử lý thanh toán đơn hàng; quản lý danh sách và chi tiết đơn; chuyển trạng thái món ăn/đồ uống; quản lý xuất - nhập kho; theo dõi doanh thu cá nhân theo ca và theo nhiều ngày.
Quản trị viên (Admin) Đăng nhập quản trị; quản lý danh mục loại món và danh sách món (thêm, sửa, xóa); quản lý tài khoản người dùng (khách hàng, nhân viên, cấp quản lý); cập nhật thông tin và điều chỉnh mức lương cơ bản của nhân viên; quản lý kho hàng (nhập kho thủ công, nhập tự động qua tệp tin .txt, theo dõi tồn kho, lịch sử xóa hàng); thiết lập và kiểm soát chương trình khuyến mãi (khóa chỉnh sửa đối với khuyến mãi đang diễn ra hoặc đã kết thúc); thống kê doanh thu toàn quán theo khoảng thời gian; nhập/xuất dữ liệu hệ thống.

Phân hệ nhúng thời tiết (Weather Subsystem)

  • Cấu hình phần cứng: Mạch vi điều khiển ESP8266 NodeMCU tích hợp module Wi-Fi 2.4 GHz (chuẩn 802.11 b/g/n, bộ nhớ Flash 4MB, điện áp hoạt động 3.3V, cấp nguồn 5V qua cổng Micro USB, tích hợp giao thức TCP/IP, hỗ trợ bảo mật WPA/WPA2).
  • Cơ chế hoạt động:
    • Cảm biến DHT11 liên tục đo nhiệt độ, độ ẩm môi trường xung quanh; cảm biến nước phát hiện trạng thái mưa.
    • Đèn Led RGB hiển thị trạng thái cảnh báo thời tiết trực quan; mắt thu hồng ngoại cho phép khởi động/tắt hệ thống thông qua Remote hoặc nút bấm vật lý.
    • ESP8266 truyền dữ liệu môi trường đo được qua kết nối Wi-Fi về cơ sở dữ liệu MySQL của website.
    • Phân hệ xử lý phía máy chủ căn cứ vào giá trị nhiệt độ và điều kiện thời tiết (nắng/mưa) để kích hoạt thuật toán gợi ý các món nước nóng/lạnh phù hợp trên giao diện trang chủ của khách hàng.

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

Chương 1. Tổng quan về đề tài

Chương 1 trình bày tổng quan về thị trường kinh doanh đồ uống, bối cảnh thương mại điện tử và sự thay đổi trong thói quen tiêu dùng của giới trẻ. Tác giả nêu rõ định nghĩa bài toán của quán cafe Rabbit House, lý do lựa chọn đề tài, xác định các mục tiêu, nhiệm vụ, đối tượng, phương tiện và phương pháp nghiên cứu. Chương này cũng giới thiệu sơ lược về các nền tảng kỹ thuật cốt lõi được lựa chọn triển khai bao gồm ngôn ngữ lập trình PHP, hệ quản trị cơ sở dữ liệu MySQL và thông số kỹ thuật của vi điều khiển ESP8266.

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

Nội dung chương 2 tập trung phân tích các bước trong quy trình mua hàng tại cửa hàng truyền thống và quy trình mua hàng qua website. Tác giả tiến hành khảo sát website The Coffee House để chỉ ra các ưu điểm và hạn chế trong việc quản lý tài khoản khách hàng. Tiếp đó, chương trình bày chi tiết về các công nghệ ứng dụng trong đồ án: kỹ thuật xử lý bất đồng bộ Ajax phục vụ tính năng tìm kiếm tự động; các API bên thứ ba gồm Facebook Messenger, Twitter và PayPal; cấu tạo, nguyên lý làm việc của các module phần cứng trong phân hệ đo thời tiết Weather Subsystem (cảm biến DHT11, cảm biến nước, mạch thu phát hồng ngoại, đèn LED báo hiệu).

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

Chương 3 là phần trọng tâm về kỹ thuật phần mềm, mô tả chi tiết quá trình thiết kế hệ thống thông tin. Tác giả xây dựng sơ đồ cơ sở dữ liệu tổng thể, sơ đồ quan hệ thực thể (ERD), sơ đồ Use Case tổng quát và sơ đồ dòng chảy dữ liệu (DFD) cấp 0. Tiếp theo là các bảng đặc tả Use Case chi tiết, sơ đồ dòng chảy dữ liệu và sơ đồ tuần tự (Sequence Diagram) cho từng tác vụ cụ thể của cả 3 nhóm người dùng:

  • Nhóm khách hàng: Đăng nhập, quên mật khẩu, tạo tài khoản mới, thêm sản phẩm vào giỏ hàng, mua hàng và thanh toán.
  • Nhóm nhân viên: Đăng nhập (kèm quy trình chấm công), quên mật khẩu, thêm món vào giỏ, thanh toán đơn hàng, quản lý kho, chuyển trạng thái món.
  • Nhóm quản trị viên: Quản lý danh mục loại món, quản lý thực đơn, quản lý nhân sự, quản lý khách hàng, quản lý khuyến mãi, thiết kế sơ đồ mạch phần cứng và lưu đồ giải thuật cho hệ thống Weather Subsystem.

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

Chương 4 mô tả kết quả hiện thực hóa phần mềm và triển khai thực tế. Tác giả xây dựng bảng ma trận phân quyền, sơ đồ liên kết các màn hình giao diện, hiện thực hóa các giao diện chức năng tương ứng:

  • Giao diện người dùng: Trang chủ, thanh tìm kiếm thông minh, trang danh mục theo loại món, giỏ hàng, trang chi tiết thanh toán, giao diện gợi ý món theo thời tiết từ phân hệ IoT.
  • Giao diện nhân viên: Màn hình bán hàng, quản lý đơn hàng, theo dõi doanh thu cá nhân, kiểm kê xuất kho.
  • Giao diện quản trị viên: Bảng điều khiển quản trị trung tâm, bảng thiết lập khuyến mãi, quản lý hồ sơ nhân viên và mức lương cơ bản, tính năng nhập kho tự động qua file văn bản .txt, thống kê doanh thu toàn quán theo mốc thời gian.
  • Vận hành và kiểm thử phân hệ phần cứng Weather Subsystem, kiểm tra sự đồng bộ dữ liệu giữa ESP8266, cơ sở dữ liệu MySQL và giao diện web.

Kết luận và hướng phát triển

Phần kết luận tổng kết các kết quả đạt được của đồ án trong việc giải quyết bài toán quản lý và bán hàng tại quán cafe Rabbit House; đồng thời đề xuất các định hướng nghiên cứu tiếp theo để nâng cấp hệ thống.


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

Kết quả đạt được

  • Xây dựng hoàn chỉnh website bán hàng và quản lý quán cafe Rabbit House với đầy đủ các phân hệ nghiệp vụ cho khách hàng, nhân viên và quản trị viên.
  • Ứng dụng thành công kỹ thuật Ajax vào thanh tìm kiếm, giúp tự động hoàn thành từ khóa và hiển thị kết quả món nhanh chóng.
  • Tích hợp thành công cổng thanh toán trực tuyến PayPal và các kênh liên lạc mạng xã hội (Facebook Messenger, Twitter).
  • Thiết kế, lắp ráp và lập trình thành công hệ thống nhúng Weather Subsystem sử dụng NodeMCU ESP8266 kết hợp cảm biến DHT11 và cảm biến nước; hệ thống vận hành ổn định, gửi dữ liệu thời gian thực về cơ sở dữ liệu MySQL để phục vụ tính năng gợi ý thực đơn phù hợp theo thời tiết.
  • Cung cấp các công cụ quản trị nâng cao: nhập dữ liệu kho tự động thông qua tệp .txt, cơ chế chấm công tự động khi nhân viên đăng nhập, và khóa chỉnh sửa các chương trình khuyến mãi đã/đang áp dụng để bảo toàn tính toàn vẹn dữ liệu.

Đóng góp của đề tài

  • Đề xuất mô hình kết hợp giữa website thương mại điện tử truyền thống và thiết bị phần cứng IoT trong lĩnh vực kinh doanh F&B, tạo ra cơ chế cá nhân hóa trải nghiệm người dùng thông qua việc gợi ý sản phẩm theo môi trường thực tế.
  • Hệ thống hóa toàn diện các quy trình nghiệp vụ của một quán cà phê (bán hàng, kho hàng, nhân sự, tài chính, khuyến mãi) vào một nền tảng phần mềm thống nhất, hỗ trợ giảm thiểu chi phí quản lý và rút ngắn thời gian phục vụ.

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

Hạn chế

  • Hệ thống được phân tích và thiết kế dựa trên quy trình nghiệp vụ đặc thù của mô hình quán cafe Rabbit House, cần điều chỉnh khi áp dụng cho các mô hình chuỗi lớn với cấu trúc kho phân tán.
  • Phân hệ gợi ý sản phẩm dựa trên các ngưỡng nhiệt độ và thời tiết cố định, chưa áp dụng các mô hình học máy để phân tích sâu hành vi tiêu dùng của từng cá nhân khách hàng.
  • Cổng thanh toán trực tuyến mới tích hợp PayPal, chưa hỗ trợ đa dạng các ví điện tử và cổng thanh toán nội địa phổ biến.

Hướng phát triển

  • Mở rộng và nâng cấp phân hệ gợi ý món ăn, kết hợp thêm các yếu tố về lịch sử mua hàng và sở thích cá nhân của người dùng.
  • Tối ưu hóa giao diện trên các thiết bị di động (Responsive/Mobile App) nhằm nâng cao trải nghiệm mua sắm.
  • Tích hợp thêm các cổng thanh toán điện tử nội địa và mở rộng các tính năng báo cáo thống kê chuyên sâu.

Giá trị tham khảo

Tài liệu đồ án mang lại giá trị tham khảo thiết thực cho:

  • Sinh viên ngành Kỹ thuật Phần mềm, Công nghệ Thông tin, Hệ thống Thông tin: Tham khảo phương pháp phân tích thiết kế hệ thống hoàn chỉnh từ Use Case, DFD đến Sequence Diagram; tham khảo mã nguồn và cách tổ chức ứng dụng web bằng PHP/MySQL.
  • Người nghiên cứu các giải pháp ứng dụng IoT kết hợp Web: Tham khảo sơ đồ mạch, lưu đồ giải thuật và phương thức truyền nhận dữ liệu giữa vi điều khiển ESP8266 với máy chủ web và cơ sở dữ liệu MySQL.
  • Cá nhân, đơn vị khởi nghiệp trong ngành F&B: Tham khảo mô hình quy trình số hóa nghiệp vụ bán hàng, quản lý nhân viên, chấm công và kiểm soát tồn kho quán cà phê.

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

1. Phân hệ Weather Subsystem trong đồ án sử dụng các linh kiện phần cứng nào và có vai trò gì?

Phân hệ Weather Subsystem sử dụng vi điều khiển NodeMCU ESP8266 (tích hợp Wi-Fi), cảm biến nhiệt độ - độ ẩm DHT11, cảm biến phát hiện nước mưa, đèn LED RGB hiển thị trạng thái và mắt thu hồng ngoại (IR Receiver) cùng Remote điều khiển từ xa. Phân hệ này có vai trò đo đạc thông số nhiệt độ, lượng mưa của môi trường thực tế và gửi dữ liệu về cơ sở dữ liệu MySQL để website kích hoạt tính năng tự động gợi ý món uống phù hợp cho khách hàng.

2. Website phân quyền người dùng như thế nào và mỗi nhóm có quyền hạn gì?

Hệ thống phân chia thành 3 nhóm người dùng:

  • Khách hàng: Tìm kiếm món, xem gợi ý theo thời tiết, đặt hàng, thanh toán (tiền mặt/PayPal/thẻ) và theo dõi lịch sử đơn hàng.
  • Nhân viên: Đăng nhập (tích hợp chấm công theo giờ), tạo đơn tại quầy, xử lý thanh toán, chuyển trạng thái món, quản lý xuất kho và theo dõi doanh thu cá nhân.
  • Quản trị viên: Quản lý toàn bộ danh mục món, quản lý người dùng, chỉnh sửa thông tin và mức lương nhân viên, quản lý tồn kho (nhập thủ công hoặc qua file .txt), quản lý khuyến mãi và thống kê doanh thu toàn quán.

3. Hệ thống có cơ chế kiểm soát dữ liệu đặc biệt nào đối với chức năng quản lý khuyến mãi và nhập kho?

  • Khuyến mãi: Hệ thống thiết lập quy tắc ràng buộc logic không cho phép quản trị viên chỉnh sửa thông tin chương trình khuyến mãi khi chương trình đó đang trong thời gian áp dụng hoặc đã kết thúc.
  • Nhập kho: Hỗ trợ tính năng nhập kho tự động thông qua việc đọc cấu trúc dữ liệu từ tệp tin văn bản định dạng .txt, bên cạnh phương thức nhập kho thủ công thông thường.

4. Cơ chế đăng nhập của nhân viên có điểm gì khác biệt so với khách hàng?

Khi nhân viên đăng nhập thành công vào hệ thống bằng tài khoản được cấp, hệ thống sẽ tự động ghi nhận thời điểm đăng nhập để bắt đầu tính giờ làm việc và chấm công cho nhân viên đó, phục vụ việc đối soát và tính toán lương theo ca làm việc.

5. Website tích hợp những dịch vụ và API bên ngoài nào?

Website tích hợp 3 dịch vụ API bên ngoài gồm: API PayPal để hỗ trợ khách hàng thanh toán điện tử trực tuyến, API Facebook Messenger để tạo khung chat trực tiếp giữa khách hàng với quán, và liên kết mạng xã hội Twitter để cập nhật thông tin truyền thông của quán.


Kết luận

Đồ án tốt nghiệp "Xây dựng website bán hàng cho quán cafe Rabbit House" của sinh viên Nguyễn Anh Hào (ngành Kỹ thuật Phần mềm, Trường Đại học Thủ Dầu Một) đã hoàn thành đầy đủ các mục tiêu đề ra về mặt lý thuyết lẫn thực nghiệm phần mềm. Đề tài xây dựng thành công giải pháp quản trị và bán hàng đa phân quyền dựa trên nền tảng PHP/MySQL, đồng thời tích hợp sáng tạo phân hệ phần cứng NodeMCU ESP8266 đo thời tiết để đưa ra gợi ý sản phẩm thông minh. Đây là tài liệu tham khảo có giá trị học thuật và ứng dụng cao cho sinh viên chuyên ngành công nghệ thông tin trong việc nghiên cứu phân tích thiết kế hệ thống và tích hợp ứng dụng IoT vào thương mại điện tử.