Giới thiệu dự án

Bối cảnh thị trường và vấn đề thực tiễn

Thương mại điện tử (TMĐT) tại Việt Nam đang chứng kiến tốc độ tăng trưởng vượt bậc. Theo số liệu thống kê TMĐT B2C giai đoạn 2018–2023, tỷ trọng doanh thu TMĐT so với tổng mức bán lẻ hàng hóa và doanh thu dịch vụ tiêu dùng cả nước đã tăng từ 4,2% (2018) lên xấp xỉ 8,0% (2023), với quy mô người dùng mua sắm trực tuyến đạt từ 59 đến 62 triệu người và giá trị mua sắm trung bình đạt 300–320 USD/người/năm. Trong bức tranh tăng trưởng đó, phân khúc giày thể thao (sneaker) phát triển thành một thị trường ngách có giá trị văn hóa và kinh tế đặc thù, thu hút mạnh mẽ nhóm khách hàng thế hệ Z và Millennials.

Tuy nhiên, thị trường sneaker trực tuyến tại Việt Nam đối mặt với 3 "điểm nghẽn" (pain points) lớn:

  • Nguy cơ hàng giả (replica/fake) tràn lan: Thiếu quy trình kiểm định minh bạch và cơ chế phân quyền truy xuất nguồn gốc từ các cửa hàng uy tín.
  • Phân mảnh kênh vận hành: Các nền tảng hiện có chưa đồng bộ được quy trình khép kín giữa 4 đối tượng: Khách hàng (Client), Người bán (Vendor), Người giao hàng (Shipper) và Quản trị viên (Admin).
  • Rào cản thanh toán và chi phí quốc tế: Các ứng dụng quốc tế như StockX hay GOAT áp dụng phí dịch vụ cao, chỉ hỗ trợ thanh toán quốc tế và thiếu tối ưu hóa cho mạng lưới logistics nội địa.

Tuyên bố bài toán (Problem Statement)

Bài toán đặt ra là thiết kế và triển khai một hệ thống TMĐT chuyên biệt cho ngành giày dép (SneakerX) trên nền tảng di động (Cross-platform Mobile App) và bảng điều khiển quản trị tập trung (Admin Web-app), đảm bảo khả năng đồng bộ dữ liệu thời gian thực (real-time data synchronization), phản hồi tức thì với độ trễ thấp và tối ưu hóa trải nghiệm tương tác đa người dùng.

Mục tiêu dự án

  1. Xây dựng kiến trúc đa nền tảng: Phát triển ứng dụng di động cho Client, Vendor, Shipper bằng Flutter và nền tảng Web-app quản trị cho Admin.
  2. Thiết lập hạ tầng Backend-as-a-Service (BaaS): Khai thác toàn diện hệ sinh thái Firebase (Cloud Firestore, Authentication, Cloud Storage, Cloud Messaging) để xử lý dữ liệu phi cấu trúc và thông báo thời gian thực.
  3. Hiện thực hóa quy trình nghiệp vụ 4 bên: Tự động hóa chu trình: Đăng bán $\rightarrow$ Đặt hàng $\rightarrow$ Xác nhận $\rightarrow$ Điều phối giao vận $\rightarrow$ Thanh toán $\rightarrow$ Xử lý hoàn tiền (Refund).
  4. Tối ưu hóa hiệu năng UI/UX: Duy trì tốc độ khung hình ổn định ở mức 60 FPS (Frames Per Second), thời gian phản hồi truy vấn dưới 200ms và cơ chế quản lý trạng thái luồng dữ liệu một chiều rõ ràng.

Phương pháp tiếp cận và kết quả kỳ vọng

  • Phương pháp tiếp cận: Sử dụng ngôn ngữ Dart hướng đối tượng có tính năng Null Safety kết hợp kiến trúc MVC (Model-View-Controller) và thư viện Provider để quản lý State.
  • Kết quả đo lường được:
    • Hoàn thiện 100% các use cases cốt lõi cho cả 4 tác nhân.
    • Tỷ lệ che phủ kiểm thử (Test Coverage) các luồng nghiệp vụ thanh toán/đơn hàng đạt trên 90%.
    • Tối ưu kích thước bundle ứng dụng dưới 35MB trên Android/iOS.

