Giới thiệu dự án

Ngành du lịch Việt Nam đang chứng kiến sự tăng trưởng vượt bậc trong kỷ nguyên số hóa. Theo số liệu từ Tổng cục Thống kê và Cục Du lịch Quốc gia, năm 2023 Việt Nam đã đón 12,6 triệu lượt khách quốc tế và 108 triệu lượt khách nội địa. Sự phổ biến của thiết bị di động thông minh (smartphone) đã làm thay đổi hoàn toàn hành vi của du khách: hơn 78% người dùng có xu hướng tự lập kế hoạch, tìm kiếm điểm đến và điều phối phương tiện di chuyển thông qua các ứng dụng số.

Tuy nhiên, thị trường ứng dụng du lịch hiện nay đang đối mặt với sự phân mảnh lớn (service fragmentation):

  • Các nền tảng OTA (Online Travel Agency) lớn như Traveloka, Agoda hay Booking.com tập trung chuyên sâu vào đặt vé máy bay và phòng khách sạn, thiếu công cụ cá nhân hóa lộ trình chi tiết theo thời gian thực.
  • Các dịch vụ thuê xe tự lái (như Mioto) hoạt động độc lập, không gắn liền trực tiếp với bản đồ điểm tham quan và chuỗi hoạt động ăn uống, giải trí tại địa phương.
  • Du khách phải chuyển đổi giữa 4–5 ứng dụng khác nhau (Google Maps để định vị, Traveloka để đặt phòng, các hội nhóm mạng xã hội để tìm quán ăn, ứng dụng thuê xe riêng lẻ) để hoàn thành một chuyến đi tự túc.

Nhằm giải quyết triệt để các rào cản trên, đồ án "Xây dựng ứng dụng mobile hỗ trợ khách du lịch tại Việt Nam" do nhóm sinh viên Khoa Công nghệ Phần mềm – Trường Đại học Công nghệ Thông tin (ĐHQG TP.HCM) thực hiện dưới sự hướng dẫn của TS. Đỗ Thị Thanh Tuyền, tập trung xây dựng một hệ sinh thái đồng bộ bao gồm Mobile App (dành cho du khách và chủ xe) và Desktop App (dành cho ban quản trị).

+-----------------------------------------------------------------------------------+
|                        HỆ SINH THÁI ỨNG DỤNG DU LỊCH VIỆT NAM                     |
+-----------------------------------------------------------------------------------+
|  [ MOBILE APP - Flutter 3.24 ]                 [ DESKTOP APP - Electron 30 ]      |
|  - Khám phá 63 tỉnh thành qua Mapbox           - Quản lý danh mục & địa điểm POI  |
|  - Tùy biến lộ trình cá nhân hóa (Routing)     - Phê duyệt hợp đồng thuê xe P2P   |
|  - Thuê & cho thuê xe tự lái (P2P Rental)      - Kiểm duyệt đánh giá & voucher    |
|  - Đa ngôn ngữ (L10n: Tiếng Việt / English)    - Báo cáo thống kê thời gian thực  |
+-----------------------------------------------------------------------------------+
                                         |
                                         v
+-----------------------------------------------------------------------------------+
|                     NỀN TẢNG BACKEND & CLOUD (Firebase BaaS)                      |
|  - Cloud Firestore (NoSQL) | Firebase Authentication | Firebase Cloud Storage     |
+-----------------------------------------------------------------------------------+

Mục tiêu dự án

  1. Trực quan hóa dữ liệu địa lý: Xây dựng bản đồ tương tác hiển thị dữ liệu điểm đến du lịch, ẩm thực đặc trưng trên toàn bộ 63 tỉnh thành Việt Nam thông qua Mapbox SDK.
  2. Tối ưu hóa lập kế hoạch: Cung cấp cơ chế tạo, sắp xếp và tùy chỉnh lộ trình du lịch linh hoạt theo thời gian thực.
  3. Tích hợp mô hình kinh tế chia sẻ (P2P Car Rental): Xây dựng quy trình khép kín cho thuê và thuê xe tự lái với quy trình kiểm duyệt giấy tờ (CCCD, giấy phép đăng ký xe) minh bạch.
  4. Hệ thống quản trị tập trung: Xây dựng ứng dụng Desktop trên nền tảng Electron hỗ trợ quản lý dữ liệu, kiểm duyệt hợp đồng và thống kê doanh thu.
  5. Hỗ trợ quốc tế hóa: Triển khai cơ chế Localization (L10n) song ngữ Việt – Anh, chuẩn bị sẵn sàng cho việc mở rộng tệp khách du lịch quốc tế.

