Giới thiệu dự án

Ngành logistics và chuỗi cung ứng đóng vai trò xương sống trong việc lưu thông hàng hóa và phát triển kinh tế. Tuy nhiên, các doanh nghiệp logistics đường bộ tại Việt Nam đang đối mặt với nhiều rào cản vận hành nghiêm trọng. Theo báo cáo từ Deloitte Insights (2022), có tới 45% trong số 500 doanh nghiệp logistics gặp áp lực tài chính và trở ngại kỹ thuật lớn khi triển khai số hóa. Đồng thời, nghiên cứu của Accenture (2021) chỉ ra rằng hơn 60% doanh nghiệp logistics từng là nạn nhân của các vụ tấn công mạng, với 30% bị thất thoát dữ liệu quan trọng hoặc gián đoạn chuỗi cung ứng. Ngoài ra, Gartner (2020) công bố chỉ 30% doanh nghiệp tích hợp thành công hệ thống quản lý vận tải (TMS) với hệ thống quản lý kho (WMS) và đơn hàng (OMS).

+-----------------------------------------------------------------------------------+
|                            BỐI CẢNH NGÀNH LOGISTICS                              |
+------------------------------------+----------------------------------------------+
| Deloitte Insights (2022)           | 45% doanh nghiệp gặp khó khăn khi số hóa     |
| Accenture (2021)                   | 60% bị tấn công mạng, 30% mất dữ liệu        |
| Gartner (2020)                     | Chỉ 30% tích hợp thành công TMS với WMS/OMS  |
+------------------------------------+----------------------------------------------+

Vấn đề thực tiễn (Problem Statement)

Thực trạng điều hành vận tải truyền thống tồn tại các điểm nghẽn (pain points) lớn:

  • Thiếu giám sát thời gian thực: Quá trình giao nhận, lộ trình di chuyển và tình trạng phương tiện trước chuyến đi không được số hóa chặt chẽ, dẫn đến thất thoát nhiên liệu và chậm trễ tiến độ.
  • Rủi ro pháp lý vận tải: Các quy định pháp luật giao thông đường bộ, giới hạn tải trọng, phân luồng giờ cấm và thủ tục giấy tờ thay đổi liên tục nhưng thiếu công cụ tra cứu tích hợp tức thì, gây gián đoạn vận hành và phát sinh chi phí phạt vi phạm.
  • Chi phí triển khai phần mềm độc lập quá cao: Các doanh nghiệp vừa và nhỏ (SME) khó tiếp cận hệ thống ERP/TMS chuyên nghiệp do chi phí bản quyền và hạ tầng máy chủ tốn kém.

Mục tiêu dự án

  1. Xây dựng nền tảng Hệ thống Quản lý Vận tải (Transport Management System - TMS) toàn diện, hỗ trợ quản lý vòng đời đơn hàng từ tiếp nhận, điều phối, định tuyến đến nghiệm thu giao hàng.
  2. Thiết kế và hiện thực hóa kiến trúc Multi-tenant (Đa người thuê), cho phép triển khai độc lập, an toàn dữ liệu và tối ưu chi phí hạ tầng cho nhiều doanh nghiệp logistics trên cùng một hạ tầng dùng chung.
  3. Phát triển ứng dụng di động chuyên biệt cho tài xế với tính năng Healthcheck phương tiện, giám sát trạng thái đơn hàng và tích hợp bản đồ số điều hướng.
  4. Tích hợp hệ thống tra cứu văn bản pháp quy giao thông thông minh dựa trên mô hình bản đồ tri thức (Ontology Knowledge Graph), giải quyết triệt để bài toán tuân thủ pháp luật vận tải.

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

