Câu hỏi tôi nhận nhiều nhất từ chủ cửa hàng: "HASU POS có cần internet không?" Câu trả lời là: cần để đồng bộ, không cần để bán hàng. Đây là sự khác biệt cốt lõi của kiến trúc offline-first.
Online-dependent vs Offline-first — hai triết lý khác nhau
POS online-dependent gửi mọi thao tác lên server rồi chờ phản hồi trước khi tiếp tục. Mất mạng 3 giây → POS đứng 3 giây. POS offline-first lưu mọi thao tác cục bộ trước, đồng bộ lên server sau khi có kết nối. Người dùng không bao giờ thấy "đang kết nối...".
HASU dùng IndexedDB + sync queue
Mọi giao dịch HASU POS ghi vào IndexedDB (cơ sở dữ liệu cục bộ trong trình duyệt) trước tiên. Một background sync worker theo dõi kết nối và đẩy dữ liệu lên Supabase theo batch khi mạng khả dụng. Conflict resolution theo "last-write-wins với timestamp server" — đảm bảo tồn kho luôn nhất quán sau đồng bộ.
Những tình huống offline-first cứu cửa hàng
- Mạng ISP bị đứt giờ trưa cao điểm — vẫn bán hàng bình thường
- Sự kiện ngoài trời, khu vực không có wifi — POS chạy trên 4G yếu
- Router cửa hàng khởi động lại — không có downtime
- Cắt điện cục bộ, dùng UPS cho máy tính bảng — vẫn thu ngân được
Offline-first không có nghĩa là không cần internet. Có nghĩa là internet tốt thì đồng bộ nhanh hơn — nhưng internet kém hoặc không có cũng không ngừng hoạt động.

Đồng sáng lập HASU TECH, xây dựng sản phẩm POS đa-tenant cho SME Việt Nam. Chia sẻ góc nhìn thực chiến từ vận hành hàng ngày.
Thấy bài này hữu ích?
Đăng ký nhận 1–2 bài insight/tuần từ đội ngũ HASU — không spam, hủy bất kỳ lúc nào.
Đọc thêm bài viết