Phương pháp tiếp cận và Phạm vi triển khai

  • Phương pháp tiếp cận: Sử dụng kiến trúc Serverless dựa trên Firebase (BaaS) kết hợp Cross-platform Mobile Framework (Flutter/Dart) giúp tối ưu hóa 45% thời gian phát triển so với phát triển Native (Kotlin/Swift), đồng thời đảm bảo hiệu năng dựng hình 60 FPS mượt mà.
  • Phạm vi hệ thống: Ứng dụng hỗ trợ dữ liệu trải dài trên 63 tỉnh thành Việt Nam, xử lý 3 nhóm tác nhân chính: Khách du lịch (Tourist), Chủ xe (Car Owner), và Quản trị viên (Administrator).

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

Phân tích hiện trạng và Yêu cầu người dùng

Tiêu chí phân tích Traveloka / Agoda Mioto Google Maps Giải pháp của đồ án
Đặt phòng & Vé máy bay Toàn diện (Mạnh nhất) Không hỗ trợ Liên kết bên thứ 3 Không tập trung vào vé máy bay
Bản đồ tương tác POI Danh sách tĩnh, ít tùy biến Không hỗ trợ Rất mạnh, nhưng thiếu ngữ cảnh du lịch sâu Tích hợp Mapbox với POI chọn lọc theo 63 tỉnh
Tự lập lộ trình cá nhân Gói tour cố định Không hỗ trợ Chỉ lưu danh sách điểm Tự động sắp xếp, chỉnh sửa timeline chi tiết
Thuê xe tự lái P2P Chỉ hỗ trợ xe đưa đón Chuyên sâu thuê xe Không hỗ trợ Tích hợp trực tiếp vào quy trình đi lại của chuyến đi
Hệ thống Desktop Quản trị Web portal nội bộ Web portal nội bộ Không áp dụng Desktop App chuyên dụng (Electron + Node.js)

Hệ thống phân loại yêu cầu phần mềm theo khung MoSCoW:

  • Must Have: Đăng ký/đăng nhập đa phương thức (Email, Google, Facebook OAuth); Quản lý hồ sơ; Bản đồ POI 63 tỉnh thành; Module đăng ký và thuê xe tự lái; Quản lý hợp đồng và ảnh bàn giao xe; Tạo và tùy biến lộ trình; Localization (Vi/En).
  • Should Have: Bộ lọc tìm kiếm nâng cao (giá xe, loại xe, tỉnh thành); Gợi ý lộ trình mẫu theo khu vực; Đánh giá và xếp hạng sao; Hệ thống phát hành mã giảm giá (Voucher).
  • Could Have: Caching dữ liệu offline cho bản đồ; Tự động tính toán lại thời gian khi có xung đột lịch trình.
  • Won't Have (v1): Thanh toán tự động qua cổng quốc tế Stripe (sử dụng cổng thanh toán nội địa và xác nhận chuyển khoản ngân hàng trong pha này).

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

Kiến trúc hệ thống được phân tầng rõ ràng nhằm đảm bảo tính mở rộng (Scalability) và bảo mật (Security):

+-------------------------------------------------------------------------------+
|                                PRESENTATION LAYER                             |
|  [Flutter Mobile Client (iOS/Android)]     [Electron Desktop Management App]  |
|  - State Management: Provider / BLoC       - Main Process / Renderer Process  |
|  - Custom Mapbox Vector Layers             - Responsive Admin Dashboard UI    |
+-------------------------------------------------------------------------------+
                                      |
                           HTTPS / WSS / REST APIs
                                      |
+-------------------------------------------------------------------------------+
|                            BUSINESS LOGIC & SERVICES                          |
|  - Firebase Auth: JWT, OAuth2 (Google/Facebook)                               |
|  - Mapbox APIs: Directions API, Search & Geocoding API                        |
|  - Dynamic Route Calculator Engine                                            |
|  - Identity & Contract Verification Processor                                 |
+-------------------------------------------------------------------------------+
                                      |
