← Quay lại Portfolio

pos.eapp.vn · Web App · Point of Sale

eApp POS — Point of Sale System

Phần mềm bán hàng đa cửa hàng cho F&B/bán lẻ. Đặt món qua QR code, quản lý doanh thu theo ca/ngày, phân quyền nhân viên thu ngân, in bill nhiệt.

Web AppF&B · RetailMulti-storeQR Order
Multi-store
Management
QR Code
Ordering
Offline-First
Storage

Features

Stack & Tools

Kiến trúc & Quy trình hoạt động

Hệ thống POS bán hàng phân tán (Distributed POS) hỗ trợ hoạt động ngoại tuyến (Offline-First). Thiết bị thu ngân kết nối trực tiếp với bếp qua WebSocket thời gian thực, đồng thời gửi mã điều khiển in hóa đơn dạng nhị phân ESC/POS trực tiếp đến máy in hóa đơn thông qua cổng mạng LAN/Wi-Fi.

Customer Scans QR ➔ Creates Order ➔ WebSocket Server ⬇ Kitchen Screen Update ⬅ Realtime Broadcast ⬅ POS Cashier Interface ⬇ Raw ESC/POS Bytes sent ➔ Thermal Printer

Thiết kế Cơ sở dữ liệu

Thiết kế cơ sở dữ liệu quan hệ chặt chẽ nhằm đảm bảo tính toàn vẹn của dữ liệu doanh thu, hàng tồn kho và lịch sử ca làm việc của nhân viên thu ngân:

- Branch (id, name, address, phone) - Shift (id, branch_id, cashier_id, start_time, end_time, total_revenue) - Product (id, category_id, name, barcode, price) - Inventory (branch_id, product_id, stock_quantity) - Order (id, shift_id, order_type [DineIn|TakeAway], total_amount, status) - OrderItem (id, order_id, product_id, quantity, discount_rate)

Thách thức & Giải pháp kỹ thuật

  • Thách thức: Cửa hàng bị mất kết nối Internet đột ngột trong giờ cao điểm làm thu ngân không thể ghi nhận đơn hàng và in hóa đơn thanh toán lên hệ thống Cloud.
  • Giải pháp: Thiết kế mô hình lưu trữ Offline-First lưu đơn hàng trực tiếp trên LocalStorage / IndexedDB của trình duyệt dưới dạng hàng đợi (sync queue) và tự động đồng bộ hóa lên Cloud khi có kết nối trở lại thông qua Background Sync API.

Thành quả đạt được

  • Hệ thống vận hành trơn tru tại các cơ sở bán lẻ thực tế, giúp giảm thiểu 30% thời gian chờ đợi thanh toán và gọi món tại bàn của khách hàng.
  • Đảm bảo tính toàn vẹn dữ liệu doanh thu 100% không bị sai lệch số liệu ca.