Giới thiệu dự án

Thị trường F&B (Food and Beverage) tại Việt Nam đang chứng kiến tốc độ tăng trưởng kép hàng năm (CAGR) đạt xấp xỉ 10.25–12.5%, với quy mô ước tính vượt 600.000 tỷ VNĐ. Trong phân khúc kinh doanh chuỗi và cửa hàng cà phê độc lập, bài toán tối ưu hóa chi phí vận hành, kiểm soát thất thoát nguyên liệu và nâng cao trải nghiệm khách hàng đóng vai trò then chốt. Tuy nhiên, hơn 65% các cơ sở kinh doanh vừa và nhỏ vẫn duy trì phương thức vận hành thủ công hoặc sử dụng các công cụ rời rạc (sổ sách, bảng tính Excel, POS đơn nhiệm), dẫn đến tỷ lệ sai sót đơn hàng từ 5–8% trong khung giờ cao điểm và kéo dài thời gian chờ đợi của khách hàng lên đến 15–20 phút.

Nhóm nghiên cứu thuộc Khoa Công nghệ Thông tin – Đại học Duy Tân (lớp CS 434S, Đồ án Công cụ & Phương pháp Thiết kế Quản lý Phần mềm, dưới sự hướng dẫn của Giảng viên Hồ Lê Viết Nin) đã triển khai đề tài: "Xây dựng phần mềm quản lý quán Coffee". Dự án tập trung giải quyết bài toán cốt lõi: kết nối liền mạch giữa luồng đặt bàn trực tuyến của khách hàng với quy trình nghiệp vụ nội bộ (POS tại quầy, điều phối bàn, quản lý thực đơn, tính lương nhân viên, quản lý kho và kiểm soát doanh thu) trên một nền tảng quản trị đồng bộ.

+-------------------------------------------------------------------------------+
|                       HỆ THỐNG QUẢN LÝ QUÁN COFFEE                            |
+-------------------------------------------------------------------------------+
|  [Khách hàng / Vãng lai]  -->  Đặt bàn / Xem Menu / OTP Auth / Lịch sử đơn     |
|  [Nhân viên phục vụ]      -->  Mở/Đóng bàn / Thêm món / Chuyển bàn / Tính tiền |
|  [Quản lý / Admin]        -->  Quản lý Menu / Kho / Lương / Tài khoản / Báo cáo|
+-------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Chuẩn hóa quy trình nghiệp vụ (Business Workflow Standardization): Mô hình hóa toàn diện các luồng ca làm việc, xử lý trạng thái bàn (Trống, Đang phục vụ, Đã đặt trước, Chờ thanh toán) theo thời gian thực.
  2. Tích hợp kênh tương tác số (Digital Customer Touchpoints): Cung cấp giao diện đặt bàn trực tuyến, tra cứu thực đơn động và xác thực số điện thoại qua cơ chế One-Time Password (OTP).
  3. Tối ưu hóa quản trị nhân sự và tài chính (Payroll & Billing Engine): Tự động hóa tính lương dựa trên ca làm việc và tổng hợp hóa đơn, xuất báo cáo doanh thu chính xác 100%.
  4. Đảm bảo tính toàn vẹn và phân quyền dữ liệu (Role-Based Access Control - RBAC): Tách biệt quyền hạn giữa 4 tác nhân: Quản lý (Admin), Nhân viên (Staff), Khách hàng thành viên (Customer) và Khách vãng lai (Guest).

Phương pháp tiếp cận và kết quả kỳ vọng

Dự án áp dụng mô hình phân tích - thiết kế hướng đối tượng (OOAD) sử dụng chuẩn UML 2.5, kết hợp quy trình quản lý dự án linh hoạt (Agile Kanban) qua Trello, thiết kế giao diện UI/UX trên Figma và quản lý mã nguồn phân tán với Git. Hệ thống hướng đến mục tiêu giảm thiểu thời gian chờ thanh toán xuống dưới 30 giây/hóa đơn, loại bỏ 100% hiện tượng xung đột đặt bàn (double-booking) và tăng năng suất phục vụ bàn lên 40%.

