Giới thiệu dự án
Thị trường thương mại điện tử ngành F&B (Food & Beverage) tại Việt Nam ghi nhận mức tăng trưởng vượt bậc với hơn 28% mỗi năm sau giai đoạn đại dịch Covid-19, từng bước thay đổi thói quen tiêu dùng từ trực tiếp sang trực tuyến. Tuy nhiên, phần lớn các giải pháp hiện nay hoặc phụ thuộc vào các siêu ứng dụng giao đồ ăn với mức chiết khấu cao (từ 20% - 30% trên mỗi đơn hàng), hoặc sử dụng các nền tảng thương mại điện tử tổng hợp thiếu vắng các tính năng tương tác xã hội chuyên biệt cho ẩm thực bản địa.
Đồ án tốt nghiệp "Xây dựng Website bán đồ ăn Việt" của sinh viên Nguyễn Mạnh Cường (Chuyên ngành Công nghệ Phần mềm, Khoa CNTT 1 - Học viện Công nghệ Bưu chính Viễn thông) dưới sự hướng dẫn của ThS. Nguyễn Đình Hiến giải quyết bài toán cốt lõi: Thiết lập một nền tảng thương mại điện tử chuyên biệt cho ẩm thực Việt Nam, tích hợp tính năng mạng xã hội (Social Commerce) giúp kết nối bạn bè, tặng mã giảm giá trực tiếp và giao tiếp theo thời gian thực (Real-time Chat).
+-------------------------------------------------------------------------+
| MỤC TIÊU DỰ ÁN |
+-------------------------------------------------------------------------+
| 1. Xây dựng hệ thống Web Fullstack hoàn chỉnh trên nền tảng Node.js. |
| 2. Chuẩn hóa quy trình đặt hàng, tích hợp cổng thanh toán quốc tế PayPal.|
| 3. Phát triển module Social E-commerce: Kết bạn, tặng Voucher & Chat. |
| 4. Xây dựng hệ quản trị Admin: Quản lý Menu, Đơn hàng, Thống kê Doanh thu.|
+-------------------------------------------------------------------------+
Giải pháp sử dụng kiến trúc phân tầng kết hợp giữa máy chủ hướng sự kiện bất đồng bộ (Node.js/Express.js), cơ sở dữ liệu quan hệ bảo đảm tính toàn vẹn giao dịch (MySQL) và cơ sở dữ liệu thời gian thực trên đám mây (Firebase Realtime Database). Hệ thống hướng tới việc giảm độ trễ phản hồi API xuống dưới 200ms, tỷ lệ hoàn tất đơn hàng đạt trên 98% và cung cấp trải nghiệm mua sắm gắn liền với tính tương tác cộng đồng.
Phân tích và thiết kế giải pháp
Phân tích hiện trạng
Khảo sát hệ sinh thái ứng dụng F&B tại thị trường Việt Nam cho thấy sự phân hóa rõ rệt giữa các giải pháp hiện hữu:
| Tiêu chí so sánh |
Ứng dụng trung gian (GrabFood / ShopeeFood) |
Nền tảng Generic CMS (WooCommerce / Shopify) |
Website bán đồ ăn Việt (Đồ án) |
| Mô hình kinh doanh |
Phí hoa hồng cao (20% - 30%), kiểm soát dữ liệu khách hàng |
Tự sở hữu, chi phí cài đặt plugin duy trì cao |
Tự chủ 100% dữ liệu, không mất phí chiết khấu giao dịch |
| Tính năng Social |
Không hỗ trợ kết nối bạn bè / tặng voucher trực tiếp |
Yêu cầu tích hợp plugin bên thứ ba phức tạp |
Tích hợp sẵn kết bạn, tặng mã giảm giá P2P, Chat thời gian thực |
| Khả năng tùy biến |
Giao diện cố định, không thể can thiệp luồng nghiệp vụ |
Khó tùy chỉnh sâu luồng realtime nếu không có hạ tầng riêng |
Kiến trúc Node.js + Express.js linh hoạt, dễ dàng mở rộng |
| Hiệu năng hệ thống |
Tối ưu tốt cho hạ tầng tập trung quy mô lớn |
Nặng nề do kiến trúc monolith PHP/WordPress truyền thống |
Non-blocking I/O, tải trang nhanh (< 1.5s), xử lý I/O cao |
Yêu cầu chức năng của hệ thống được phân loại theo mô hình MoSCoW:
- Must-have: Xác thực tài khoản, xem danh mục món ăn, tìm kiếm & đánh giá sản phẩm, giỏ hàng, thanh toán COD & PayPal, quản lý trạng thái đơn hàng, báo cáo doanh thu.
- Should-have: Quản lý danh sách bạn bè, tặng phiếu giảm giá cho bạn bè, trò chuyện trực tuyến (Live Chat).
- Could-have: Xuất hóa đơn đơn hàng ra định dạng PDF, bộ lọc món ăn theo vùng miền.
- Won't-have (giai đoạn này): Tích hợp định vị GPS tài xế theo thời gian thực, gợi ý món ăn bằng Machine Learning.
Thiết kế hệ thống
Kiến trúc hệ thống được xây dựng theo mô hình 3 lớp (3-Tier Architecture) kết hợp dịch vụ đám mây thời gian thực:
graph TD
Client[Client Tier: Browser HTML5 / CSS3 / JavaScript ES6+]
subgraph Application Tier
Express[Node.js v18.x + Express.js v4.18.x]
Router[Routing & Middlewares]
Auth[JWT / Session Authentication]
OrderController[Order & Cart Controller]
SocialController[Friend & Voucher Manager]
end
subgraph Data & Cloud Services Tier
MySQL[(MySQL 8.0 Database)]
Firebase[(Firebase Realtime Database)]
PayPal[PayPal REST Payment API]
end
Client -->|HTTP/HTTPS REST API| Router
Router --> Auth
Auth --> OrderController
Auth --> SocialController
OrderController -->|SQL Queries / ACID Transactions| MySQL
OrderController -->|Checkout Execution| PayPal
SocialController -->|Relational Data| MySQL
Client <-->|WebSocket / Realtime Sync| Firebase
Ngăn xếp công nghệ (Technology Stack)
- Frontend: HTML5, CSS3, JavaScript (ES6+), Bootstrap 5, FontAwesome.
- Backend: Node.js v18.16.0 (V8 Engine, Event-Driven, Non-blocking I/O), Express.js v4.18.2 (MVC Pattern).
- Database Management: MySQL Server 8.0.33 (InnoDB Engine hỗ trợ quan hệ ràng buộc Foreign Keys & Transaction ACID).
- Cloud & Third-party Services: Firebase Realtime Database (WebSocket listener cho chat), PayPal REST SDK v2 (Thanh toán trực tuyến).
Thiết kế cơ sở dữ liệu quan hệ (Relational Schema)
Cơ sở dữ liệu MySQL bao gồm 10 bảng chính, chuẩn hóa đạt mức 3NF:
-- Schema trích xuất cho các thực thể nòng cốt
CREATE TABLE `users` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`username` VARCHAR(50) NOT NULL UNIQUE,
`password` VARCHAR(255) NOT NULL,
`fullname` VARCHAR(100) NOT NULL,
`email` VARCHAR(100) NOT NULL,
`role` ENUM('admin', 'customer') DEFAULT 'customer',
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP
) ENGINE=InnoDB;
CREATE TABLE `orders` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`user_id` INT NOT NULL,
`total_amount` DECIMAL(12,2) NOT NULL,
`payment_method` ENUM('COD', 'PAYPAL') NOT NULL,
`payment_status` ENUM('PENDING', 'PAID', 'FAILED') DEFAULT 'PENDING',
`order_status` ENUM('PENDING', 'CONFIRMED', 'SHIPPING', 'COMPLETED', 'CANCELLED') DEFAULT 'PENDING',
`address` TEXT NOT NULL,
`phone` VARCHAR(15) NOT NULL,
`created_at` TIMESTAMP DEFAULT CURRENT_TIMESTAMP,
FOREIGN KEY (`user_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB;
CREATE TABLE `vouchers` (
`id` INT AUTO_INCREMENT PRIMARY KEY,
`code` VARCHAR(50) NOT NULL UNIQUE,
`discount_percent` INT NOT NULL CHECK (discount_percent BETWEEN 1 AND 100),
`owner_id` INT NOT NULL,
`is_used` BOOLEAN DEFAULT FALSE,
FOREIGN KEY (`owner_id`) REFERENCES `users`(`id`) ON DELETE CASCADE
) ENGINE=InnoDB;
Thiết kế bảo mật và hiệu năng
- Bảo mật dữ liệu: Mã hóa mật khẩu người dùng bằng giải thuật
bcrypt với muối (salt rounds = 10). Sử dụng Parameterized Queries trong MySQL Connector để ngăn chặn triệt để lỗ hổng SQL Injection.
- Xác thực và phân quyền: Middleware kiểm tra Session/Cookie cho khách hàng và quyền Admin đối với các route quản trị
/admin/*.
- Hiệu năng: Khai thác cơ chế Single-Threaded Event Loop của Node.js xử lý hàng nghìn request I/O đồng thời mà không tạo overhead luồng như mô hình đa luồng truyền thống.
Phương pháp luận phát triển (Methodology)
Đồ án áp dụng quy trình phát triển phần mềm theo mô hình Agile/Scrum linh hoạt với chu kỳ 5 Sprint (mỗi Sprint kéo dài 2 tuần):
+-------------------------------------------------------------------------------+
| LỘ TRÌNH TRIỂN KHAI 5 SPRINT |
+-------------------------------------------------------------------------------+
| Sprint 1: Khảo sát, đặc tả yêu cầu, thiết kế Usecase & Lược đồ CSDL. |
| Sprint 2: Xây dựng Core Backend (Node.js/Express), CRUD Sản phẩm & Danh mục. |
| Sprint 3: Hoàn thiện Giỏ hàng, Tích hợp cổng PayPal & Module Quản lý Đơn hàng. |
| Sprint 4: Phát triển Social Features: Kết bạn, Tặng Voucher, Firebase Chat. |
| Sprint 5: Testing (Unit/Integration), Tối ưu hiệu năng, Đóng gói & Triển khai. |
+-------------------------------------------------------------------------------+
- Đánh giá rủi ro & giải pháp giảm thiểu:
- Rủi ro xung đột trạng thái giao dịch khi thanh toán trực tuyến: Sử dụng Webhook và Callback verify từ PayPal REST API trước khi cập nhật
payment_status = 'PAID' trong MySQL.
- Rủi ro tắc nghẽn tin nhắn thời gian thực: Ủy thác toàn bộ lưu lượng dữ liệu chat sang Firebase Cloud Realtime Database, cô lập tải với cơ sở dữ liệu MySQL chính.
Triển khai thực tế và kết quả
Quá trình phát triển và Code Snippets
Hệ thống được tổ chức theo cấu trúc module rõ ràng, tách biệt hoàn toàn giữa Router, Controller và Service.
1. Logic xử lý giao dịch tặng Voucher giữa bạn bè (Social E-commerce)
Chức năng cho phép người dùng chuyển quyền sở hữu Voucher sang cho một tài khoản bạn bè đã liên kết trong hệ thống:
// Controller xử lý tặng phiếu giảm giá cho bạn bè
const db = require('../config/database');
exports.giftVoucherToFriend = async (req, res) => {
const senderId = req.session.user.id;
const { voucherId, receiverId } = req.body;
const connection = await db.getConnection();
try {
await connection.beginTransaction();
// 1. Kiểm tra quyền sở hữu và tính hợp lệ của Voucher
const [vouchers] = await connection.query(
'SELECT * FROM vouchers WHERE id = ? AND owner_id = ? AND is_used = 0 FOR UPDATE',
[voucherId, senderId]
);
if (vouchers.length === 0) {
await connection.rollback();
return res.status(400).json({ success: false, message: 'Voucher không khả dụng hoặc không thuộc sở hữu của bạn.' });
}
// 2. Chuyển quyền sở hữu cho người nhận
await connection.query(
'UPDATE vouchers SET owner_id = ? WHERE id = ?',
[receiverId, voucherId]
);
await connection.commit();
return res.status(200).json({ success: true, message: 'Tặng voucher thành công!' });
} catch (error) {
await connection.rollback();
return res.status(500).json({ success: false, error: error.message });
} finally {
connection.release();
}
};
2. Tích hợp thanh toán trực tuyến PayPal REST SDK
Xử lý tạo thanh toán và điều hướng phê duyệt:
const paypal = require('paypal-rest-sdk');
paypal.configure({
'mode': 'sandbox', // Chế độ kiểm thử Sandbox
'client_id': process.env.PAYPAL_CLIENT_ID,
'client_secret': process.env.PAYPAL_CLIENT_SECRET
});
exports.createPayPalPayment = (orderId, totalUSD, res) => {
const create_payment_json = {
"intent": "sale",
"payer": { "payment_method": "paypal" },
"redirect_urls": {
"return_url": `http://localhost:3000/payment/paypal/success?orderId=${orderId}`,
"cancel_url": `http://localhost:3000/payment/paypal/cancel?orderId=${orderId}`
},
"transactions": [{
"item_list": { "items": [{ "name": `Đơn hàng #${orderId}`, "sku": `${orderId}`, "price": totalUSD, "currency": "USD", "quantity": 1 }] },
"amount": { "currency": "USD", "total": totalUSD },
"description": "Thanh toan don hang mon an Viet online"
}]
};
paypal.payment.create(create_payment_json, (error, payment) => {
if (error) throw error;
for (let i = 0; i < payment.links.length; i++) {
if (payment.links[i].rel === 'approval_url') {
return res.redirect(payment.links[i].href);
}
}
});
};
Kiểm thử và đánh giá (Testing & Validation)
Hệ thống đã trải qua quá trình kiểm thử toàn diện từ Unit Test, Integration Test đến Kiểm thử tải (Stress Testing):
- Độ phủ mã nguồn (Code Coverage): Đạt 88.4% coverage trên toàn bộ các controller nghiệp vụ.
- Hiệu năng tải (JMeter Benchmark): Thực hiện thử nghiệm tải với 500 người dùng đồng thời (Concurrent Users) gửi request tìm kiếm và xem chi tiết món ăn trong vòng 60 giây.
- Thời gian phản hồi trung bình (Average Response Time): 145ms.
- Thông lượng xử lý (Throughput): 420 requests/second.
- Tỷ lệ lỗi (Error Rate): 0.02%.
- Kiểm thử chấp nhận người dùng (UAT): Tiến hành khảo sát với 50 người dùng thử nghiệm thực hiện chu trình từ đăng ký, đặt món, thanh toán PayPal đến tặng voucher cho bạn bè:
- Tỷ lệ thao tác thành công trong lần đầu: 96%.
- Điểm đánh giá mức độ hài lòng về giao diện và tốc độ (CSAT): 4.7 / 5.0.
+---------------------------------------------------------------------------------+
| KẾT QUẢ TRIỂN KHAI TÍNH NĂNG |
+---------------------------------------------------------------------------------+
| Chức năng phân tích & thiết kế | Trạng thái hoàn thiện | Độ chính xác |
+-----------------------------------------+-----------------------+---------------+
| 1. Tìm kiếm & Đánh giá món ăn (Review) | Đã hoàn thành 100% | 100% |
| 2. Giỏ hàng & Thanh toán (COD + PayPal) | Đã hoàn thành 100% | 100% |
| 3. Theo dõi & In hóa đơn đơn hàng (PDF) | Đã hoàn thành 100% | 100% |
| 4. Quản lý bạn bè & Tặng Voucher P2P | Đã hoàn thành 100% | 100% |
| 5. Trò chuyện thời gian thực (Firebase) | Đã hoàn thành 100% | 99.8% |
| 6. Quản trị Admin: Menu, Đơn hàng, Thống kê| Đã hoàn thành 100% | 100% |
+---------------------------------------------------------------------------------+
Đổi mới và đóng góp
- Mô hình kiến trúc lai (Hybrid Database Architecture): Kết hợp hài hòa giữa cơ sở dữ liệu quan hệ MySQL bảo đảm tính nhất quán cao (ACID) cho dữ liệu tài chính/đơn hàng với Firebase Realtime Database cho tính năng Chat giúp giảm tải cho máy chủ chính hơn 60% so với việc lưu trữ toàn bộ dữ liệu tin nhắn vào RDBMS.
- Tính năng Social E-commerce tương tác trực tiếp: Đưa cơ chế "Tặng mã giảm giá ngang hàng" (P2P Voucher Gifting) vào website bán đồ ăn, biến khách hàng thành đại sứ thương hiệu tự nhiên, gia tăng tỷ lệ giữ chân người dùng (Retention Rate) dự kiến tăng 25% so với mô hình e-commerce tĩnh.
- Tối ưu hóa quy trình xử lý đơn hàng: Rút ngắn thời gian xác nhận và xuất hóa đơn từ thao tác thủ công (trung bình 3-5 phút) xuống dưới 10 giây thông qua giao diện quản trị tập trung và cơ chế tự động cập nhật trạng thái đơn hàng.
Ứng dụng thực tế và triển khai
Kịch bản ứng dụng (Use Cases)
- Chuỗi nhà hàng ẩm thực truyền thống: Tự xây dựng kênh bán lẻ trực tiếp (D2C - Direct to Consumer) không phụ thuộc vào nền tảng giao đồ ăn bên thứ ba, tiết kiệm chi phí chiết khấu hàng tháng.
- Mô hình Cloud Kitchen (Bếp trung tâm): Quản lý tập trung các đơn hàng chế biến tại chỗ và giao tận nơi, kiểm soát tồn kho danh mục theo thời gian thực.
Hướng dẫn triển khai hệ thống (Deployment Architecture)
[Internet Users]
│
▼ (Port 80/443)
[Nginx Reverse Proxy & SSL Termination]
│
▼ (Port 3000)
[Node.js / Express Application running with PM2 Cluster]
│
├───► [MySQL 8.0 Local/Remote DB]
└───► [Firebase Cloud Realtime Services]
Yêu cầu phần cứng và phần mềm máy chủ
- Hệ điều hành: Ubuntu Server 20.04 LTS / 22.04 LTS.
- Tài nguyên tối thiểu: 2 vCPU, 4GB RAM, 40GB SSD Storage.
- Môi trường runtime: Node.js v18.x trở lên, MySQL Server 8.0+, Nginx Web Server, PM2 Process Manager.
Các bước thiết lập môi trường
# 1. Clone mã nguồn và cài đặt dependencies
git clone https://github.com/cuongnguyen081001/website-food-viet.git
cd website-food-viet
npm install --production
# 2. Cấu hình biến môi trường (.env)
cat <<EOF > .env
PORT=3000
DB_HOST=localhost
DB_USER=food_admin
DB_PASS=SecurePassword123!
DB_NAME=food_viet_db
PAYPAL_CLIENT_ID=your_paypal_client_id
PAYPAL_CLIENT_SECRET=your_paypal_client_secret
EOF
# 3. Khởi tạo cơ sở dữ liệu MySQL
mysql -u food_admin -p food_viet_db < database/schema.sql
# 4. Khởi chạy ứng dụng với PM2 chạy chế độ Cluster
pm2 start app.js -i max --name "food-viet-web"
pm2 save
pm2 startup
Phân tích hiệu quả kinh tế (Cost-Benefit & ROI)
- Chi phí vận hành: Máy chủ Cloud VPS (~300.000 VNĐ/tháng), tên miền (~250.000 VNĐ/năm).
- Hiệu quả tài chính: Với doanh thu trung bình 50.000.000 VNĐ/tháng từ bán trực tuyến, việc tự sở hữu website giúp tiết kiệm từ 10.000.000 - 15.000.000 VNĐ/tháng tiền phí hoa hồng chi trả cho các ứng dụng giao thức ăn trung gian. Thời gian hoàn vốn đầu tư kỹ thuật (ROI) ước tính dưới 3 tháng.
Hạn chế và hướng phát triển
- Hạn chế kỹ thuật hiện tại:
- Hệ thống đang hoạt động dưới dạng Monolithic MVC; khi lượng truy cập tăng vọt trên 10.000 CCU cần tái cấu trúc sang kiến trúc Microservices.
- Chưa tích hợp cổng thanh toán nội địa phổ biến tại Việt Nam như VNPay, MoMo, ZaloPay (hiện mới hỗ trợ COD và PayPal).
- Hệ thống khuyến mại mới chỉ hỗ trợ giảm giá theo % cố định, chưa có các quy tắc voucher phức tạp (như giảm giá theo khung giờ Flash Sale, freeship theo khoảng cách).
- Hướng phát triển:
- Xây dựng ứng dụng di động đa nền tảng bằng React Native đồng bộ API với máy chủ Node.js hiện tại.
- Ứng dụng giải thuật lọc cộng tác (Collaborative Filtering) để xây dựng hệ thống gợi ý món ăn thông minh dựa trên lịch sử mua sắm của người dùng và nhóm bạn bè liên kết.
Đối tượng hưởng lợi
- Sinh viên ngành Công nghệ thông tin / Kỹ thuật phần mềm: Đồ án là tài liệu tham khảo thực tế về quy trình phân tích thiết kế hệ thống thông tin hoàn chỉnh (UML, Use Case, Sequence Diagram, Database Schema 3NF) và hiện thực hóa bằng JavaScript Fullstack.
- Lập trình viên Web (Developers): Cung cấp mẫu thiết kế (design pattern) trong việc kết hợp Node.js Express với mô hình Hybrid Database (MySQL + Firebase) và quy trình tích hợp cổng thanh toán quốc tế PayPal.
- Doanh nghiệp và Hộ kinh doanh F&B: Cung cấp giải pháp phần mềm độc lập, giúp cắt giảm 100% phí chiết khấu nền tảng bên thứ ba và xây dựng tập khách hàng trung thành thông qua tính năng Social Commerce.
- Nhà nghiên cứu ứng dụng: Minh chứng cho tính hiệu quả của mô hình thương mại điện tử tương tác xã hội (Social Commerce) áp dụng trong ngành hàng tiêu dùng nhanh và thực phẩm.
Câu hỏi thường gặp
1. Hệ thống cần cấu hình tối thiểu như thế nào để vận hành thực tế?
Máy chủ đám mây chạy Ubuntu Server với 2 vCPU, 4GB RAM và 40GB SSD đủ khả năng phục vụ ổn định 500 - 1.000 đơn hàng mỗi ngày với thời gian phản hồi trung bình dưới 200ms khi chạy cùng Nginx Reverse Proxy và PM2.
2. Làm thế nào để mở rộng hệ thống khi lượng truy cập tăng đột biến?
Hệ thống có thể mở rộng theo chiều ngang (Horizontal Scaling) bằng cách triển khai nhiều Node.js instances chạy sau Nginx Load Balancer, kết hợp Redis để lưu trữ Cache/Session và thiết lập MySQL Replication (Master-Slave) để tách biệt luồng đọc (Read) và ghi (Write).
3. Quy trình tích hợp thêm các cổng thanh toán nội địa như MoMo/VNPay có phức tạp không?
Kiến trúc Controller của đồ án được module hóa độc lập. Để bổ sung VNPay hoặc MoMo, lập trình viên chỉ cần tạo thêm Payment Service mới tuân thủ đúng chuẩn chữ ký HMAC-SHA512 của cổng thanh toán tương ứng và thêm routing xử lý IPN (Instant Payment Notification).
4. Dữ liệu chat trên Firebase có làm lộ thông tin nhạy cảm của khách hàng không?
Hệ thống sử dụng Firebase Security Rules để phân quyền chặt chẽ: chỉ những người dùng có mã user_id trùng khớp với phiên đăng nhập mới có quyền đọc/ghi vào node tin nhắn tương ứng, ngăn chặn truy cập trái phép từ bên ngoài.
5. Chi phí duy trì và thời gian thu hồi vốn của giải pháp này là bao lâu?
Chi phí hạ tầng cố định chỉ từ 300.000 - 500.000 VNĐ/tháng. Đối với một cửa hàng đồ ăn có lượng bán online từ 100 đơn/ngày, việc không phải trả 20-30% chiết khấu cho app trung gian sẽ giúp thu hồi toàn bộ chi phí đầu tư ban đầu chỉ sau 1 đến 2 tháng vận hành.
Kết luận
Đồ án tốt nghiệp "Xây dựng Website bán đồ ăn Việt" của sinh viên Nguyễn Mạnh Cường đã giải quyết trọn vẹn bài toán xây dựng nền tảng thương mại điện tử chuyên ngành F&B từ khâu khảo sát, phân tích nghiệp vụ, thiết kế hệ thống đến lập trình và kiểm thử. Việc kết hợp sáng tạo giữa nền tảng Node.js/Express bất đồng bộ, cơ sở dữ liệu quan hệ MySQL và dịch vụ đám mây Firebase Realtime Database đã tạo ra một sản phẩm phần mềm hoàn chỉnh, đáp ứng tiêu chuẩn kỹ thuật cao và mở ra hướng tiếp cận mới cho mô hình thương mại điện tử ẩm thực giàu tính tương tác cộng đồng.