Dự án áp dụng phương pháp thiết kế phân tán (Polyglot Microservices), kết hợp giữa kiến trúc SaaS Multi-tenant và công nghệ trích xuất tri thức pháp lý. Hệ thống hướng tới việc giảm 40% thời gian xử lý điều phối, cắt giảm 65% độ trễ tra cứu quy định pháp lý, và đạt độ sẵn sàng hệ thống (SLA/Uptime) 99.9% trên môi trường container hóa.

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

  • Phạm vi môi trường: Web App dành cho quản trị viên/điều phối viên và quản trị viên Tenant; Mobile App dành cho tài xế trên hệ điều hành Android; Hệ thống Backend phân tán tích hợp Database quan hệ và phi quan hệ.
  • Giới hạn: Ứng dụng di động hiện tập trung trên nền tảng Android (chưa phát hành bản Native iOS); thuật toán tối ưu hóa tuyến đường đa điểm (VRP) ở mức tích hợp bản đồ tọa độ và tính toán cước động, chưa kết hợp mô hình AI phân tích mật độ giao thông theo thời gian thực (real-time traffic flow prediction).

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

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

Khảo sát thị trường các giải pháp TMS hiện hữu cho thấy các khoảng trống công nghệ rõ rệt:

Tiêu chí so sánh Xlogis BestGear Hệ thống đề xuất (Thesis TMS)
Mô hình kiến trúc Single-tenant SaaS Monolithic Web/App Multi-tenant Microservices
Giao diện người dùng (UI/UX) Thô sơ, khó mở rộng Đầy đủ nhưng phức tạp React 18 Component-driven hiện đại
Ứng dụng di động tài xế Không có/Hạn chế Hỗ trợ cơ bản Android Kotlin + Healthcheck quy chuẩn
Tra cứu pháp quy giao thông Không tích hợp Không tích hợp Ontology-based Legal Search Engine
Chi phí triển khai Định mức $5/user/tháng Thuê bao trọn gói cao Tối ưu theo mô hình chia sẻ tài nguyên Multi-tenant
Độc lập dữ liệu Phụ thuộc cấu hình Chung CSDL Phân tách Tenant linh hoạt (DB/Schema Isolation)

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

  • Must Have (Bắt buộc): Xác thực đa tầng (JWT Auth), Quản lý đơn hàng/phương tiện/tài xế/tuyến đường/garage, Luồng vận chuyển di động cho tài xế (Check-in/Healthcheck, Update status), Quản lý Tenant (Create, Activate, Suspend, Terminate).
  • Should Have (Nên có): Tra cứu điều luật pháp quy theo ngữ cảnh vi phạm giao thông, Báo cáo thống kê doanh thu - công nợ trực quan, Cảnh báo vị trí lệch tuyến bằng GPS.
  • Could Have (Có thể có): Gợi ý chọn xe tự động theo tải trọng tối ưu, Lịch sử bảo dưỡng phương tiện định kỳ.
  • Won't Have (Chưa thực hiện đợt này): Thanh toán trực tiếp qua cổng Payment Gateway quốc tế, Ứng dụng iOS native.

Thiết kế hệ thống

Hệ thống được xây dựng theo mô hình Microservices phân tán với kiến trúc đa tầng chịu tải cao:

                  +-------------------------------------------------------------+
                  |                         CLIENT LAYER                        |
                  |  +---------------------------+  +------------------------+  |
                  |  | Web App (Admin/Tenant)    |  | Mobile App (Tài xế)    |  |
                  |  | React 18.2 + TailwindCSS  |  | Android 13 + Kotlin    |  |
                  |  +-------------+-------------+  +-----------+------------+  |
                  +----------------|----------------------------|---------------+
                                   | HTTP/REST (OpenAPI)        |
                                   v                            v
                  +-------------------------------------------------------------+
                  |                      API GATEWAY LAYER                      |
                  |           Reverse Proxy, Rate Limiting, Load Balancer       |
                  +------------------------------+------------------------------+
                                                 |
         +---------------------------------------+--------------------------------------+
         |                                       |                                      |
         v                                       v                                      v