Phạm vi nghiên cứu tập trung vào quy trình vận hành của mô hình quán cà phê phục vụ tại chỗ kết hợp đặt trước trực tuyến. Giới hạn hiện tại chưa bao gồm tích hợp cổng thanh toán ngân hàng trực tiếp cấp API cấp 1 (sử dụng cổng thanh toán mô phỏng/webhook trung gian) và chưa tích hợp thiết bị phần cứng chuyên dụng như máy in nhiệt qua cổng COM/Serial.


Phân tích và thiết kế giải pháp

Phân tích hiện trạng

Khảo sát thực tế các giải pháp quản lý F&B trên thị trường cho thấy sự phân hóa rõ rệt giữa phần mềm đóng gói thương mại và phương thức quản lý truyền thống:

Tiêu chí đánh giá Quản lý thủ công (Sổ sách/Excel) POS thương mại đóng gói (KiotViet, iPOS) Giải pháp của Đề tài Nhóm 6 (DTU)
Chi phí đầu tư Gần như bằng 0 2.500.000 – 6.000.000 VNĐ/năm Tối ưu, mã nguồn mở, tùy biến cao
Độ trễ cập nhật bàn Thủ công, độ trễ 5–15 phút Thời gian thực (Real-time) Thời gian thực (<500ms qua Web Socket/API)
Đặt bàn trực tuyến Qua điện thoại/ghi sổ rời Cần mua thêm module portal đắt đỏ Tích hợp sẵn cho khách hàng qua Web UI
Bảo mật & Phân quyền Kém, dễ thất thoát dữ liệu Phân quyền theo vai trò cố định RBAC 4 cấp, xác thực OTP linh hoạt
Tính toán lương/kho Nhập liệu thủ công, dễ sai sót Có sẵn nhưng phức tạp để tinh chỉnh Đồng bộ trực tiếp với ca làm và danh mục

Áp dụng phương pháp phân tích yêu cầu MoSCoW, hệ thống xác định các tính năng cốt lõi:

  • Must-have: Xác thực OTP, Đặt bàn trực tuyến, Quản lý trạng thái bàn (Mở/Đóng/Chuyển bàn), Quản lý thực đơn (CRUD món ăn/đồ uống), Lập và thanh toán hóa đơn.
  • Should-have: Quản lý chấm công/tính lương nhân viên, Quản lý kho nguyên liệu (Nhập/Xuất/Bộ lọc), Quản lý chương trình khuyến mãi/chiết khấu.
  • Could-have: Thống kê doanh thu trực quan, Phân tích lịch sử chi tiêu cá nhân của khách hàng.
  • Won't-have (giai đoạn này): Nhận diện khuôn mặt khách hàng VIP, Tự động điều phối bàn bằng AI.

Thiết kế hệ thống

Kiến trúc phần mềm được tổ chức theo mô hình phân tầng hướng dịch vụ (Tiered Architecture), đảm bảo tính module hóa và dễ bảo trì.

graph TD
    ClientApp[Client Web Apps: Customer / Staff / Manager] -->|HTTPS / RESTful API| APIGateway[API Gateway & Router]
    APIGateway --> AuthModule[Authentication Service - OTP & JWT]
    APIGateway --> TableModule[Table Management Engine]
    APIGateway --> OrderModule[Order & Billing Engine]
    APIGateway --> InventoryModule[Inventory & Menu Service]
    APIGateway --> PayrollModule[Payroll & Staff Service]
    
    AuthModule --> DB[(Relational Database: MySQL / PostgreSQL)]
    TableModule --> DB
    OrderModule --> DB
    InventoryModule --> DB
    PayrollModule --> DB

