2021 – 2023, Tiên Phong CDS cho Nutifood
- Vai trò
- Lập trình viên backend, kỹ sư DevOps
- Quy mô team
- 10 người, 20 man-month
- Người dùng
- Hơn 300
- Website
- nutifoodshop.com
Mục tiêu doanh nghiệp
Sàn bán hàng phục vụ cùng lúc ba nhóm khách: nhà phân phối, cửa hàng và người tiêu dùng.
Website và app Flutter bán hàng của Nutifood, phục vụ nhà phân phối, cửa hàng và người tiêu dùng. Khách hàng, sản phẩm và giỏ hàng đồng bộ với cổng Ngôi Nhà Dinh Dưỡng; đơn hàng chuyển sang DMS; sản phẩm đồng bộ lên CDP.
Phân hệ chính
- Luồng giá và đặt hàng riêng cho 3 nhóm khách
- Kênh affiliate qua Accesstrade
- Đồng bộ với cổng Ngôi Nhà Dinh Dưỡng
- Đơn hàng chuyển sang DMS
- Đồng bộ sản phẩm lên CDP
Phần tôi làm
Một sàn phục vụ cùng lúc nhà phân phối, cửa hàng và người tiêu dùng của Nutifood, thêm kênh affiliate mang về doanh số ngoài kênh trực tiếp.
- Xây dựng logic phía máy chủ và xử lý nghiệp vụ bán hàng
- Phân tích yêu cầu kỹ thuật và triển khai tích hợp bên thứ ba
- Vận hành hạ tầng đám mây, theo dõi và phân tích lưu lượng truy cập
- Đề xuất hướng tối ưu hiệu năng trang và chi phí đám mây cho khách
Kết quả
- Hơn 300người dùng thuộc ba nhóm khách
- 3luồng giá và đặt hàng, mỗi nhóm một luồng
- AffiliateAccesstrade thêm một nguồn doanh số ngoài kênh trực tiếp
Vấn đề gặp phải
Ba nhóm khách có nghiệp vụ giá và đặt hàng khác hẳn nhau nhưng dùng chung một nền tảng, doanh số cần thêm nguồn ngoài kênh bán trực tiếp, và đơn hàng, sản phẩm phải chảy sang DMS và CDP của khách.
Cách đã giải quyết
- Tách luồng giá và đặt hàng cho ba nhóm khách trên cùng một nền tảng.
- Đưa hệ thống lên GKE, backend tự co giãn tới 90 pod theo tải.
- Tích hợp Accesstrade làm kênh affiliate riêng, có theo dõi quy đổi.
- Chuyển đơn hàng sang DMS và đồng bộ sản phẩm lên CDP bằng CronJob.
Quy trình quản lý dự án
- 1Phân tích yêu cầuBa nhóm khách, ba luồng giá
- 2Phát triểnWeb, app Flutter, quản trị
- 3Tích hợpAccesstrade 01/2022, DMS, CDP
- 4UATKịch bản riêng cho từng tích hợp
- 5Vận hành trên GKETự co giãn tới 90 pod
- UAT và kịch bản kiểm thử riêng cho từng tích hợp (DMS, cổng dinh dưỡng).
- Backend chạy trên GKE, tự co giãn tới 90 pod, cùng các CronJob đồng bộ mỗi 5 phút và mỗi giờ.
- Tôi nằm trong nhóm backend 4 người và nhóm DevOps 2 người.
- Tích hợp affiliate Accesstrade phát hành tháng 01/2022.
Kiến trúc hệ thống
- Người dùng
- Web store (NuxtJS)
- Flutter app
- Admin (Angular)
- Dịch vụ
- Lumen backend, HPA up to 90 pods
- Ordering web
- CronJobs: 5 min, hourly
- Dữ liệu
- MySQL master + replica
- Tích hợp
- Ngôi Nhà Dinh Dưỡng
- DMS
- CDP
- Accesstrade
- Hạ tầng và DevOps
- Google Cloud GKE
- Docker
- Nginx
- Supervisord
Tech stack
- Ứng dụng
- NuxtJS
- Angular
- Flutter
- PHP Lumen
- Dữ liệu
- MySQL (master và replica)
- Hạ tầng
- Google Cloud GKE
- HPA
- Nginx
- Docker
- Supervisord
- Tích hợp
- Accesstrade
- DMS
- CDP