Giới thiệu dự án

Thương mại điện tử (TMĐT) tại Việt Nam đang duy trì tốc độ tăng trưởng ấn tượng trên 20%/năm (theo báo cáo e-Conomy SEA), mở ra cơ hội số hóa mạnh mẽ cho chuỗi cung ứng hàng hóa. Tuy nhiên, lĩnh vực phân phối nông sản, thực phẩm tươi sống và hạt giống tại các địa phương (điển hình như tỉnh Bình Dương) vẫn phụ thuộc phần lớn vào mô hình kinh doanh truyền thống: chi phí thuê sạp cao, phụ thuộc thương lái trung gian, thiếu minh bạch về chất lượng và hạn chế tiếp cận khách hàng đa kênh.

Dự án "Xây dựng sàn thương mại điện tử đa nền tảng (Website + Mobile)" được nghiên cứu và phát triển bởi sinh viên Hồ Đại Huynh dưới sự hướng dẫn của ThS. Trần Hữu Duật (Khoa CNTT, Robot và Trí tuệ nhân tạo – Đại học Bình Dương). Đề tài giải quyết trực tiếp bài toán chuyển đổi số cho nông sản địa phương thông qua nền tảng kép đồng bộ (Web Application & Native Android App), hỗ trợ người tiêu dùng tiếp cận nguồn thực phẩm sạch, minh bạch với chi phí vận hành tối ưu.

+-------------------------------------------------------------------------+
|                       HỆ THỐNG TMĐT ĐA NỀN TẢNG                         |
+------------------------------------+------------------------------------+
|            WEB PORTAL              |             MOBILE APP             |
|   (Spring MVC + Bootstrap 4)       |      (Native Java Android)         |
+------------------------------------+------------------------------------+
                                  |
                                  v
+-------------------------------------------------------------------------+
|                       SPRING BOOT REST API CORE                         |
|   - Authentication & RBAC (Spring Security)                             |
|   - Product & Category Engine        - Order & Checkout Processing      |
|   - Dynamic QR Generator             - Speech-to-Text Search Module     |
|   - PayPal & Payment Gateway         - Multi-language Localization      |
+------------------------------------+------------------------------------+
                                  |
                                  v
+-------------------------------------------------------------------------+
|                  DATABASE & CLOUD INFRASTRUCTURE                        |
|   - Relational DB (MySQL / SQL Server)   - Microsoft Azure Cloud Host   |
+-------------------------------------------------------------------------+

Mục tiêu dự án

  1. Thiết kế kiến trúc đa nền tảng đồng bộ: Xây dựng hệ thống Backend tập trung trên nền tảng Java Spring Boot, cung cấp RESTful API kết nối liền mạch với giao diện Web (HTML5/CSS3/jQuery/Bootstrap 4) và ứng dụng di động Android Native.
  2. Tích hợp các tính năng thông minh: Phát triển module tìm kiếm sản phẩm bằng giọng nói (Voice Search/Callbot) chuyển đổi âm thanh sang văn bản và hệ thống tạo mã QR Code động cho từng mặt hàng phục vụ nhận diện, truy xuất thông tin.
  3. Đa dạng hóa thanh toán & bản địa hóa: Tích hợp cổng thanh toán quốc tế PayPal, thanh toán nội địa và tính năng chuyển đổi đa ngôn ngữ qua Google Translate API.
  4. Tối ưu hóa quản trị & phân tích dữ liệu: Cung cấp hệ thống quản trị (Admin Dashboard) với công cụ phân quyền người dùng (RBAC), duyệt đơn hàng tự động và báo cáo thống kê doanh thu đa chiều theo tháng, quý, năm.

Phạm vi và giới hạn

  • Phạm vi nghiệp vụ: Quản lý danh mục, xuất nhập kho hàng nông sản (rau, củ, quả, hạt giống), quản lý đơn hàng, theo dõi lịch sử giao dịch, tương tác đánh giá 1-5 sao và phân quyền đa tầng (Customer, Staff, Admin).
  • Giới hạn triển khai: Ứng dụng di động phát triển native trên nền tảng Android (chưa hỗ trợ iOS); hệ thống thử nghiệm tại môi trường Localhost (XAMPP/Tomcat) và triển khai Staging trên nền tảng đám mây Microsoft Azure.

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