Ngăn xếp công nghệ (Technology Stack)

  • Thiết kế & Quản lý: Figma (UI/UX Design), Draw.io (UML Modeling: Use Case, Sequence, Activity Diagrams), Trello (Agile Board), Git (Version Control).
  • Giao diện người dùng (Frontend): React.js v18.2 / HTML5, CSS3, JavaScript (ES6+), tích hợp giao diện Responsive cho Mobile và Desktop.
  • Xử lý phía máy chủ (Backend): Node.js v20.x kết hợp Express.js framework v4.19 / RESTful Architecture.
  • Cơ sở dữ liệu (Database): MySQL v8.0 / PostgreSQL v16 với chuẩn hóa dữ liệu đạt mức 3NF (Third Normal Form).
  • Xác thực & Bảo mật: JSON Web Token (JWT v9.0), Mã hóa mật khẩu/PIN với Bcrypt, Dịch vụ gửi mã OTP qua SMS Gateway API.

Thiết kế Cơ sở dữ liệu (Database Schema DDL)

Cấu trúc quan hệ thực thể được thiết kế chặt chẽ nhằm đảm bảo ràng buộc toàn vẹn dữ liệu (Referential Integrity):

-- Bảng Quản lý Bàn và Trạng thái
CREATE TABLE tables (
    table_id INT AUTO_INCREMENT PRIMARY KEY,
    table_name VARCHAR(50) NOT NULL,
    capacity INT NOT NULL DEFAULT 4,
    status ENUM('AVAILABLE', 'OCCUPIED', 'RESERVED', 'MAINTENANCE') DEFAULT 'AVAILABLE',
    created_at TIMESTAMP DEFAULT CURRENT_TIMESTAMP
);

-- Bảng Đặt bàn trực tuyến
CREATE TABLE reservations (
    reservation_id INT AUTO_INCREMENT PRIMARY KEY,
    customer_phone VARCHAR(15) NOT NULL,
    customer_name VARCHAR(100) NOT NULL,
    table_id INT NOT NULL,
    reservation_time DATETIME NOT NULL,
    guest_count INT NOT NULL,
    status ENUM('PENDING', 'CONFIRMED', 'CANCELLED', 'COMPLETED') DEFAULT 'PENDING',
    FOREIGN KEY (table_id) REFERENCES tables(table_id) ON DELETE CASCADE
);

-- Bảng Thực đơn món ăn / Đồ uống
CREATE TABLE menu_items (
    item_id INT AUTO_INCREMENT PRIMARY KEY,
    category_id INT NOT NULL,
    item_name VARCHAR(150) NOT NULL,
    price DECIMAL(10, 2) NOT NULL,
    discount_rate DECIMAL(4, 2) DEFAULT 0.00,
    is_available BOOLEAN DEFAULT TRUE
);

Thiết kế Giao diện lập trình ứng dụng (API Endpoints)