+------------------------+             +------------------------+             +------------------------+
|   AUTH SERVICE         |             |   CORE TMS SERVICE     |             |   TENANT & LEGAL       |
|   FastAPI 0.95 (Python)|             |   Spring Boot 3.0(Java)|             |   NestJS 9.4 (Node.js) |
|   - JWT, RBAC          |             |   - Orders, Drivers    |             |   - Tenant Lifecycle   |
|   - Token Validation   |             |   - Fleet & Routes     |             |   - Ontology Law Search|
+-----------+------------+             +-----------+------------+             +-----------+------------+
            |                                      |                                      |
            v                                      v                                      v
+------------------------+             +------------------------+             +------------------------+
| PostgreSQL 15 (Auth DB)|             | PostgreSQL 15 (TMS DB) |             | MongoDB 6.0 (Ontology) |
| Relational ACID Schema |             | Multi-schema Isolation |             | Document Knowledge Base|
+------------------------+             +------------------------+             +------------------------+

Technology Stack và phiên bản chuẩn hóa

  • Frontend Web: ReactJS 18.2.0, Redux Toolkit, TailwindCSS 3.3.0, Axios.
  • Mobile Client: Android Native (Kotlin 1.8.20, Android SDK 33, Android Jetpack, Google Maps SDK 18.1.0, Retrofit 2.9.0).
  • Backend Services:
    • Core Logistics Service: Java 17, Spring Boot 3.0.6, Spring Data JPA, Hibernate ORM.
    • Authentication & Authorization Service: Python 3.10, FastAPI 0.95.1, Pydantic v1, python-jose (JWT).
    • Multi-tenant & Legal Engine: Node.js 18 LTS, NestJS 9.4.0, TypeORM 0.3.15, Mongoose 7.0.3.
  • Database & Storage: PostgreSQL 15.2 (ACID transactions), MongoDB 6.0.5 (NoSQL Law Document Collections).
  • Containerization & DevOps: Docker Engine 24.0.2, Docker Compose v2.

Database Schema Design

Hệ thống sử dụng mô hình lai:

  • PostgreSQL Relational Schema: Quản lý các quan hệ thực thể chặt chẽ: Tenants, Users, Drivers, Vehicles, Garages, Locations, Routes, Orders, OrderItems, Invoices. Khóa ngoại (Foreign Keys) và ràng buộc toàn vẹn dữ liệu được thực thi nghiêm ngặt để tính toán doanh thu, công nợ và trọng tải xe.
  • MongoDB Document Schema: Lưu trữ cây phân cấp điều luật pháp quy: law_documents, chapters, articles, clauses, penalties, keywords_ontology. Cho phép truy vấn Full-text search và duyệt đồ thị tri thức linh hoạt với độ trễ thấp.
-- Trích đoạn cấu trúc bảng đơn hàng vận tải trong PostgreSQL
CREATE TABLE transport_orders (
    id UUID PRIMARY KEY DEFAULT gen_random_uuid(),
    tenant_id VARCHAR(64) NOT NULL,
    order_code VARCHAR(32) NOT NULL UNIQUE,
    driver_id UUID REFERENCES drivers(id),
    vehicle_id UUID REFERENCES vehicles(id),
    route_id UUID NOT NULL REFERENCES routes(id),
    start_garage_id UUID REFERENCES garages(id),
    end_garage_id UUID REFERENCES garages(id),
    status VARCHAR(32) NOT NULL DEFAULT 'PENDING',
    total_weight NUMERIC(10, 2) NOT NULL,
    total_freight_cost NUMERIC(12, 2) NOT NULL,
    created_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP,
    updated_at TIMESTAMP WITH TIME ZONE DEFAULT CURRENT_TIMESTAMP
);
CREATE INDEX idx_orders_tenant_status ON transport_orders(tenant_id, status);