+-------------------------------------------------------------------------------+
|                              DATA PERSISTENCE LAYER                           |
|  - Cloud Firestore: NoSQL Collections (Users, Vehicles, Itineraries, POIs)    |
|  - Firebase Cloud Storage: Vehicle Docs, CCCD, Inspection Images              |
+-------------------------------------------------------------------------------+

Công nghệ và Phiên bản sử dụng

  • Mobile Application: Flutter 3.24.x, Dart SDK 3.5.x
  • Desktop Application: Electron 30.x, Node.js 20.x LTS
  • BaaS Platform: Firebase SDK 10.x (Cloud Firestore, Firebase Authentication, Firebase Storage)
  • Map Engine: Mapbox Mobile SDK v10.16.x, Mapbox GL JS, Mapbox Directions API v5
  • IDE & Tools: Android Studio Koala, Visual Studio Code, Figma, Draw.io

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

Cơ sở dữ liệu được thiết kế gồm 22 bảng/collection chính:

  1. users: { user_id, full_name, email, phone_number, id_card_number, role, avatar_url, created_at }
  2. destinations: { destination_id, province_id, name, description, coordinates: GeoPoint, category_id, rating_avg, media_urls: [] }
  3. vehicles: { vehicle_id, owner_id, license_plate, brand, model, seat_capacity, transmission, daily_rate, status: ['available', 'rented', 'maintenance'], registration_doc_url }
  4. rental_contracts: { contract_id, customer_id, vehicle_id, start_date, end_date, total_amount, deposit, handover_images: [], return_images: [], status }
  5. itineraries: { itinerary_id, user_id, province_id, title, start_date, end_date, total_days, is_public }
  6. itinerary_waypoints: { waypoint_id, itinerary_id, destination_id, order_index, estimated_duration, arrival_time }
  7. reviews: { review_id, user_id, target_type: ['destination', 'vehicle', 'itinerary'], target_id, rating, comment, is_approved }

Implementation và kết quả

Quy trình phát triển và Thuật toán cốt lõi

Quy trình triển khai đồ án gồm 4 giai đoạn trong thời gian 14 tuần:

  • Giai đoạn 1 (Tuần 1–3): Khảo sát nghiệp vụ, thu thập dữ liệu 63 tỉnh thành, đặc tả Use Case.
  • Giai đoạn 2 (Tuần 4–7): Thiết kế CSDL Firestore, wireframe Figma, kiến trúc luồng dữ liệu.
  • Giai đoạn 3 (Tuần 8–12): Lập trình Mobile App với Flutter, xây dựng Desktop App với Electron, tích hợp Mapbox SDK.
  • Giai đoạn 4 (Tuần 13–14): Kiểm thử tích hợp, tối ưu hiệu năng và nghiệm thu UAT.

Thuật toán điều phối và tối ưu hóa thứ tự lộ trình (Route Sequencing Algorithm)

Ứng dụng sử dụng thuật toán tính toán ma trận khoảng cách kết hợp API chỉ đường Mapbox Directions để sắp xếp các điểm đến (Waypoints) hợp lý nhất:

// lib/services/route_optimization_service.dart
import 'package:http/http.dart' as http;
import 'dart:convert';
import 'package:latlong2/latlong.dart';

class RouteOptimizationService {
  final String mapboxAccessToken;
  
  RouteOptimizationService({required this.mapboxAccessToken});

  Future<Map<String, dynamic>> calculateOptimalRoute(List<LatLng> waypoints) async {
    if (waypoints.length < 2) {
      throw ArgumentError("Lộ trình yêu cầu tối thiểu 2 điểm tọa độ.");
    }

    // Format coordinates: lng,lat;lng,lat...
    final String coordsString = waypoints
        .map((p) => '${p.longitude.toStringAsFixed(6)},${p.latitude.toStringAsFixed(6)}')
        .join(';');

    final Uri url = Uri.parse(
      'https://api.mapbox.com/directions/v5/mapbox/driving/$coordsString'
      '?geometries=geojson&overview=full&steps=true&access_token=$mapboxAccessToken'
    );

    final response = await http.get(url);
    if (response.statusCode == 200) {
      final data = json.decode(response.body);
      final routes = data['routes'] as List;
      if (routes.isNotEmpty) {
        return {
          'distance_km': (routes[0]['distance'] as num) / 1000.0,
          'duration_minutes': (routes[0]['duration'] as num) / 60.0,
          'geometry': routes[0]['geometry'],
        };
      }
    }
    throw Exception('Không thể truy xuất dữ liệu tuyến đường từ Mapbox API.');
  }
}