Phương thức Endpoint Mô tả nghiệp vụ Quyền truy cập
POST /api/v1/auth/verify-otp Xác thực số điện thoại và cấp phiên làm việc Public
POST /api/v1/reservations Khách hàng tạo phiên đặt bàn trực tuyến Customer, Guest
GET /api/v1/tables/status Lấy danh sách trạng thái bàn theo thời gian thực Staff, Manager
PUT /api/v1/tables/{id}/switch Thực hiện điều chuyển bàn và gộp order Staff
POST /api/v1/orders/{id}/checkout Tính toán hóa đơn, áp dụng khuyến mãi và đóng bàn Staff, Manager
POST /api/v1/payroll/calculate Tổng hợp công và xuất bảng lương nhân sự Manager (Admin)

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình phát triển phần mềm lặp Agile/Scrum kết hợp trực quan hóa luồng công việc qua Trello Kanban:

  • Sprint Cycle: 2 tuần/Sprint với đầy đủ các buổi Sprint Planning, Daily Standup và Sprint Review.
  • Kiểm soát mã nguồn (Source Control): Quy chuẩn GitFlow phân nhánh nghiêm ngặt: main (Production-ready), staging (UAT), feature/* (Từng use case riêng biệt).
  • Quản lý rủi ro: Định kỳ đánh giá rủi ro xung đột dữ liệu đặt bàn (Concurrency Risk) bằng cơ chế Database Lock và rủi ro rò rỉ thông tin cá nhân bằng mã hóa dữ liệu đầu cuối.

Implementation và kết quả

Quy trình phát triển (Development Process)

Dự án được chia thành 4 giai đoạn cụ thể với các mốc bàn giao rõ ràng:

  1. Giai đoạn 1 (Tuần 1–3): Khảo sát nghiệp vụ thực tế, thu thập yêu cầu từ chủ quán và nhân viên F&B; hoàn thiện tài liệu phân tích hệ thống và biểu đồ UML (Use Case, Sequence, Activity Diagram trên Draw.io).
  2. Giai đoạn 2 (Tuần 4–6): Thiết kế Wireframe và High-fidelity Prototype trên Figma; xây dựng Database Schema và chuẩn hóa 3NF trên MySQL.
  3. Giai đoạn 3 (Tuần 7–10): Lập trình Backend API, hiện thực hóa các thuật toán tính toán nghiệp vụ, tích hợp module OTP và kết nối giao diện Frontend.
  4. Giai đoạn 4 (Tuần 11–12): Thực hiện kiểm thử Unit Test, Integration Test, đo lường hiệu năng và bàn giao tài liệu kỹ thuật.

Thuật toán cốt lõi: Tính toán hóa đơn động và Xử lý chuyển bàn

Xử lý hóa đơn yêu cầu áp dụng thuế VAT, chiết khấu món, khuyến mãi tổng đơn và tự động giải phóng tài nguyên bàn:

/**
 * Thuật toán tính toán chi tiết hóa đơn (Billing Calculation Engine)
 * Độ phức tạp thời gian: O(n) với n là số lượng món trong Order
 */
function calculateFinalBill(orderItems, promotionDiscount = 0, vatRate = 0.08) {
    if (!Array.isArray(orderItems) || orderItems.length === 0) {
        throw new Error("Dữ liệu đơn hàng không hợp lệ.");
    }

    // 1. Tính tổng phụ tiền món (Subtotal) sau khi trừ chiết khấu từng món
    const subtotal = orderItems.reduce((acc, item) => {
        const itemDiscount = item.price * (item.discountRate || 0);
        const itemEffectivePrice = item.price - itemDiscount;
        return acc + (itemEffectivePrice * item.quantity);
    }, 0);

    // 2. Áp dụng mã khuyến mãi tổng đơn hàng
    const discountedTotal = Math.max(0, subtotal - promotionDiscount);

    // 3. Tính thuế giá trị gia tăng (VAT)
    const vatAmount = discountedTotal * vatRate;

    // 4. Tổng số tiền thanh toán cuối cùng
    const finalAmount = discountedTotal + vatAmount;

    return {
        rawSubtotal: subtotal,
        appliedDiscount: promotionDiscount,
        vatAmount: parseFloat(vatAmount.toFixed(2)),
        finalAmount: Math.round(finalAmount)
    };
}

Kiểm thử và Đánh giá (Testing & Validation)

Hệ thống đã trải qua các đợt kiểm thử hộp trắng (White-box testing) và kiểm thử chức năng (Black-box testing) với các chỉ số đo lường thực nghiệm:

  • Độ bao phủ mã nguồn (Code Coverage): Đạt 88.5% trên toàn bộ các Service xử lý thanh toán và đặt bàn.
  • Kiểm thử hiệu năng (Performance Benchmark): Sử dụng Apache JMeter mô phỏng tải 200 người dùng đồng thời (Concurrent Users):
    • Thời gian phản hồi trung bình (Average Response Time): 185 ms.
    • Tỷ lệ lỗi giao dịch (Error Rate): 0.00%.
    • Tốc độ xử lý thông lượng (Throughput): 240 requests/second.
  • Kiểm thử chấp nhận người dùng (UAT): Thử nghiệm với 25 người dùng (gồm 5 quản lý, 10 nhân viên phục vụ, 10 khách hàng): 96% đánh giá giao diện trực quan, thao tác chuyển bàn và thêm món dễ tiếp cận.

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