Thiết kế API và Bảo mật

  • API Standards: 100% tuân thủ RESTful API và đặc tả OpenAPI 3.0 (Swagger UI).
  • Security & Authorization:
    • Token-based Authentication qua JWT (JSON Web Tokens) với thuật toán ký RS256 hoặc HS256.
    • Phân quyền người dùng dựa trên vai trò (Role-Based Access Control - RBAC): SYSTEM_ADMIN, TENANT_ADMIN, DISPATCHER, DRIVER.
    • Dữ liệu giữa các Tenant được phân lập logic thông qua trường định danh tenant_id trong token context và bộ lọc tự động tại tầng Data Access Layer (Spring JPA Filter / NestJS Interceptor).

Methodology

Dự án áp dụng phương pháp phát triển phần mềm linh hoạt (Agile/Scrum) kết hợp kiểm thử chất lượng liên tục.

+-----------------------------------------------------------------------------------+
|                        LỘ TRÌNH TRIỂN KHAI DỰ ÁN (TIMELINE)                       |
+-------------------+--------------------------------------------+------------------+
| Giai đoạn         | Hạng mục bàn giao (Deliverables)           | Thời gian        |
+-------------------+--------------------------------------------+------------------+
| Phase 1: Survey   | Báo cáo khảo sát, SRS, Đặc tả Use-Case     | Tuần 1 - Tuần 3  |
| Phase 2: Design   | Thiết kế Kiến trúc, CSDL, Wireframe UI     | Tuần 4 - Tuần 6  |
| Phase 3: Core Dev | Hiện thực hóa Spring Boot, FastAPI, NestJS | Tuần 7 - Tuần 13 |
| Phase 4: App & AI | Hoàn thiện Android App & Ontology Search   | Tuần 14 - Tuần 17|
| Phase 5: QA & UAT | Integration Test, Load Test, Fix bugs      | Tuần 18 - Tuần 20|
+-------------------+--------------------------------------------+------------------+

Quản lý rủi ro và Đảm bảo chất lượng (QA)

  • Rủi ro rò rỉ dữ liệu chéo Tenant (Cross-tenant data leak): Khắc phục bằng giải pháp Tenant Context Filter tự động ở mọi truy vấn Database; Unit test kiểm tra 100% các API CRUD có ràng buộc tenant_id.
  • Rủi ro mất kết nối mạng khi tài xế di chuyển: Triển khai cơ chế Offline Cache trên Android bằng Room Database và WorkManager tự động đồng bộ khi có Internet.

Implementation và kết quả

Development Process

Quá trình phát triển chia làm các Sprint tập trung vào xử lý nghiệp vụ logistics phức tạp và tính nhất quán phân tán.

1. Core Logic: Spring Boot Order & Freight Calculation

Tại Backend Spring Boot, luồng xử lý đơn hàng tính toán cước phí tự động dựa trên khoảng cách địa lý tuyến đường, hệ số loại hàng hóa và phụ tải trọng lượng:

// Snippet: Logic tính toán chi phí vận chuyển trong Spring Boot Service
@Service
@Transactional
public class TransportOrderServiceImpl implements TransportOrderService {

    @Autowired
    private RouteRepository routeRepository;
    @Autowired
    private ProductRepository productRepository;

    @Override
    public BigDecimal calculateOrderCost(UUID routeId, UUID productId, BigDecimal cargoWeight) {
        Route route = routeRepository.findById(routeId)
            .orElseThrow(() -> new EntityNotFoundException("Route not found with ID: " + routeId));
        Product product = productRepository.findById(productId)
            .orElseThrow(() -> new EntityNotFoundException("Product not found with ID: " + productId));

        BigDecimal basePricePerKm = route.getBaseFreightRate();
        BigDecimal distanceKm = route.getDistanceInKm();
        BigDecimal productFactor = product.getRateMultiplier(); // Hệ số đơn giá hàng hóa

        BigDecimal baseCost = basePricePerKm.multiply(distanceKm).multiply(productFactor);

        // Phụ phí quá tải nếu vượt ngưỡng quy định của tuyến đường
        if (cargoWeight.compareTo(route.getWeightLimitThreshold()) > 0) {
            BigDecimal extraWeight = cargoWeight.subtract(route.getWeightLimitThreshold());
            BigDecimal surcharge = extraWeight.multiply(route.getOverweightRatePerUnit());
            return baseCost.add(surcharge);
        }
        return baseCost;
    }
}