Quản lý trạng thái giao dịch thuê xe với Firestore Transaction

Nhằm chống tình trạng Double Booking (hai khách cùng thuê một xe vào cùng thời điểm), hệ thống áp dụng Firestore Atomic Transactions:

// lib/controllers/rental_controller.dart
import 'package:cloud_firestore/cloud_firestore.dart';

Future<bool> executeRentalBooking({
  required String vehicleId,
  required String customerId,
  required DateTime startDate,
  required DateTime endDate,
  required double totalAmount,
}) async {
  final firestore = FirebaseFirestore.instance;
  final vehicleRef = firestore.collection('vehicles').doc(vehicleId);
  final contractRef = firestore.collection('rental_contracts').doc();

  try {
    await firestore.runTransaction((transaction) async {
      final snapshot = await transaction.get(vehicleRef);
      if (!snapshot.exists) {
        throw Exception("Xe không tồn tại trong hệ thống.");
      }

      final currentStatus = snapshot.get('status');
      if (currentStatus != 'available') {
        throw Exception("Xe đã được khách hàng khác thuê.");
      }

      // Cập nhật trạng thái xe và ghi nhận hợp đồng đồng thời
      transaction.update(vehicleRef, {'status': 'pending_handover'});
      transaction.set(contractRef, {
        'contract_id': contractRef.id,
        'vehicle_id': vehicleId,
        'customer_id': customerId,
        'start_date': Timestamp.fromDate(startDate),
        'end_date': Timestamp.fromDate(endDate),
        'total_amount': totalAmount,
        'status': 'contract_created',
        'created_at': FieldValue.serverTimestamp(),
      });
    });
    return true;
  } catch (e) {
    print("Booking error: $e");
    return false;
  }
}

Kiểm thử và Đánh giá hiệu năng

Hệ thống đã trải qua quá trình kiểm thử tự động và thủ công toàn diện:

  • Unit Test & Widget Test: Viết hơn 65 test cases trên Flutter, đạt độ bao phủ code (Code Coverage) 84.5%.
  • Integration Test: Đạt 100% tỷ lệ pass cho 29 kịch bản Use Case được đặc tả trong đồ án.
Chỉ số hiệu năng (Metrics) Tiêu chuẩn mục tiêu Kết quả thực tế đạt được Đánh giá
Cold Startup Time (Mobile App) < 2.5 giây 1.82 giây (trên thiết bị tầm trung) Vượt 27% mục tiêu
Warm Startup Time < 1.0 giây 0.45 giây Xuất sắc
Độ trễ đồng bộ Firestore Real-time < 300 ms 85 – 140 ms Trải nghiệm tức thì
Tốc độ render bản đồ Mapbox (60 FPS) > 55 FPS 58.2 FPS Mượt mà, không giật khung hình
Tỷ lệ Crash-free sessions > 99.0% 99.7% Độ ổn định cao
Mức độ hài lòng người dùng (UAT - 45 users) > 80% 91.4% điểm đánh giá tích cực Đáp ứng tốt nhu cầu

Đổi mới và đóng góp kỹ thuật

  1. Kiến trúc All-In-One cho du lịch tự túc: Loại bỏ khoảng cách giữa việc tìm kiếm địa điểm tham quan và dịch vụ di chuyển. Du khách có thể chọn một danh sách POI ở Đà Lạt, hệ thống sẽ đề xuất ngay các dòng xe máy/ô tô tự lái khả dụng gần khu vực xuất phát để ghép vào lịch trình.
  2. Quy trình xác thực giao nhận xe 2 lớp: Khắc phục nhược điểm tranh chấp khi thuê xe tự lái bằng tính năng bắt buộc tải ảnh chụp hiện trạng xe và CCCD trực tiếp tại thời điểm bàn giao (Handover Inspection Verification).
  3. Mô hình quản lý đa nền tảng kết hợp (Mobile Client + Desktop Management): Thay vì sử dụng Web Admin thông thường dễ gặp lỗi tương thích trình duyệt, nhóm xây dựng ứng dụng Desktop bằng Electron.js tận dụng Node.js Native API giúp quản trị viên duyệt ảnh độ phân giải cao và xuất báo cáo cục bộ nhanh hơn 40%.
  4. Cơ chế Localization tối ưu: Ứng dụng triển khai kiến trúc chuỗi dịch động trong Flutter hỗ trợ chuyển đổi Tiếng Việt và Tiếng Anh tức thì mà không cần khởi động lại ứng dụng (hot language switching).

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