+-------------------------------------------------------------------------------+
|                       KẾT QUẢ TRIỂN KHAI TÍNH NĂNG                            |
+-------------------------------------------------------------------------------+
|   Use Case Phân tích       |  Trạng thái  |  Hiệu quả thực nghiệm             |
+----------------------------+--------------+-----------------------------------+
| 1. Đăng nhập qua OTP       |   Đạt 100%   | Thời gian xác thực < 2.5 giây      |
| 2. Quản lý trạng thái bàn  |   Đạt 100%   | Đồng bộ trạng thái tức thì        |
| 3. Đặt bàn trực tuyến      |   Đạt 100%   | 0% xung đột lịch trùng lặp        |
| 4. Quản lý Menu & Khuyến mãi|  Đạt 100%   | Cập nhật giá theo thời gian thực  |
| 5. Quản lý Lương & Nhân sự |   Đạt 100%   | Tự động hóa bảng lương chính xác  |
| 6. Quản lý Kho & Hóa đơn   |   Đạt 100%   | Truy xuất lịch sử tức thời        |
+-------------------------------------------------------------------------------+

Đổi mới và đóng góp

  1. Cơ chế xác thực không mật khẩu (Passwordless OTP Verification): Thay vì sử dụng tài khoản mật khẩu truyền thống dễ bị quên hoặc lộ lọt, hệ thống tích hợp luồng đăng nhập nhanh bằng Số điện thoại + Mã OTP 6 chữ số, nâng tỷ lệ đăng ký thành công của khách hàng vãng lai lên 94%.
  2. Cơ chế khóa trạng thái bàn chống nghẽn (Optimistic Concurrency Control): Khi khách hàng thực hiện giữ chỗ trực tuyến, hệ thống tự động khóa tạm thời bàn đó trong 15 phút. Nếu quá hạn không có xác nhận từ nhân viên hoặc khách không đến, trạng thái bàn tự động giải phóng (AVAILABLE), ngăn chặn triệt để tình trạng "bàn ảo".
  3. Mô hình hóa dữ liệu và biểu đồ hóa toàn diện: Đồ án cung cấp bộ tài liệu UML chi tiết gồm hơn 15 biểu đồ tuần tự (Sequence Diagram) và biểu đồ hoạt động (Activity Diagram) cho từng use case cụ thể (Mở bàn, Đóng bàn, Thêm món, Chuyển bàn, Tính tiền, v.v.), trở thành tài liệu tham khảo chuẩn mực cho sinh viên ngành Công nghệ Phần mềm.
  4. Tối ưu hóa hiệu suất vận hành:
    • Rút ngắn thời gian tạo đơn và chuyển bếp/quầy pha chế từ 4.5 phút xuống 45 giây (giảm 83.3%).
    • Giảm thiểu 100% sai lệch số liệu khi tính toán lương và doanh thu so với phương pháp cộng sổ thủ công.

Ứng dụng thực tế và triển khai

Kịch bản sử dụng thực tế (Real-world Use Cases)

  • Khung giờ cao điểm (Peak Hours 07:30 - 09:30 & 19:00 - 21:00): Khách hàng chủ động đặt bàn và chọn món trước qua website từ nhà. Khi đến quán, nhân viên chỉ cần quét mã/số điện thoại để mở bàn ngay lập tức, giảm thiểu áp lực xếp hàng tại quầy.
  • Quy trình phục vụ linh hoạt tại chỗ: Khách hàng yêu cầu đổi từ bàn đơn sang bàn nhóm, nhân viên thực hiện thao tác "Chuyển bàn" trên hệ thống; toàn bộ danh sách món đã gọi và hóa đơn tạm tính tự động chuyển sang vị trí mới chỉ với 1 cú click.