2. Authentication & Tenant Token Validation: FastAPI Service

Dịch vụ xác thực FastAPI kiểm soát phân quyền và mã hóa claims định danh người dùng và tenant:

# Snippet: Cơ chế giải mã và xác thực RBAC & Tenant context trong FastAPI
from fastapi import Depends, HTTPException, status
from fastapi.security import OAuth2PasswordBearer
from jose import JWTError, jwt
from pydantic import BaseModel

oauth2_scheme = OAuth2PasswordBearer(tokenUrl="/api/v1/auth/login")
SECRET_KEY = "LOGISTICS_SECRET_JWT_KEY_PROD"
ALGORITHM = "HS256"

class TokenPayload(BaseModel):
    sub: str
    tenant_id: str
    role: str

def get_current_user_context(token: str = Depends(oauth2_scheme)) -> TokenPayload:
    credentials_exception = HTTPException(
        status_code=status.HTTP_401_UNAUTHORIZED,
        detail="Could not validate credentials or tenant access",
        headers={"WWW-Authenticate": "Bearer"},
    )
    try:
        payload = jwt.decode(token, SECRET_KEY, algorithms=[ALGORITHM])
        user_id: str = payload.get("sub")
        tenant_id: str = payload.get("tenant_id")
        role: str = payload.get("role")
        if user_id is None or tenant_id is None:
            raise credentials_exception
        return TokenPayload(sub=user_id, tenant_id=tenant_id, role=role)
    except JWTError:
        raise credentials_exception

3. Mobile Driver Workflow: Android Kotlin

Ứng dụng tài xế kiểm soát nghiêm ngặt bước kiểm tra an toàn (Healthcheck) trước khi khởi hành đơn hàng:

// Snippet: ViewModel kiểm soát Healthcheck phương tiện trước khi kích hoạt chuyến đi
class DeliveryViewModel(private val repository: TransportRepository) : ViewModel() {

    private val _healthCheckStatus = MutableLiveData<Boolean>()
    val healthCheckStatus: LiveData<Boolean> get() = _healthCheckStatus

    fun submitVehicleHealthCheck(
        orderId: String,
        isTirePressureOk: Boolean,
        isBrakeSystemOk: Boolean,
        isFuelSufficient: Boolean,
        odometerValue: Double
    ) {
        viewModelScope.launch {
            if (isTirePressureOk && isBrakeSystemOk && isFuelSufficient) {
                val result = repository.confirmVehicleStatus(
                    orderId,
                    VehicleCheckRequest(true, odometerValue)
                )
                _healthCheckStatus.postValue(result.isSuccess)
            } else {
                _healthCheckStatus.postValue(false)
            }
        }
    }
}

Testing và validation

Hệ thống đã trải qua quy trình kiểm thử toàn diện trên cả 3 tầng ứng dụng:

  • Unit Testing & Test Coverage:
    • Spring Boot Backend: Đạt 84.2% Code Coverage (sử dụng JUnit 5, Mockito, JaCoCo).
    • FastAPI Auth: Đạt 91.0% Test Coverage (sử dụng PyTest).
    • NestJS Tenant Management: Đạt 86.5% Coverage (sử dụng Jest).
  • Hiệu năng chịu tải (Performance Benchmarking):
    • Thực hiện kiểm thử tải bằng Apache JMeter với kịch bản 1,000 người dùng đồng thời (Concurrent Users).
    • Tốc độ xử lý trung bình (Throughput): 1,250 requests/second.
    • Độ trễ phản hồi (Response Latency - p95): < 165ms đối với các API điều phối đơn hàng và < 95ms đối với truy vấn thông tin Tenant.
  • Kiểm thử chấp nhận người dùng (User Acceptance Testing - UAT):
    • Thực nghiệm với 15 người dùng thực tế gồm 3 Nhà quản lý vận tải, 2 Điều phối viên, và 10 Tài xế xe tải đường dài.
    • Điểm đánh giá độ hài lòng (CSAT Score): 4.65 / 5.0.

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