Phạm vi và giới hạn (Scope & Limitations)

  • Phạm vi: Tập trung vào phân khúc giày dép và sneaker; tích hợp quản lý kho biến thể (Size, Color), chat trực tiếp qua Cloud Firestore và quy trình giải quyết tranh chấp hoàn tiền.
  • Giới hạn: Phiên bản hiện tại chưa tích hợp cổng thanh toán trực tuyến qua bên thứ ba (như VNPay/Momo) bằng webhook tự động mà tập trung vào mô hình tiền mặt khi nhận hàng (COD) và cơ chế đối soát số dư ví/rút tiền nội bộ cho Vendor.

Phân tích và thiết kế giải pháp

Phân tích hiện trạng và khảo sát thị trường

+-------------------------------------------------------------------------------+
|                      MA TRẬN SO SÁNH GIẢI PHÁP HIỆN CÓ                        |
+---------------+---------------------+--------------------+--------------------+
| Tiêu chí      | StockX / GOAT       | Sàn TMĐT tổng hợp  | SneakerX (Đề tài)  |
|               | (Quốc tế)           | (Shopee, Lazada)   |                    |
+---------------+---------------------+--------------------+--------------------+
| Chuyên biệt   | Rất cao (Có biểu đồ | Thấp (Bán đa ngành | Rất cao (Thiết kế  |
| Sneaker       | giá, 360 viewer)    | hàng tổng hợp)     | riêng cho giày)    |
+---------------+---------------------+--------------------+--------------------+
| Phân quyền    | Tách biệt app Bán   | Gộp chung hoặc qua | Phân luồng 4 role  |
| 4 tác nhân    | & Mua (Alias App)   | portal cồng kềnh   | trực quan trên App |
+---------------+---------------------+--------------------+--------------------+
| Realtime Chat | Hạn chế/Qua Ticket  | Tích hợp sẵn       | Firestore Snapshot |
| & Messaging   |                     |                    | + FCM Direct       |
+---------------+---------------------+--------------------+--------------------+
| Tối ưu hóa    | Kém (Phí ship cao,  | Tốt (Nội địa hóa)  | Tốt (Tích hợp luồng|
| giao vận VN   | chỉ thẻ quốc tế)    |                    | Shipper nội bộ)    |
+---------------+---------------------+--------------------+--------------------+

Phân tích yêu cầu theo mô hình MoSCoW

  • Must-have (Bắt buộc có): Xác thực đa phương thức qua Firebase Auth; Xem/Tìm kiếm/Lọc sản phẩm đa tiêu chí; Giỏ hàng & Đặt hàng; Quản lý trạng thái đơn hàng (Pending, Processing, Delivering, Delivered, Cancelled); Module quản lý kho cho Vendor; Giao diện giao vận cho Shipper; Web Dashboard kiểm duyệt cho Admin.
  • Should-have (Nên có): Chat thời gian thực giữa Buyer và Vendor; Hệ thống đánh giá/Feedback kèm hình ảnh qua Cloud Storage; Module khiếu nại và hoàn tiền (Refund request).
  • Could-have (Có thể có): Quản lý Wishlist; Thống kê doanh thu trực quan bằng biểu đồ; Tìm kiếm bằng mã vạch (Barcode Scanning).
  • Won't-have (Chưa triển khai): Công nghệ thử giày thực tế ảo (AR Virtual Try-on); Đấu giá trực tiếp thời gian thực theo giây.

Thiết kế kiến trúc hệ thống

Hệ thống được thiết kế theo mô hình Clean Client-Server kết hợp kiến trúc MVC trên nền tảng Flutter:

graph TD
    subgraph Client Layer [Giao Diện Đa Nền Tảng - Flutter 3.19]
        A1[Client Mobile UI]
        A2[Vendor Mobile UI]
        A3[Shipper Mobile UI]
        A4[Admin Web Dashboard]
    end

    subgraph State Management [State & Controller Layer]
        B1[Auth Provider]
        B2[Product Provider]
        B3[Cart & Order Provider]
        B4[Chat & Notification Provider]
    end

    subgraph BaaS Infrastructure [Google Firebase Cloud Services]
        C1[Firebase Authentication]
        C2[Cloud Firestore - NoSQL DB]
        C3[Firebase Cloud Storage]
        C4[Firebase Cloud Messaging - FCM]
        C5[Firebase Hosting]
    end

    A1 & A2 & A3 & A4 --> B1 & B2 & B3 & B4
    B1 --> C1
    B2 & B3 --> C2
    B2 --> C3
    B4 --> C4
    A4 --> C5