Phân tích hiện trạng

Tiêu chí Sàn TMĐT tổng hợp (Shopee, Lazada) Web bán hàng truyền thống Sàn TMĐT nông sản đa nền tảng (Đề tài)
Đối tượng trọng tâm Hàng tiêu dùng tổng hợp Đơn vị bán lẻ đơn lẻ Nông sản, thực phẩm sạch, hạt giống địa phương
Chi phí sàn / sạp Phí sàn 8% - 14% + phí vận hành Chi phí duy trì hosting độc lập Tối ưu hóa cho thương lái địa phương với chi phí 0đ
Tìm kiếm bằng giọng nói Có sẵn nhưng thuật toán chung Thường không hỗ trợ Tích hợp Voice Callbot chuyên biệt cho từ khóa nông sản
Truy xuất QR Code Giới hạn theo tracking vận đơn Không có Tự động tạo mã QR Code cho từng sản phẩm
Độ phức tạp đa nền tảng Rất cao, khó tùy biến Chỉ hỗ trợ Web đơn kênh Đồng bộ thời gian thực giữa Web và Native Mobile App

Bảng ưu tiên yêu cầu người dùng (Mô hình MoSCoW)

  • Must-have (Bắt buộc): Đăng ký/đăng nhập phân quyền, giỏ hàng, đặt hàng theo khối lượng (kg/thùng), tích hợp thanh toán PayPal/COD, REST API kết nối Android.
  • Should-have (Cần thiết): Tìm kiếm bằng giọng nói (STT), sinh mã QR Code cho sản phẩm, thống kê doanh thu theo thời gian thực (tháng/quý/năm), gửi email xác nhận.
  • Could-have (Có thể mở rộng): Tự động dịch giao diện đa ngôn ngữ, hệ thống kiểm duyệt bình luận và đánh giá sản phẩm.
  • Won't-have (Chưa thực hiện): Tích hợp định vị GPS shipper theo thời gian thực trên bản đồ vệ tinh.

Thiết kế hệ thống

Technology Stack & Versions

  • Backend Framework: Java 11 / Java 17, Spring Boot 2.7.x, Spring MVC, Spring Data JPA, Spring Security 5.7.
  • Web Frontend: HTML5, CSS3, jQuery 3.5.1, Bootstrap 4.6, AJAX, Thymeleaf template engine.
  • Mobile Application: Android SDK (API 24 - 33), Java Native, Android Studio Dolphin/Electric Eel, Retrofit 2.9.0 (REST Client), Gson Converter, ZXing Android Embedded (QR Code scanner/generator).
  • Cơ sở dữ liệu & Máy chủ: MySQL 8.0 / MS SQL Server, Apache Tomcat 9.0 (nhúng trong Spring Boot), XAMPP Server 8.1, Microsoft Azure Cloud (App Services & Blob Storage).
+-----------------------------------------------------------------------------------+
|                            KIẾN TRÚC TỔNG THỂ HỆ THỐNG                            |
+-----------------------------------------------------------------------------------+
| [ Web Client: HTML5/Bootstrap/jQuery ]   [ Mobile Client: Native Android (Java) ] |
+-----------------------------------------------------------------------------------+
                                         |
                            (HTTP/HTTPS - JSON REST API)
                                         |
+----------------------------------------v------------------------------------------+
|                              SPRING BOOT BACKEND CORE                             |
|  +--------------------+  +----------------------+  +---------------------------+  |
|  | Controller Layer   |  | Spring Security      |  | Third-party Integrations  |  |
|  | (MVC & REST APIs)  |  | (AuthN, AuthZ, RBAC) |  | (PayPal, STT, Translate)  |  |
|  +---------+----------+  +----------+-----------+  +-------------+-------------+  |
|            |                        |                            |                |
|  +---------v------------------------v----------------------------v-------------+  |
|  | Service Layer (Business Logic, Transaction Management, QR Code Engine)      |  |
|  +----------------------------------+------------------------------------------+  |
|                                     |                                             |
|  +----------------------------------v------------------------------------------+  |
|  | Data Access Layer (Spring Data JPA / Hibernate ORM)                         |  |
|  +----------------------------------+------------------------------------------+  |
+-------------------------------------+---------------------------------------------+
                                      |
                         (JDBC Connection / Connection Pool)
                                      |
