Tổng quan hệ thống
Doanh nghiệp sản xuất F&B tại TP.HCM xử lý 100+ đơn hàng/ngày qua đa kênh: bán lẻ, sỉ, và siêu thị. Thách thức ban đầu: nhập liệu thủ công, rủi ro sai sót, và thiếu kênh dự phòng khi hệ thống tự động gặp sự cố.
Giải pháp: Kiến trúc 3 lớp tách biệt rõ ràng:
- Lớp dữ liệu: LarkBase làm lõi quan hệ (single source of truth)
- Lớp tự động hóa: Workflow n8n xử lý đơn qua tin nhắn
- Lớp giao diện: Astro Admin làm kênh dự phòng + mở rộng module
Lớp 1: Giao diện & Đầu vào
Lớp 2: Tự động hóa
Lớp 3: Lõi dữ liệu
Lớp dữ liệu: LarkBase làm lõi quan hệ
Hệ thống được xây dựng từ con số 0 với 15+ table liên kết chặt chẽ, bao gồm: sản phẩm, khách hàng, khuyến mãi, phân tuyến, đơn hàng (master), chi tiết đơn hàng, kho, sản xuất, và báo cáo.
Nguyên tắc thiết kế schema
- Normalization mức 3: Tránh duplicate data, đảm bảo tính toàn vẹn
- Foreign keys rõ ràng: Mỗi quan hệ được định nghĩa explicit, dễ trace
- Index chiến lược: Tối ưu query cho dashboard real-time
Lớp tự động hóa: Workflow n8n 29 node
Workflow này xử lý luồng: Tin nhắn Lark Messenger → Validate → Ghi DB → Reply confirmation.
Cơ chế hoạt động (không dùng AI parsing)
- User gửi tin nhắn theo format chuẩn:
ORDER|CUST_ID|PROD_CODE|QTY - n8n webhook nhận payload, validate qua Function node
- Viết vào 2 table:
orders(master) +order_details(child) - Gửi confirmation message kèm mã đơn hàng về chat
Điểm khác biệt kỹ thuật
- Zero AI dependency: Dựa trên rule-based validation, không dùng LLM parsing → deterministic, dễ debug
- Error handling rõ ràng: Mỗi node có retry logic + fallback notification
- Logging tập trung: Mọi bước được ghi lại để trace khi cần
Lớp giao diện: Astro Admin (kênh dự phòng)
Khi n8n/VPS gặp sự cố, Astro Admin đóng vai trò failover channel để đảm bảo nghiệp vụ không gián đoạn.
Tính năng Phase 1 (đã triển khai)
- Auth system: 5 users (1 admin + 4 staff), role-based access
- Form lên đơn: Giao diện đơn giản, validate client-side + server-side
- Direct sync: Ghi trực tiếp vào LarkBase, không qua middleware
Roadmap Phase 2+
- Module quản lý sản xuất: Theo dõi tiến độ, nguyên liệu tồn
- Dashboard so sánh xuất nhập: Real-time visualization
- Reporting engine: Export PDF/Excel, scheduled delivery
Bài học: Thiết kế kênh dự phòng
Tại sao có 3 đường lên đơn?
| Path | Cơ chế | Ưu điểm | Nhược điểm | Use case |
|---|---|---|---|---|
| Native LarkBase Form | Nhập thủ công: orders → order_details | Có sẵn, không setup | Tốn thời gian, dễ sai | Sửa lỗi dữ liệu |
| n8n + Lark Messenger | 1 tin nhắn = auto tạo 2 tables | Nhanh, UX tự nhiên | Phụ thuộc VPS/n8n | Daily operations |
| Astro Admin Form | Form web → direct write LarkBase | Static hosting, ít lỗi | Chậm hơn chat | Failover khi n8n down |
Native LarkBase form yêu cầu nhập thủ công nhiều bước:
1. Vào table
orders → tạo record mới → copy mã đơn2. Vào table
order_details → tạo record cho sản phẩm 1 + paste mã đơn3. Lặp lại bước 2 cho sản phẩm 2, 3...
Workflow n8n gộp toàn bộ thành 1 tin nhắn → auto tạo master + N child records → giảm 90% thao tác thủ công.
Kết luận & Hướng mở rộng
Key takeaways
- Tách layer rõ ràng giúp hệ thống dễ bảo trì và mở rộng
- Failover design là bắt buộc cho nghiệp vụ critical
- No-code + code hybrid (n8n + Astro) cân bằng giữa tốc độ và flexibility
Roadmap tiếp theo
- Module reporting: Export PDF, scheduled email
- Alerting system: Telegram/Zalo notification cho threshold breach
- Payment gateway integration: Sync với đơn hàng đã giao