Thiết kế cơ sở dữ liệu (Firestore NoSQL Schema)

Cơ sở dữ liệu Cloud Firestore được chuẩn hóa cấu trúc dạng Collections và Documents:

users (Collection)
  ├── {userId} (Document)
  │     ├── uid: String [Indexed]
  │     ├── email: String
  │     ├── fullName: String
  │     ├── role: String ('client' | 'vendor' | 'shipper' | 'admin')
  │     ├── phoneNumber: String
  │     ├── address: Map { street, city, postalCode }
  │     └── createdAt: Timestamp

products (Collection)
  ├── {productId} (Document)
  │     ├── vendorId: String [Indexed]
  │     ├── title: String
  │     ├── brand: String [Indexed]
  │     ├── categoryId: String
  │     ├── basePrice: Number
  │     ├── description: String
  │     ├── imageUrls: Array<String>
  │     ├── ratingAvg: Number
  │     └── variants: Array<Map> [{ size: 41, color: "Black", stock: 15, price: 120 }]

orders (Collection)
  ├── {orderId} (Document)
  │     ├── customerId: String [Indexed]
  │     ├── vendorId: String [Indexed]
  │     ├── shipperId: String [Nullable, Indexed]
  │     ├── items: Array<Map> [{ productId, variant, quantity, unitPrice }]
  │     ├── totalAmount: Number
  │     ├── orderStatus: String ('pending' | 'processing' | 'delivering' | 'completed' | 'refunded')
  │     ├── deliveryAddress: Map
  │     └── timestamp: Timestamp

API & Dịch vụ tích hợp

Do sử dụng Firebase BaaS, tương tác tầng dữ liệu diễn ra qua Firebase Client SDK v10.x thông qua các giao thức bảo mật gRPC/WebSockets:

  • FirebaseAuth.instance.signInWithEmailAndPassword()
  • FirebaseFirestore.instance.collection('orders').where('vendorId', isEqualTo: currentVendorId).snapshots()
  • FirebaseStorage.instance.ref().child('product_images').putFile(imageFile)
  • FirebaseMessaging.instance.send() thông qua Cloud Functions/REST API.

Phương pháp luận phát triển (Methodology) & Kế hoạch

Dự án áp dụng mô hình phát triển Agile/Scrum rút gọn trong 19 tuần (04/03/2024 đến 11/07/2024):

  • Giai đoạn 1 (Tuần 1-3): R&D công nghệ Dart, Flutter, BaaS Firebase và phân tích kiến trúc TMĐT.
  • Giai đoạn 2 (Tuần 4-6): Đặc tả yêu cầu (SRS), mô hình hóa Use Case, Class Diagram và Sequence Diagram.
  • Giai đoạn 3 (Tuần 7-8): Thiết kế Wireframes, Mockup UI/UX trên Figma.
  • Giai đoạn 4 (Tuần 9-18): Lập trình chức năng Flutter UI, tích hợp State Provider, kết nối Firestore và FCM.
  • Giai đoạn 5 (Tuần 19): Kiểm thử hộp đen/hộp trắng (Black-box & White-box testing), đo lường hiệu năng và đóng gói ứng dụng.

Implementation và kết quả

Chi tiết quá trình lập trình & Thuật toán then chốt

Ứng dụng tận dụng triệt để tính năng Sound Null SafetyStream-based Architecture của Flutter & Dart.

1. Quản lý trạng thái và luồng dữ liệu (Provider Pattern)

Dưới đây là đoạn mã hiện thực CartProvider xử lý việc tính toán tổng giá trị đơn hàng, quản lý danh sách sản phẩm và đảm bảo tính bao đóng (Encapsulation):

import 'package:flutter/foundation.dart';
import '../models/cart_item_model.dart';

class CartProvider with ChangeNotifier {
  final Map<String, CartItemModel> _items = {};

  Map<String, CartItemModel> get items => {..._items};

  int get itemCount => _items.length;

  double get totalAmount {
    var total = 0.0;
    _items.forEach((key, cartItem) {
      total += cartItem.price * cartItem.quantity;
    });
    return total;
  }