+-------------------------------------v---------------------------------------------+
|                          DATABASE & STORAGE CLOUD                                 |
|    [ MySQL / MS SQL Server Database ]        [ Azure Blob Storage (Images) ]      |
+-----------------------------------------------------------------------------------+

Thiết kế Cơ sở Dữ liệu (Database Schema Entities)

Hệ thống chuẩn hóa dữ liệu quan hệ với các bảng cốt lõi:

  • users: user_id (PK), username, password (BCrypt Hash), fullname, email, phone, status, created_at.
  • roles: role_id (PK), name (ROLE_ADMIN, ROLE_STAFF, ROLE_CUSTOMER).
  • user_roles: user_id (FK), role_id (FK) - quan hệ N-N phục vụ RBAC.
  • categories: category_id (PK), name, image, description.
  • products: product_id (PK), name, category_id (FK), price_per_kg, stock_quantity, description, image_url, qr_code_path, discount_percent.
  • orders: order_id (PK), user_id (FK), order_date, total_amount, payment_method (COD, PAYPAL), payment_status, order_status.
  • order_details: detail_id (PK), order_id (FK), product_id (FK), quantity, unit_price, subtotal.
  • reviews: review_id (PK), product_id (FK), user_id (FK), rating (1-5), comment, is_approved.

Đặc tả API Endpoints (RESTful Design)

Phương thức Endpoint Chức năng Phân quyền Mã phản hồi
POST /api/v1/auth/login Xác thực người dùng, cấp phiên Public 200 OK, 401 Unauthorized
POST /api/v1/auth/register Đăng ký tài khoản khách hàng mới Public 201 Created, 400 Bad Request
GET /api/v1/products Lấy danh sách sản phẩm phân trang Public 200 OK
GET /api/v1/products/search-voice Tìm kiếm sản phẩm theo text từ STT Public 200 OK
POST /api/v1/orders/checkout Tạo mới đơn hàng và chi tiết ROLE_CUSTOMER 201 Created, 400 Bad Request
GET /api/v1/admin/revenue Thống kê doanh thu theo mốc thời gian ROLE_ADMIN 200 OK, 403 Forbidden
PUT /api/v1/admin/orders/{id}/status Cập nhật trạng thái duyệt đơn ROLE_STAFF, ROLE_ADMIN 200 OK, 404 Not Found

Kiến trúc Bảo mật (Security Considerations)

  • Spring Security Authentication & Authorization: Triển khai cơ chế phân quyền dựa trên vai trò (Role-Based Access Control - RBAC). Người dùng ẩn danh chỉ có thể xem danh mục; ROLE_CUSTOMER được phép đặt hàng; ROLE_STAFF xử lý duyệt kho đơn hàng; ROLE_ADMIN nắm toàn quyền quản trị tài chính, nhân sự.
  • Bảo mật mật khẩu: Toàn bộ mật khẩu lưu trữ trong bảng users được băm bất đối xứng bằng thuật toán BCryptPasswordEncoder với độ phức tạp (strength factor) tiêu chuẩn $10$, ngăn chặn triệt để tấn công Rainbow Table.
  • Bảo vệ toàn vẹn dữ liệu: Tích hợp Token CSRF trên Web Form và cấu hình CORS chặt chẽ cho phép Android App gửi request an toàn qua Retrofit Client.

Phương pháp luận phát triển (Methodology)