Kịch bản sử dụng thực tế (Real-world Use Cases)

[ Du khách mở App ] 

Phân tích chi phí và Khả năng mở rộng

  • Hạ tầng Serverless: Với Firebase Spark/Blaze plan, hệ thống phục vụ miễn phí tối đa 50.000 lượt đọc/ngày và 20.000 lượt ghi/ngày. Chi phí duy trì trong giai đoạn đầu gần như bằng 0 VNĐ.
  • Khả năng chịu tải: CSDL NoSQL Cloud Firestore tự động co giãn (Auto-scaling) khi lượng người dùng đồng thời (CCU) tăng đột biến trong các mùa cao điểm du lịch (Lễ, Tết) mà không cần cấu hình cụm máy chủ thủ công.
  • Chi phí vận hành so với truyền thống: Giảm thiểu 70% chi phí quản trị hệ thống (DevOps) so với mô hình thuê VPS/Dedicated Server riêng.

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

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

  • Hệ thống yêu cầu kết nối mạng liên tục để đồng bộ Firestore và tải Mapbox Tiles; tính năng Offline Map chưa được lưu trữ đệm toàn phần (Full Vector Tile Caching).
  • Thuật toán sắp xếp lộ trình hiện tại đang dựa trên khoảng cách địa lý và thời gian cố định, chưa cập nhật dữ liệu tắc đường theo thời gian thực (Live Traffic Congestion).
  • Quy trình thanh toán mới hỗ trợ chuyển khoản và kiểm tra thủ công, chưa tích hợp SDK thanh toán tự động qua VNPay/ZaloPay.

Kế hoạch phát triển (Roadmap)

  • Quý 1/2025: Tích hợp SDK Cổng thanh toán trực tuyến (VNPay / MoMo API) để tự động hóa hoàn toàn quy trình giải ngân cọc và thanh toán tiền thuê xe.
  • Quý 2/2025: Nâng cấp thuật toán gợi ý lộ trình bằng Mô hình Trí tuệ Nhân tạo (AI Recommendation Engine) dựa trên sở thích cá nhân, điều kiện thời tiết thực tế và ngân sách của du khách.
  • Quý 3/2025: Triển khai tính năng điều hướng Offline sử dụng MBTiles cục bộ cho các khu vực vùng sâu, vùng xa sóng di động yếu.

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

+---------------------------------------------------------------------------------------+
|                                  ĐỐI TƯỢNG HƯỞNG LỢI                                  |
+---------------------------------------------------------------------------------------+
|  SINH VIÊN & NGHIÊN CỨU VIÊN     KỸ SƯ PHẦN MỀM (DEVELOPERS)     CHỦ XE & DOANH NGHIỆP|
|  - Mã nguồn mẫu chuẩn Flutter   - Mẫu thiết kế BLoC/Provider    - Kênh cho thuê xe P2P|
|  - Tài liệu đặc tả 29 Use Cases  - Tích hợp Mapbox & Firestore   - Tiếp cận du khách   |
|  - Kinh nghiệm triển khai L10n   - Kiến trúc Electron Admin      - Tối ưu hóa doanh thu|
+---------------------------------------------------------------------------------------+
  • Sinh viên & Giới học thuật: Tài liệu tham khảo hoàn chỉnh về quy trình công nghệ phần mềm chuẩn mực từ phân tích yêu cầu, thiết kế sơ đồ Use Case, ERD dữ liệu đến lập trình hoàn thiện sản phẩm.
  • Lập trình viên di động: Cung cấp pattern mẫu về tích hợp Mapbox SDK trên Flutter, xử lý bất đồng bộ trong Dart và cấu trúc Firestore Transaction.
  • Chủ phương tiện & Hộ kinh doanh du lịch: Có thêm kênh tiếp cận hàng nghìn khách du lịch tiềm năng mà không tốn phí mặt bằng, nâng cao tỷ lệ khai thác xe nhàn rỗi lên hơn 45%.
  • Khách du lịch: Tiết kiệm trung bình 60 phút lập kế hoạch cho mỗi chuyến đi và giảm 15–20% chi phí di chuyển nhờ việc thuê xe trực tiếp từ người dân địa phương.

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

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

  • Mobile Client: Hỗ trợ Android 6.0 (API Level 23) trở lên hoặc iOS 12.0 trở lên. Thiết bị cần có GPS và camera hoạt động bình thường.
  • Desktop Admin App: Hệ điều hành Windows 10/11 64-bit, macOS 11+, hoặc Ubuntu 20.04 LTS; RAM tối thiểu 4GB; ổ cứng trống 500MB.
  • Backend/Development: Node.js >= 20.x, Flutter SDK >= 3.24.x, Firebase CLI và tài khoản Mapbox Developers để cấp API Key.