Hạng mục chức năng Kế hoạch ban đầu Kết quả thực tế Tỷ lệ hoàn thành
Quản lý thực thể Logistics Quản lý Đơn hàng, Xe, Tài xế, Tuyến, Garage Hoàn thiện 100% CRUD + Tìm kiếm nâng cao 100%
Hệ thống Multi-tenant Cấp phát & khóa tài khoản Tenant Quản lý vòng đời Tenant (New, Active, Suspended, Removed) 100%
App Android Tài xế Nhận đơn & Đổi trạng thái Healthcheck xe, Lịch sử chuyến, Cảnh báo vị trí 100%
Tra cứu văn bản pháp quy Tra cứu điều luật cơ bản Tra cứu thông minh theo Ontology tri thức giao thông 100%
Thống kê doanh số/công nợ Biểu đồ tổng quan Dashboard biểu đồ trực quan hóa dữ liệu đa chiều 100%

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

  1. Tích hợp Bản đồ Tri thức Pháp quy Giao thông (Ontology-based Legal Engine):

    • Đóng góp mang tính học thuật nổi bật với công bố bài báo khoa học: "Ontology-based Solution for Building an Intelligent Searching System on Traffic Law Documents".
    • Khắc phục nhược điểm của các bộ máy tìm kiếm văn bản truyền thống (dựa trên chuỗi từ khóa thô thuần túy). Mô hình chuyển đổi các nghị định, luật giao thông đường bộ thành cấu trúc Ontology phân cấp, cho phép tài xế và điều phối viên tìm kiếm theo hành vi thực tế (ví dụ: "vượt đèn đỏ xe tải 5 tấn phạt bao nhiêu") với độ chính xác cao và thời gian phản hồi dưới 120ms.
  2. Kiến trúc Multi-tenant linh hoạt tối ưu hóa chi phí:

    • Cung cấp mô hình triển khai đa người thuê dùng chung ứng dụng nhưng cách ly logic dữ liệu an toàn. Giải pháp giúp giảm tới 60% chi phí hạ tầng máy chủ cho các doanh nghiệp logistics SME so với việc tự xây dựng máy chủ riêng lẻ.
  3. Cải tiến quy trình kiểm soát an toàn vận hành:

    • Module Healthcheck tiền vận chuyển trên di động bắt buộc tài xế xác thực tình trạng kỹ thuật (lốp, phanh, nhiên liệu) trước khi kích hoạt chuyến đi, giảm thiểu 35% rủi ro sự cố kỹ thuật dọc đường.

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

Kịch bản ứng dụng thực tiễn (Real-world Scenario)

Một doanh nghiệp vận tải quy mô trung bình sở hữu 40 xe đầu kéo và 55 tài xế hoạt động liên tỉnh:

  1. Quản trị viên: Thiết lập hệ thống trong 5 phút thông qua cổng Tenant Portal, cấu hình garage, danh mục hàng hóa và định mức giá tuyến đường.
  2. Điều phối viên: Nhập 150 đơn hàng/ngày; hệ thống tự động kiểm tra tải trọng, ghép xe, ghép tài xế chính/phụ và xuất phiếu lệnh vận chuyển điện tử.
  3. Tài xế: Nhận thông báo chuyến đi trên điện thoại Android, chụp ảnh kiểm tra xe, nhấn xác nhận khởi hành, cập nhật trạng thái tại các trạm giao/nhận và tra cứu tức thì mức tải trọng cho phép của từng cung đường.
  4. Kế toán/Ban giám đốc: Theo dõi doanh thu, chi phí nhiên liệu và công nợ phát sinh theo thời gian thực trên giao diện đồ thị Web.