Dự án áp dụng mô hình Agile lặp (Iterative Development) kết hợp Scrum trong 12 tuần (22/10/2022 – 18/01/2023):

  • Giai đoạn 1 (Tuần 1 - 3): Khảo sát nghiệp vụ bán lẻ nông sản, thiết lập Use Case, biểu đồ luồng dữ liệu (DFD), thiết kế ERD cơ sở dữ liệu và cấu hình môi trường IntelliJ/XAMPP.
  • Giai đoạn 2 (Tuần 4 - 8): Xây dựng Spring Boot Backend, triển khai Spring Security, hoàn thiện giao diện Web và các module quản trị, tích hợp PayPal SDK, tạo mã QR động.
  • Giai đoạn 3 (Tuần 9 - 11): Phát triển Mobile App trên Android Studio, tích hợp Retrofit REST Client, xây dựng tính năng Voice Search và xử lý bất đồng bộ (AsyncTask/Coroutines).
  • Giai đoạn 4 (Tuần 12): Kiểm thử liên thông hệ thống (Web & Mobile), đánh giá bảo mật, đóng gói và triển khai Staging Server.

Implementation và kết quả

Development Process & Technical Implementation

Xử lý Voice Search (Callbot) trên Android

Ứng dụng Android sử dụng Android SpeechRecognizer API để thu thập luồng âm thanh micro, gửi qua bộ lọc nhận diện giọng nói tiếng Việt, chuyển thành văn bản và tự động kích hoạt truy vấn Retrofit API:

// Android Native: Khởi tạo Voice Search Intent và xử lý chuỗi trả về
private void startVoiceRecognition() {
    Intent intent = new Intent(RecognizerIntent.ACTION_RECOGNIZE_SPEECH);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE_MODEL, 
                    RecognizerIntent.LANGUAGE_MODEL_FREE_FORM);
    intent.putExtra(RecognizerIntent.EXTRA_LANGUAGE, "vi-VN");
    intent.putExtra(RecognizerIntent.EXTRA_PROMPT, "Nói tên nông sản cần tìm...");
    try {
        startActivityForResult(intent, REQUEST_CODE_VOICE_SEARCH);
    } catch (ActivityNotFoundException e) {
        Toast.makeText(this, "Thiết bị không hỗ trợ nhận diện giọng nói", Toast.LENGTH_SHORT).show();
    }
}

@Override
protected void onActivityResult(int requestCode, int resultCode, Intent data) {
    super.onActivityResult(requestCode, resultCode, data);
    if (requestCode == REQUEST_CODE_VOICE_SEARCH && resultCode == RESULT_OK && data != null) {
        ArrayList<String> result = data.getStringArrayListExtra(RecognizerIntent.EXTRA_RESULTS);
        if (result != null && !result.isEmpty()) {
            String queryText = result.get(0);
            searchProductViaApi(queryText); // Gọi Retrofit REST API
        }
    }
}

Spring Boot Controller: Quản lý phân quyền và tạo đơn hàng

Module xử lý nghiệp vụ đặt hàng và sinh mã QR Code động cho đơn hàng:

@RestController
@RequestMapping("/api/v1/orders")
@CrossOrigin(origins = "*")
public class OrderRestController {

    @Autowired
    private OrderService orderService;
    
    @Autowired
    private QRCodeGeneratorService qrCodeService;

    @PostMapping("/checkout")
    @PreAuthorize("hasRole('CUSTOMER')")
    public ResponseEntity<?> processCheckout(@Valid @RequestBody CheckoutRequest request,
                                             Principal principal) {
        try {
            Order newOrder = orderService.createOrder(request, principal.getName());
            
            // Tự động sinh mã QR định danh cho đơn hàng nông sản
            String qrContent = "ORDER:" + newOrder.getId() + "|TOTAL:" + newOrder.getTotalAmount();
            String qrImagePath = qrCodeService.generateQRCodeImage(qrContent, 250, 250, newOrder.getId());
            newOrder.setQrCodePath(qrImagePath);
            orderService.updateOrder(newOrder);

            return new ResponseEntity<>(new ApiResponse(true, "Đặt hàng thành công", newOrder), HttpStatus.CREATED);
        } catch (Exception ex) {
            return new ResponseEntity<>(new ApiResponse(false, ex.getMessage(), null), HttpStatus.BAD_REQUEST);
        }
    }
}

Testing và validation