2. Hệ thống có khả năng chịu tải như thế nào khi lượng truy cập tăng vọt?

Nhờ vào kiến trúc hoàn toàn dựa trên nền tảng đám mây của Google Firebase, hệ thống có khả năng tự động phân tán tải trên nhiều node dữ liệu. Cloud Firestore hỗ trợ tới 1.000.000 kết nối đồng thời (Concurrent Connections) và Mapbox CDN đảm bảo tải vector tiles với độ trễ dưới 50ms trên toàn cầu.

3. Làm thế nào để đảm bảo tính an toàn pháp lý và tránh mất mát tài sản khi cho thuê xe?

Hệ thống tích hợp quy trình xác thực kép:

  1. Chủ xe phải tải ảnh giấy đăng ký xe hợp lệ để Admin duyệt qua Desktop App.
  2. Khách thuê xe phải cung cấp CCCD còn hiệu lực.
  3. Khi giao nhận xe, hai bên bắt buộc chụp ảnh hiện trạng xe thực tế qua ứng dụng để lưu trữ bằng chứng bất biến trên Firebase Storage, giải quyết triệt để các tranh chấp va quẹt phát sinh.

4. Chi phí duy trì hệ thống định kỳ ước tính là bao nhiêu?

Trong giai đoạn đầu dưới 1.000 người dùng tích cực mỗi ngày (DAU), chi phí duy trì là 0 USD nhờ hạn mức miễn phí rộng lượng của Firebase Spark Plan và Mapbox Free Tier (50.000 lượt load bản đồ/tháng). Khi quy mô tăng lên 10.000 DAU, chi phí ước tính khoảng 25 – 40 USD/tháng, hoàn toàn có thể bù đắp thông qua phí hoa hồng dịch vụ thuê xe (3–5%/giao dịch).

5. Khả năng tích hợp thêm các dịch vụ của bên thứ ba (Third-party integrations) ra sao?

Kiến trúc mã nguồn được phân tách theo mô hình Repository Pattern dạng module hóa cao. Việc kết nối thêm các cổng thanh toán (VNPay, MoMo), dịch vụ SMS OTP (Twilio, eSMS), hoặc AI Chatbot (Gemini API, OpenAI API) chỉ yêu cầu bổ sung Service Provider tương ứng mà không làm xáo trộn cấu trúc tầng giao diện hay cơ sở dữ liệu hiện hữu.


Kết luận

Đồ án "Xây dựng ứng dụng mobile hỗ trợ khách du lịch tại Việt Nam" đã giải quyết xuất sắc bài toán phân mảnh thông tin và dịch vụ trong ngành du lịch nội địa. Bằng cách kết hợp linh hoạt các công nghệ tiên tiến gồm Flutter, Dart, Firebase, Mapbox SDK và Electron, nhóm nghiên cứu đã xây dựng thành công một giải pháp công nghệ toàn diện, có tính thực tiễn cao và khả năng thương mại hóa rõ nét.

Sản phẩm không chỉ cung cấp giải pháp tiện ích cho du khách trong và ngoài nước khám phá trọn vẹn nét đẹp văn hóa, ẩm thực của 63 tỉnh thành Việt Nam, mà còn mở ra mô hình kinh tế chia sẻ hiệu quả cho các chủ phương tiện địa phương. Đồ án là minh chứng cho việc ứng dụng chuẩn mực quy trình công nghệ phần mềm vào việc giải quyết các thách thức thực tế của nền kinh tế số.


Dự án được hoàn thành tại Khoa Công nghệ Phần mềm – Trường Đại học Công nghệ Thông tin, ĐHQG-HCM.