+-----------------------------------------------------------------------------------+
|                         QUY TRÌNH TRIỂN KHAI VÀ VẬN HÀNH                          |
+-----------------------------------------------------------------------------------+
|  [Đăng ký Tenant] ---> [Cấu hình Đội xe & Tuyến] ---> [Điều phối Đơn hàng]       |
|                                                                    |              |
|                                                                    v              |
|  [Báo cáo & Doanh thu] <--- [Giao nhận & Nghiệm thu] <--- [Tài xế Healthcheck]   |
+-----------------------------------------------------------------------------------+

Chiến lược triển khai và Phân tích Chi phí - Lợi ích (ROI)

  • Phương thức triển khai: Triển khai toàn bộ hệ thống bằng Docker Compose và Kubernetes trên hạ tầng đám mây (AWS EC2/GCP Compute Engine).
  • Phân tích hiệu quả đầu tư (ROI):
    • Cắt giảm 50% thời gian xử lý thủ tục giấy tờ điều phối xe.
    • Tiết kiệm 15 - 20% chi phí nhiên liệu và phát sinh ngoài lộ trình nhờ kiểm soát hành trình và garage kết thúc nghiêm ngặt.
    • Thời gian thu hồi vốn đầu tư chuyển đổi số (Payback Period) ước tính từ 6 đến 8 tháng.

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

Hạn chế kỹ thuật

  • Chưa hỗ trợ phiên bản Native iOS cho ứng dụng tài xế, hạn chế khả năng tiếp cận đối với tài xế sử dụng thiết bị Apple.
  • Thuật toán định tuyến hiện tại phụ thuộc vào dữ liệu Open API bản đồ ngoài, chưa tự động cân bằng tải đa mục tiêu (Vehicle Routing Problem with Time Windows - VRPTW) khi có hàng trăm xe cùng khởi hành trong giờ cao điểm.

Hướng phát triển tương lai

  1. Phát triển ứng dụng iOS: Sử dụng Flutter hoặc React Native/Swift để hoàn thiện ứng dụng di động đa nền tảng đồng bộ.
  2. Tối ưu hóa định tuyến thông minh (AI Route Optimization): Tích hợp giải thuật Di truyền (Genetic Algorithm) kết hợp Machine Learning dự báo tắc đường để tự động đề xuất lộ trình tiết kiệm nhiên liệu nhất.
  3. Mở rộng hệ sinh thái: Tích hợp module CRM (Quản lý quan hệ khách hàng) và hệ thống chấm điểm độ tin cậy của tài xế (Driver Behavior & Safety Scoring).

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

  • Sinh viên & Học viên CNTT/KTPM: Nguồn tài liệu tham khảo chuẩn mực về đồ án tốt nghiệp kỹ sư phần mềm, cung cấp mô hình mẫu kết hợp giữa kiến trúc phần mềm doanh nghiệp hiện đại (Spring Boot, NestJS, FastAPI, React, Kotlin) và nghiên cứu ứng dụng chuyên sâu.
  • Lập trình viên & Kỹ sư hệ thống: Tham khảo kiến trúc phân tách Multi-tenant thực tế, cơ chế xác thực JWT RBAC liên dịch vụ, và kỹ thuật đồng bộ trạng thái đơn hàng thời gian thực trên thiết bị di động.
  • Doanh nghiệp Logistics & Vận tải đường bộ: Tiếp cận giải pháp phần mềm toàn diện, chi phí hợp lý giúp chuyển đổi số quy trình quản lý đội xe, loại bỏ hoàn toàn sổ sách giấy tờ thủ công và giảm thiểu rủi ro pháp lý.
  • Nhà nghiên cứu khoa học: Kế thừa phương pháp luận và cấu trúc biểu diễn Ontology trong việc xây dựng hệ thống hỏi đáp và tra cứu văn bản quy phạm pháp luật chuyên ngành.

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

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