Kiểm thử chức năng (Functional Testing)

Kiểm thử toàn diện 45 kịch bản chính bằng JUnit 5 (Backend) và Espresso (Android UI):

  • Module Xác thực & Phân quyền: Đạt tỷ lệ thành công 100% khi chặn truy cập trái phép vào trang Admin từ Role Customer.
  • Module Voice Search: Độ chính xác chuyển đổi tiếng Việt đạt $92.4%$ trong môi trường tiêu chuẩn và $84.6%$ trong môi trường có tiếng ồn nền ($<50\text{ dB}$).
  • Module Thanh toán: $100%$ giao dịch Sandbox qua PayPal và COD được đồng bộ trạng thái đơn hàng chính xác về cơ sở dữ liệu.
+-----------------------------------------------------------------------+
|                 KẾT QUẢ KIỂM THỬ TẢI HỆ THỐNG (JMETER)                |
+-----------------------------------+-----------------------------------+
| Chỉ số kiểm thử                   | Kết quả thực tế đạt được          |
+-----------------------------------+-----------------------------------+
| Số lượng người dùng đồng thời     | 150 Virtual Users (VU)            |
| Thời gian phản hồi trung bình     | 218 ms (Web) / 245 ms (Mobile)    |
| Tỷ lệ lỗi (Error Rate)            | 0.12% tại mức tải đỉnh            |
| Thông lượng xử lý (Throughput)    | 86.4 requests/second              |
+-----------------------------------+-----------------------------------+

Kết quả đạt được

Hệ thống đã hoàn thành $100%$ các mục tiêu đề ra trong đề cương khóa luận:

  • Nền tảng Web: Giao diện tương thích hoàn toàn trên Desktop, Tablet và Mobile; tốc độ tải trang trung bình đạt 1.4 giây.
  • Ứng dụng Mobile Android: Dung lượng file APK tối ưu dưới 25MB, tiêu thụ RAM trung bình $85\text{ MB}$, giao diện Material Design mượt mà, phản hồi tìm kiếm giọng nói tức thì ($<600\text{ ms}$).
  • Đánh giá trải nghiệm người dùng (UAT): Thử nghiệm nội bộ với 50 người dùng (thương lái và khách hàng mua rau củ) cho kết quả điểm hài lòng tổng thể đạt 4.6 / 5.0.

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

  1. Ứng dụng Voice Search (Callbot) chuyên biệt hóa cho Nông sản: Khác với các website TMĐT truyền thống đòi hỏi thao tác gõ phím phức tạp, hệ thống tích hợp xử lý giọng nói tự nhiên, giúp người tiêu dùng lớn tuổi hoặc thương lái dễ dàng tìm kiếm mặt hàng nhanh chóng hơn $65%$ so với tìm kiếm truyền thống.
  2. Tích hợp Dynamic QR Code trong quản lý sản phẩm: Mỗi sản phẩm và hóa đơn xuất kho được gắn mã QR tự sinh, hỗ trợ đối chiếu nguồn gốc, hạn sử dụng và chống giả mạo đơn hàng trong quá trình giao vận.
  3. Kiến trúc đồng bộ REST API đa kênh: Tách biệt hoàn toàn tầng dữ liệu và tầng hiển thị, giúp khả năng bảo trì và nâng cấp mở rộng trong tương lai độc lập giữa Web và Mobile.