  void addItem({
    required String productId,
    required double price,
    required String title,
    required String size,
    required String imageUrl,
  }) {
    final cartKey = '${productId}_$size';
    if (_items.containsKey(cartKey)) {
      _items.update(
        cartKey,
        (existing) => existing.copyWith(quantity: existing.quantity + 1),
      );
    } else {
      _items.putIfAbsent(
        cartKey,
        () => CartItemModel(
          id: DateTime.now().millisecondsSinceEpoch.toString(),
          productId: productId,
          title: title,
          price: price,
          size: size,
          imageUrl: imageUrl,
          quantity: 1,
        ),
      );
    }
    notifyListeners();
  }

  void removeItem(String cartKey) {
    _items.remove(cartKey);
    notifyListeners();
  }

  void clearCart() {
    _items.clear();
    notifyListeners();
  }
}

2. Lắng nghe trạng thái đơn hàng thời gian thực (Real-time Stream Controller)

Đoạn mã truy xuất dữ liệu đơn hàng cho Shipper, tự động lọc đơn hàng có trạng thái processing thông qua Firestore Stream:

Stream<List<OrderModel>> getAvailableOrdersStream() {
  return FirebaseFirestore.instance
      .collection('orders')
      .where('orderStatus', isEqualTo: 'processing')
      .orderBy('timestamp', descending: true)
      .snapshots()
      .map((snapshot) => snapshot.docs
          .map((doc) => OrderModel.fromFirestore(doc.data(), doc.id))
          .toList());
}

Thách thức tích hợp và giải pháp kỹ thuật

  1. Thách thức: Xung đột trạng thái khi nhiều người dùng cùng đặt hàng một biến thể giày có số lượng tồn kho giới hạn ($Stock = 1$).
    • Giải pháp: Áp dụng Firestore Transaction (runTransaction) để khóa đọc và ghi nguyên tử (atomic updates), ngăn chặn triệt để tình trạng Race Condition.
  2. Thách thức: Hiển thị danh sách hàng trăm sản phẩm sneaker kèm hình ảnh độ phân giải cao gây hiện tượng giật lag khung hình (Jank).
    • Giải pháp: Sử dụng thư viện cached_network_image kết hợp kỹ thuật nén ảnh tự động trước khi upload lên Cloud Storage thông qua flutter_image_compress, giảm kích thước payload trung bình từ 4MB xuống dưới 350KB/ảnh.

Kiểm thử và đánh giá chất lượng (Testing & QA)

  • Kiểm thử chức năng (Functional Testing): Thực hiện 96 test cases chi tiết bao phủ các module: Xác thực tài khoản (Bảng 94), Tạo/Xóa sản phẩm Vendor (Bảng 95, 96), Điều phối đơn hàng Shipper và Dashboard Admin. Tỷ lệ pass đạt 100% sau 3 vòng lặp sửa lỗi.
  • Kiểm thử tải & Độ trễ (Performance Benchmark):
    • Thời gian khởi động ứng dụng (Cold Start): 1,15 giây (Android 13) và 0,95 giây (iOS 17).
    • Tỷ lệ khung hình khi cuộn trang Home/Search (Rendering FPS): Ổn định ở mức 58.5 – 60.0 FPS.
    • Độ trễ đồng bộ tin nhắn Chat & Trạng thái đơn hàng: < 140ms.
    • Tiêu thụ bộ nhớ RAM trung bình: ~82MB ở chế độ nhàn rỗi và ~145MB khi render danh sách ảnh liên tục.

Đổi mới và đóng góp

  1. Kiến trúc phân quyền hợp nhất (Unified Role-Based Architecture): Thay vì tách thành nhiều ứng dụng rời rạc gây tốn kém chi phí bảo trì, SneakerX xây dựng cơ chế phân luồng người dùng động (Dynamic Dynamic Route Switching) ngay sau bước xác thực Firebase Auth, chuyển hướng giao diện tức thì theo vai trò (Client, Vendor, Shipper) trên cùng một codebase Flutter duy nhất.

  2. Cơ chế quản lý biến thể giày chuyên sâu: Khác với các sàn TMĐT tổng hợp, SneakerX hỗ trợ bảng cấu hình ma trận thuộc tính Size/Color/Stock chuyên biệt cho ngành giày dép, cho phép người bán cập nhật số lượng tồn kho theo chuẩn US/UK/EU sizing.

  3. Quy trình xử lý hoàn tiền minh bạch (Transparent Dispute Resolution): Thiết lập luồng phản hồi khiếu nại trực tiếp 3 bên (Customer $\rightarrow$ Vendor $\rightarrow$ Admin Review), cho phép tải lên bằng chứng hình ảnh sản phẩm lỗi trực tiếp từ Camera, giảm 40% thời gian xử lý tranh chấp so với mô hình xử lý qua email truyền thống.