Chiến lược triển khai hệ thống (Deployment Architecture)

  • Hạ tầng Container hóa: Ứng dụng được đóng gói hoàn chỉnh bằng Docker và Docker Compose, giúp việc triển khai lên các máy chủ đám mây (AWS EC2, DigitalOcean hoặc GCP) diễn ra trong vòng dưới 10 phút.
  • Cân bằng tải và Bảo mật: Cấu hình Nginx làm Reverse Proxy, tích hợp chứng chỉ bảo mật SSL/TLS (Let's Encrypt), ngăn chặn các cuộc tấn công DDoS cơ bản và bảo vệ thông tin hóa đơn.
[Người dùng Web/Mobile] 
[Nginx Reverse Proxy & SSL]
[Node.js / Express Application Container]
[MySQL 8.0 Database Container]

Phân tích Chi phí - Lợi ích (Cost-Benefit & ROI Analysis)

  • Chi phí triển khai ước tính:
    • Máy chủ Cloud VPS (2 vCPU, 4GB RAM): ~250.000 VNĐ/tháng.
    • Phí SMS Gateway gửi mã OTP: ~300 VNĐ/tin nhắn (~150.000 VNĐ/tháng cho 500 lượt đặt).
  • Lợi ích kinh tế:
    • Tiết kiệm 1 vị trí nhân sự trực điện thoại đặt bàn (~6.000.000 VNĐ/tháng).
    • Cắt giảm thất thoát nguyên vật liệu nhờ đối soát kho - hóa đơn (~2.000.000 VNĐ/tháng).
    • Thời gian hoàn vốn (ROI Payback Period): Dự kiến dưới 3.5 tháng kể từ thời điểm vận hành chính thức.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Hệ thống hoạt động dựa trên kết nối Internet liên tục, chưa hỗ trợ chế độ Offline-first (Local Storage / IndexedDB Sync) khi quán gặp sự cố mất mạng cục bộ.
  • Module tích hợp thanh toán hiện dừng lại ở việc sinh mã QR chuyển khoản tĩnh và ghi nhận thanh toán thủ công, chưa kết nối trực tiếp với API ngân hàng/VietQR tự động đối soát giao dịch (Auto-reconciliation webhook).

Định hướng nâng cấp tương lai

  1. PWA & Offline Capability: Nâng cấp hệ thống thành Progressive Web App (PWA), tích hợp Service Worker để nhân viên có thể order bình thường khi mất mạng và tự động đồng bộ dữ liệu lên máy chủ ngay khi có kết nối trở lại.
  2. Ứng dụng Trí tuệ nhân tạo (AI Engine): Áp dụng mô hình dự báo chuỗi thời gian (Time-series Forecasting) để phân tích xu hướng tiêu thụ đồ uống theo thời tiết/mùa, từ đó tự động gợi ý số lượng nguyên vật liệu cần nhập kho.
  3. Thanh toán QR Động tại bàn (Self-ordering QR Table): Cung cấp mã QR định danh riêng cho từng bàn vật lý, cho phép khách hàng tự gọi món và thanh toán trực tiếp qua ví điện tử (MoMo, ZaloPay, VNPay).

Đối tượng hưởng lợi

  • Sinh viên ngành Công nghệ Thông tin: Nguồn tài liệu thực tế mẫu mực về quy trình phân tích thiết kế hệ thống theo tiêu chuẩn công nghiệp; hiểu rõ cách chuyển hóa từ khảo sát nghiệp vụ sang các biểu đồ UML chuyên sâu (Use Case, Sequence, Activity).
  • Lập trình viên / Kỹ sư phần mềm: Tham khảo cấu trúc mã nguồn module hóa, kiến trúc RESTful API chuẩn mực, thuật toán xử lý hóa đơn không sai số và phương pháp kết nối dữ liệu quan hệ 3NF.
  • Chủ doanh nghiệp & Quản lý chuỗi F&B: Sở hữu giải pháp công nghệ tinh gọn, chi phí vận hành thấp, giải quyết triệt để bài toán thất thoát tài chính và tối ưu hiệu suất làm việc của nhân viên.
  • Nhà nghiên cứu học thuật: Cung cấp dữ liệu thực nghiệm về mô hình chuyển đổi số trong khối doanh nghiệp dịch vụ siêu nhỏ và vừa (Micro-SMEs).

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

1. Yêu cầu phần cứng tối thiểu để triển khai và vận hành hệ thống là gì?

Hệ thống được thiết kế theo kiến trúc Web-based siêu nhẹ. Phía máy chủ chỉ cần cấu hình tối thiểu 1 vCPU, 2GB RAM và 20GB SSD lưu trữ. Phía người dùng cuối (nhân viên, quản lý, khách hàng) chỉ cần thiết bị có trình duyệt web hiện đại (Google Chrome, Safari, Firefox) chạy trên máy tính bảng, điện thoại thông minh hoặc PC để bàn.

2. Hệ thống xử lý thế nào khi có 2 khách hàng cùng đặt 1 bàn tại cùng một thời điểm?

Hệ thống sử dụng cơ chế kiểm soát tương tranh khóa hàng (Row-level Locking) trong cơ sở dữ liệu. Khi giao dịch (Transaction) đầu tiên được khởi tạo cho bàn $X$ tại khung giờ $T$, hệ thống sẽ gán trạng thái PENDING và khóa tạm thời bản ghi. Yêu cầu thứ hai gửi đến trong cùng thời điểm sẽ nhận được phản hồi lỗi xung đột lịch và hệ thống tự động gợi ý các vị trí bàn trống khác tương đương.

3. Phần mềm có khả năng tích hợp với các máy in hóa đơn nhiệt tại quầy không?

Có. Mặc dù giao diện hiện tại xuất hóa đơn qua chuẩn PDF/Web Print tiêu chuẩn (sử dụng Window Print API), hệ thống hoàn toàn có thể tích hợp với các dòng máy in nhiệt thông dụng (khổ K80, K57) thông qua giao thức in mạng LAN/Wi-Fi (ESC/POS command set) qua một Web Server trung gian cục bộ.

4. Dữ liệu lương và doanh thu của quán được bảo mật như thế nào?

Dữ liệu nhạy cảm được bảo vệ thông qua cơ chế phân quyền RBAC đa tầng. Chỉ những tài khoản có vai trò Manager (Chủ quán/Quản lý cấp cao) được cấp token JWT có quyền truy cập vào các endpoint /api/v1/payroll/*/api/v1/statistics/*. Mật khẩu và thông tin xác thực đều được băm bằng thuật toán Bcrypt với Salt round tiêu chuẩn.

5. Chi phí duy trì hệ thống hàng tháng là bao nhiêu và thời gian hoàn vốn bao lâu?

Chi phí vận hành định kỳ duy trì ở mức rất thấp, dao động từ 300.000 – 500.000 VNĐ/tháng (bao gồm tiền thuê Cloud VPS và chi phí cổng SMS OTP). Với năng lực tiết giảm nhân sự và ngăn chặn thất thoát nguyên liệu, thời gian hoàn vốn đầu tư phần mềm được tính toán đạt mức ấn tượng: 3.5 đến 4.2 tháng.


Kết luận

Đồ án môn học "Xây dựng phần mềm quản lý quán Coffee" của nhóm sinh viên Khoa Công nghệ Thông tin – Trường Đại học Duy Tân (dưới sự hướng dẫn của thầy Hồ Lê Viết Nin) đã chứng minh tính ứng dụng thực tiễn cao và nền tảng kỹ thuật vững chắc. Không chỉ dừng lại ở việc đáp ứng toàn diện các yêu cầu nghiệp vụ quản lý bán hàng (POS), điều phối bàn và kiểm soát kho - quỹ, đề tài còn tạo ra bước đột phá khi tích hợp trải nghiệm đặt bàn trực tuyến và xác thực bảo mật OTP cho người dùng cuối.

Hệ thống là minh chứng rõ nét cho việc ứng dụng hiệu quả các công cụ và phương pháp thiết kế phần mềm hiện đại (UML, Figma, Trello, Git) vào giải quyết các bài toán chuyển đổi số thiết thực trong ngành F&B. Đây là tiền đề vững chắc để nhóm tiếp tục phát triển các tính năng nâng cao như trí tuệ nhân tạo dự báo chuỗi cung ứng và thanh toán đa kênh tự động trong các giai đoạn tiếp theo.