Hệ thống Backend phân tán có thể triển khai trên 01 máy chủ ảo (VPS/Cloud Server) chạy Linux Ubuntu 20.04/22.04 LTS với cấu hình tối thiểu: 4 vCPU, 8GB RAM, 50GB SSD. Thiết bị di động của tài xế chỉ cần điện thoại chạy Android 8.0 trở lên, có định vị GPS và kết nối 4G/Wi-Fi.

2. Dữ liệu giữa các doanh nghiệp (Tenant) khác nhau được bảo mật và cô lập như thế nào?

Dự án áp dụng mô hình phân tách logic nghiêm ngặt. Mọi thực thể nghiệp vụ trong cơ sở dữ liệu đều gắn chặt với khóa tenant_id. Tại tầng API Gateway và Service Middleware, hệ thống tự động kiểm tra tenant_id từ chữ ký JWT của người dùng để cô lập hoàn toàn phạm vi truy vấn (Data Scoping), ngăn chặn 100% nguy cơ truy cập chéo dữ liệu giữa các công ty.

3. Hệ thống có thể tích hợp với các phần mềm quản lý kho (WMS) hoặc ERP có sẵn không?

Có. Toàn bộ các chức năng quản lý hàng hóa, đơn hàng, tài xế và trạng thái giao nhận đều được mở dưới dạng chuẩn RESTful API có tài liệu đặc tả OpenAPI/Swagger, cho phép các hệ thống WMS, SAP hoặc ERP của bên thứ ba kết nối và đồng bộ dữ liệu dễ dàng qua Webhook hoặc API keys.

4. Hệ thống tra cứu văn bản pháp quy cập nhật các điều luật mới như thế nào?

Hệ sinh thái lưu trữ tri thức luật trên MongoDB dưới dạng các Document Nodes phân cấp. Khi có Nghị định hoặc Thông tư mới được ban hành, quản trị viên chỉ cần nạp tệp văn bản quy chuẩn vào công cụ trích xuất cấu trúc để hệ thống tự động cập nhật cây Ontology mà không cần phải biên dịch lại mã nguồn hay gián đoạn hệ thống.

5. Khả năng mở rộng quy mô (Scalability) của hệ thống khi số lượng xe và đơn hàng tăng đột biến?

Nhờ thiết kế kiến trúc Microservices và đóng gói Container hóa bằng Docker, khi lưu lượng đơn hàng tăng cao, quản trị viên có thể dễ dàng scale-out (mở rộng theo chiều ngang) riêng biệt dịch vụ Core TMS Spring Boot hoặc Auth FastAPI bằng Kubernetes/Docker Swarm mà không làm ảnh hưởng đến các thành phần còn lại.


Kết luận

Đồ án tốt nghiệp "Phát triển hệ thống quản lý vận tải và tích hợp tra cứu văn bản pháp quy trong điều hành doanh nghiệp logistics" của nhóm tác giả Lê Hoàng Thịnh và Võ Đức Trung Hiếu (Đại học Công nghệ Thông tin - ĐHQG TP.HCM) đã giải quyết thành công bài toán chuyển đổi số cấp thiết trong ngành vận tải đường bộ.

Bằng việc kết hợp hài hòa giữa các công nghệ hiện đại (Spring Boot, FastAPI, NestJS, ReactJS, Android Kotlin) với mô hình kiến trúc Multi-tenant và công trình nghiên cứu khoa học về Bản đồ tri thức Ontology, đồ án không chỉ đáp ứng hoàn hảo các yêu cầu kỹ thuật khắt khe của một khóa luận kỹ sư mà còn mang lại giá trị ứng dụng thực tiễn to lớn cho cộng đồng doanh nghiệp logistics tại Việt Nam.