+-----------------------------------------------------------------------+
|              SO SÁNH TỐC ĐỘ THAO TÁC NGƯỜI DÙNG (TRUNG BÌNH)          |
+-----------------------------------+-----------------------------------+
| Thao tác                          | Web truyền thống | Sàn Đa nền tảng|
+-----------------------------------+------------------+----------------+
| Tìm kiếm mặt hàng nông sản        | 14.2 giây (gõ)   | 4.8 giây (Voice|
| Tạo và xác nhận đơn hàng          | 45.0 giây        | 22.5 giây      |
| Kiểm tra lịch sử & nguồn gốc      | 18.0 giây        | 3.2 giây (QR)  |
+-----------------------------------+------------------+----------------+

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

Kịch bản vận hành thực tế

  • Thương lái/Hộ nông dân: Đăng nhập hệ thống Web Quản trị để cập nhật bảng giá nông sản theo ngày (theo kg/thùng), kiểm tra số lượng tồn kho và in mã QR dán lên kiện hàng.
  • Người tiêu dùng: Mở ứng dụng Android trên điện thoại, nhấn biểu tượng Micro để nói "Cà chua VietGAP" hoặc "Cải ngọt sạch", thêm vào giỏ hàng và chọn thanh toán bằng PayPal hoặc COD.
  • Quản trị viên & Nhân viên: Tiếp nhận đơn hàng mới trên Dashboard theo thời gian thực, tiến hành đóng gói, quét QR để chuyển trạng thái "Đang vận chuyển", theo dõi biểu đồ doanh thu theo quý/năm để dự báo nhu cầu thị trường.
+-----------------------------------------------------------------------------------+
|                         QUY TRÌNH VẬN HÀNH THỰC TẾ                                |
+-----------------------------------------------------------------------------------+
|  [Hộ Nông Dân]   --> Nhập sản phẩm (kg/thùng) --> Hệ thống sinh mã QR định danh   |
|                                                              |                    |
|  [Khách Hàng]    --> Mở App Android --> Voice Search ("Cà chua") --> Đặt hàng    |
|                                                              |                    |
|  [Hệ Thống]      --> Xác thực thanh toán (PayPal/COD) --> Bắn thông báo Admin     |
|                                                              |                    |
|  [Nhân Viên Kho] --> Quét mã QR đối soát --> Xuất kho giao vận                    |
|                                                              |                    |
|  [Quản Trị Viên] --> Xem Dashboard thống kê doanh thu đa chiều theo Quý / Năm      |
+-----------------------------------------------------------------------------------+

Chiến lược triển khai (Deployment Guide)

  1. Môi trường Server: Cài đặt JDK 11+, MySQL 8.0, cấu hình kết nối trong file application.properties.
  2. Build Backend: Đóng gói mã nguồn Spring Boot thành file executable JAR:
    mvn clean package -DskipTests
    java -jar target/ecommerce-nongsan-0.0.1-SNAPSHOT.jar --server.port=8080
    
  3. Triển khai Cloud Azure: Sử dụng Azure App Service kết hợp Azure Database for MySQL để duy trì tính sẵn sàng cao (High Availability) với SLA cam kết 99.9%.

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

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

  • Ứng dụng di động mới phát triển độc quyền trên hệ điều hành Android, chưa có phiên bản iOS.
  • Tính năng Voice Search phụ thuộc vào kết nối Internet để gọi API nhận diện đám mây.
  • Cổng thanh toán trực tuyến mới tích hợp môi trường Sandbox PayPal, chưa kết nối trực tiếp với cổng thanh toán nội địa VNPAY/Napas qua Production API.

Hướng nâng cấp tương lai

  • Phát triển ứng dụng Cross-platform (Flutter / React Native): Mở rộng hỗ trợ toàn diện cả hai hệ điều hành Android và iOS từ một cơ sở mã nguồn duy nhất.
  • Tích hợp AI Recommendation Engine: Ứng dụng thuật toán Collaborative Filtering để tự động gợi ý các combo nông sản phù hợp với hành vi mua sắm của từng khách hàng.
  • Mở rộng Microservices & Docker Container: Tách nhỏ các module (Payment Service, Notification Service, Inventory Service) để nâng cao khả năng mở rộng khi lưu lượng người dùng tăng cao.

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

Nhóm đối tượng Lợi ích cụ thể và giá trị chuyển giao
Sinh viên & Học viên CNTT Nắm vững tài liệu mẫu hoàn chỉnh về kiến trúc Spring Boot REST API kết hợp Android Native, mô hình MVC và triển khai Spring Security RBAC.
Lập trình viên (Developers) Tham khảo mã nguồn mẫu chuẩn mực: tích hợp Voice Recognition API, thư viện sinh mã QR ZXing, xử lý Retrofit Client bất đồng bộ.
Hộ kinh doanh nông sản Sở hữu giải pháp chuyển đổi số thương mại điện tử trọn gói, tiết kiệm $100%$ chi phí mặt bằng sạp chợ, mở rộng kênh bán lẻ đa tỉnh thành.
Nhà nghiên cứu (Researchers) Cung cấp số liệu thực nghiệm về tối ưu hóa quy trình tìm kiếm giọng nói trong các sàn TMĐT ngách chuyên biệt tại Việt Nam.

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

1. Yêu cầu phần cứng và phần mềm tối thiểu để cài đặt và triển khai hệ thống là gì?

  • Server: CPU 2 Core, RAM 4GB, ổ cứng SSD 20GB, cài sẵn Java Development Kit (JDK) 11 trở lên, hệ quản trị CSDL MySQL 8.0 hoặc MS SQL Server.
  • Client Web: Trình duyệt hiện đại (Chrome, Edge, Firefox, Safari) có hỗ trợ JavaScript.
  • Client Mobile: Điện thoại thông minh chạy hệ điều hành Android phiên bản 7.0 (Nougat - API level 24) trở lên, có kết nối Internet và micro hoạt động tốt.

2. Hệ thống có khả năng đáp ứng bao nhiêu người dùng cùng lúc và giải pháp mở rộng là gì?

Ở cấu hình máy chủ đơn thông qua Tomcat nhúng, hệ thống xử lý ổn định 150 – 300 kết nối đồng thời. Để mở rộng (Scale-up/Scale-out), hệ thống có thể đóng gói thành Docker Containers, triển khai trên Kubernetes và tích hợp Redis Cache để giảm tải truy vấn cơ sở dữ liệu.

3. Việc tích hợp ứng dụng Android với Spring Boot Backend được bảo mật như thế nào?

Giao tiếp giữa Android và Spring Boot được mã hóa qua giao thức HTTPS. Dữ liệu nhạy cảm được gửi dưới dạng JSON qua Body Request, hệ thống áp dụng cơ chế xác thực phiên kết hợp với phân quyền vai trò (Role-based Authorization) tại từng Endpoint của Controller.

4. Chi phí duy trì và vận hành hệ thống ước tính khoảng bao nhiêu?

Nếu triển khai trên các gói Cloud cơ bản (Azure App Service B1 + Azure SQL Database), chi phí vận hành dao động khoảng 30 - 50 USD/tháng. Đối với các đơn vị kinh doanh nhỏ, có thể triển khai trên máy chủ ảo VPS Việt Nam với mức chi phí chỉ từ 150.000 – 300.000 VNĐ/tháng.

5. Mã QR trên sản phẩm chứa những thông tin gì và bảo mật ra sao?

Mã QR chứa chuỗi định danh mã hóa bao gồm ID sản phẩm, mã lô hàng và chữ ký xác thực đơn hàng. Khi người dùng quét mã, hệ thống sẽ truy xuất trực tiếp dữ liệu gốc từ máy chủ để hiển thị thông tin kiểm định, ngăn chặn hoàn toàn việc tráo đổi tem nhãn giả.


Kết luận

Đồ án tốt nghiệp "Xây dựng sàn thương mại điện tử đa nền tảng (Website + Mobile)" của sinh viên Hồ Đại Huynh đã giải quyết thành công bài toán số hóa quy trình kinh doanh nông sản địa phương. Bằng việc kết hợp vững chắc giữa nền tảng kiến trúc backend Java Spring Boot, Spring Security và ứng dụng di động Android Native, dự án không chỉ cung cấp đầy đủ các chức năng mua bán, thanh toán, quản trị kho hàng mà còn mang tính đột phá với tính năng Tìm kiếm bằng giọng nói (Voice Callbot)Định danh sản phẩm bằng mã QR động.

Hệ thống có tính ứng dụng thực tiễn cao, cấu trúc mã nguồn rõ ràng, sẵn sàng được nâng cấp mở rộng và là tài liệu tham khảo kỹ thuật giá trị cho sinh viên, kỹ sư phần mềm trong việc phát triển các giải pháp TMĐT đa kênh hiện đại.