Ứng dụng thực tế và triển khai

Kịch bản ứng dụng thực tế (Use-case Scenarios)

  • Cửa hàng Sneaker độc lập (Local Sneaker Stores): Sử dụng hệ thống để số hóa toàn bộ kho hàng, tiếp cận tệp khách hàng trẻ tuổi mà không phải chịu mức chiết khấu hoa hồng quá cao từ các sàn TMĐT lớn.
  • Mô hình chuỗi giao hàng nội đô: Các đội ngũ shipper tự do hoặc đối tác giao vận có thể theo dõi danh sách đơn hàng sẵn sàng theo khu vực địa lý, chủ động nhận đơn và xác nhận trạng thái bằng mã QR/chữ ký điện tử.

Hướng dẫn triển khai hệ thống (Deployment Guide)

# 1. Cài đặt các gói phụ thuộc Flutter
flutter pub get

# 2. Cấu hình Firebase CLI và liên kết dự án
npm install -g firebase-tools
firebase login
flutterfire configure --project=sneakerx-ecommerce

# 3. Triển khai Web Admin lên Firebase Hosting
flutter build web --release
firebase deploy --only hosting

# 4. Đóng gói ứng dụng di động Android App Bundle (AAB)
flutter build appbundle --release

Phân tích hiệu quả kinh tế & Khả năng mở rộng (Cost-Benefit & Scalability)

  • Chi phí hạ tầng: Nhờ ứng dụng mô hình Serverless BaaS của Firebase, dự án tận dụng triệt để gói Spark (Free Tier) trong giai đoạn đầu (lưu trữ 1GB Firestore, 10GB Cloud Storage, 50.000 lượt đọc/ngày), giúp chi phí hạ tầng ban đầu xấp xỉ 0 VNĐ.
  • Khả năng mở rộng (Scalability): Khi lượng người dùng tăng trưởng đạt mốc $10.000$ Daily Active Users (DAU), hệ thống dễ dàng chuyển dịch sang gói Blaze (Pay-as-you-go) với khả năng tự động mở rộng (Auto-scaling) không cần can thiệp hạ tầng máy chủ vật lý.

Hạn chế và hướng phát triển

Hạn chế kỹ thuật hiện tại

  • Phụ thuộc nền tảng đám mây: Cơ chế tính phí theo số lượng lượt đọc/ghi (Read/Write operations) của Cloud Firestore có thể đẩy chi phí vận hành lên cao nếu không áp dụng các chiến lược Local Caching tối ưu.
  • Chưa tích hợp AI/ML: Chưa hỗ trợ tính năng tự động gợi ý sản phẩm (Recommendation System) dựa trên lịch sử xem hàng của người dùng hoặc kiểm định giày thật/giả qua mô hình Computer Vision.

Hướng phát triển tiếp theo

  • Tích hợp cổng thanh toán trực tuyến: Tích hợp SDK cổng VNPay, ZaloPay, MoMo và Stripe để hỗ trợ thanh toán thẻ tín dụng và ví điện tử nội địa.
  • Phát triển module AR (Augmented Reality): Ứng dụng công nghệ ARCore/ARKit cho phép người dùng ướm thử giày ảo (Virtual Sneaker Fitting) trực tiếp qua Camera điện thoại.
  • Tối ưu hóa thuật toán tìm kiếm: Tích hợp công cụ tìm kiếm toàn văn ElasticSearch hoặc Algolia để tăng tốc độ truy vấn từ khóa phức tạp và tự động sửa lỗi chính tả.

Đối tượng hưởng lợi

+-------------------------------------------------------------------------------+
|                       GIÁ TRỊ MANG LẠI CHO CÁC ĐỐI TƯỢNG                      |
+-------------------+-----------------------------------------------------------+
| Nhóm đối tượng    | Giá trị và Lợi ích cụ thể                                 |
+-------------------+-----------------------------------------------------------+
| Sinh viên &       | Mã nguồn tham khảo mẫu mực về cấu trúc dự án Flutter MVC; |
| Người học lập     | Phương pháp tích hợp toàn diện hệ sinh thái Firebase BaaS |
| trình Mobile      | với kỹ thuật xử lý State linh hoạt qua Provider.          |
+-------------------+-----------------------------------------------------------+
| Lập trình viên    | Thiết kế mẫu về hệ thống phân quyền đa người dùng trên một|
| (Developers)      | codebase; Kinh nghiệm tối ưu hóa hiệu năng render 60 FPS. |
+-------------------+-----------------------------------------------------------+
| Doanh nghiệp bán  | Nền tảng TMĐT chuyên biệt, sẵn sàng triển khai giúp tối   |
| lẻ Sneaker        | ưu hóa quy trình vận hành và tiết kiệm chi phí phát triển.|
+-------------------+-----------------------------------------------------------+

Câu hỏi thường gặp (FAQ)

1. Ứng dụng yêu cầu cấu hình môi trường tối thiểu như thế nào để vận hành?

  • Khách hàng/Người dùng cuối: Điện thoại chạy hệ điều hành Android từ phiên bản 6.0 (API Level 23) hoặc iOS từ phiên bản 12.0 trở lên; bộ nhớ RAM tối thiểu 2GB.
  • Môi trường phát triển: Flutter SDK phiên bản $\ge 3.19.0$, Dart SDK $\ge 3.3.0$, Android Studio Hedgehog / VS Code, tài khoản Google Firebase Console có kích hoạt Firestore và Authentication.

2. Làm thế nào để giải quyết bài toán giới hạn đọc/ghi (Read/Write Limits) trên Firebase Firestore?

Hệ thống áp dụng kỹ thuật Pagination (Phân trang) với phương thức limit() kết hợp startAfterDocument(). Đồng thời, dữ liệu danh mục tĩnh và profile người dùng được cache cục bộ bằng bộ nhớ tạm của thiết bị, giúp giảm hơn 65% số lượng request đọc không cần thiết về máy chủ Firebase.

3. Quy trình bảo mật dữ liệu người dùng được thiết kế ra sao?

Bảo mật được thực thi đa tầng: Xác thực định danh qua token JWT của Firebase Authentication; Thiết lập các quy tắc bảo mật Firestore Security Rules chặt chẽ (chỉ cho phép user đọc/ghi đúng document ID của chính họ; chỉ Admin mới có quyền cập nhật bảng danh mục hệ thống).

4. Hệ thống xử lý thông báo đẩy (Push Notifications) khi ứng dụng đang đóng (Background/Terminated) như thế nào?

Dự án sử dụng dịch vụ Firebase Cloud Messaging (FCM) kết hợp cấu hình flutter_local_notifications. Khi có đơn hàng mới hoặc tin nhắn chat, Cloud Functions kích hoạt payload notification gửi đến thiết bị mục tiêu thông qua Device Registration Token, đảm bảo hiển thị thông báo tức thì ngay cả khi ứng dụng không chạy ngầm.

5. Khả năng tích hợp mở rộng với các đơn vị vận chuyển bên thứ ba (GHTK, GHN, Viettel Post)?

Cấu trúc module Order trong dự án được thiết kế dưới dạng Service-Oriented. Các thuộc tính như mã vận đơn (trackingNumber), tọa độ giao hàng (GeoPoint) và trạng thái giao vận được chuẩn hóa, sẵn sàng kết nối trực tiếp với hệ thống Webhook API của các đơn vị giao vận trung gian khi có nhu cầu nâng cấp.


Kết luận

Đồ án tốt nghiệp "Xây dựng ứng dụng ECommerce mua bán, quản lý giày dép (SneakerX)" do sinh viên Nguyễn Nhật Nam và Cao Huỳnh Bảo An thực hiện (dưới sự hướng dẫn của ThS. Mai Tuấn Khôi - Đại học Sư phạm Kỹ thuật TP.HCM) đã giải quyết thành công bài toán thương mại điện tử chuyên biệt cho ngành giày dép.

Bằng việc kết hợp sức mạnh cross-platform của Flutter 3.x và hạ tầng thời gian thực linh hoạt từ Google Firebase, đề tài đã xây dựng hoàn chỉnh một giải pháp công nghệ toàn diện, đáp ứng nhu cầu tương tác của cả 4 đối tượng: Khách hàng, Cửa hàng, Người giao vận và Ban quản trị. Đồ án không chỉ mang giá trị học thuật xuất sắc trong việc hiện thực hóa các mô hình công nghệ phần mềm tiên tiến (MVC, Provider, NoSQL BaaS) mà còn mở ra tiềm năng thương mại hóa cao, đóng góp thiết thực cho sự phát triển của hệ sinh thái kinh tế số tại Việt Nam.