Giới thiệu dự án

Trong bối cảnh ngành du lịch và dịch vụ vận tải cá nhân tại Việt Nam tăng trưởng mạnh mẽ, nhu cầu thuê phương tiện di chuyển linh hoạt (đặc biệt là xe máy) và tìm kiếm điểm đỗ xe an toàn tại các đô thị du lịch như Bà Rịa - Vũng Tàu đạt mức cao kỷ lục. Theo thống kê từ Tổng cục Du lịch, hơn 70% khách du lịch nội địa tự túc có nhu cầu thuê xe máy để chủ động hành trình. Tuy nhiên, phần lớn các cơ sở kinh doanh quy mô vừa và nhỏ như cửa hàng cho thuê xe Việt Key vẫn đang vận hành theo mô thức truyền thống: ghi chép sổ tay, thỏa thuận qua điện thoại, quản lý lịch trình và chấm công nhân sự thủ công.

Mô hình vận hành thủ công này phát sinh nhiều bất cập nghiêm trọng (pain points):

  • Tỷ lệ sai sót trong quản lý lịch trình xe và xung đột lịch đặt (double-booking) lên tới 15-20%.
  • Thất thoát doanh thu do không kiểm soát chặt chẽ phụ phí phát sinh, thời gian trả xe thực tế và tình trạng hư hao phương tiện.
  • Thiếu hệ thống quản lý bãi đỗ tích hợp, dẫn đến lãng phí diện tích mặt bằng bãi đỗ sẵn có của cửa hàng.
  • Quy trình tính lương, chấm công nhân viên và xuất biên bản bàn giao xe tốn nhiều thời gian, dễ gây tranh chấp nội bộ.

Đồ án "Phát triển Website Cho Thuê Xe Việt Key" do sinh viên Nguyễn Tuấn Kiệt thực hiện dưới sự hướng dẫn của TS. Phan Ngọc Hoàng (Khoa Kỹ thuật - Công nghệ, Trường Đại học Bà Rịa - Vũng Tàu), phối hợp cùng Công ty TNHH Niềm Tin, được xây dựng nhằm giải quyết triệt để các hạn chế trên thông qua giải pháp số hóa toàn diện.

                  +------------------------------------------+
                  |         HỆ THỐNG VIỆT KEY SYSTEM         |
                  +---------------------+--------------------+
                                        |
            +---------------------------+---------------------------+
            |                                                       |
+-----------v-----------+                               +-----------v-----------+
|    FRONTEND PORTAL    |                               |    BACKEND & ADMIN    |
| - Đặt xe máy tự lái   |                               | - Quản lý đội xe/bãi  |
| - Đặt chỗ đỗ xe       |                               | - Chấm công & tính    |
| - Đánh giá & Tra cứu  |                               |   lương tự động       |
| - Xác thực Email SMTP |                               | - Xuất hóa đơn PDF    |
+-----------------------+                               +-----------------------+

Mục tiêu của dự án:

  1. Xây dựng cổng thông tin trực tuyến đa kênh: Giúp khách hàng dễ dàng tìm kiếm, tra cứu thông số kỹ thuật, bảng giá và đặt thuê xe máy/chỗ đỗ theo thời gian thực.
  2. Số hóa quy trình nghiệp vụ khép kín: Tự động hóa chu trình từ khởi tạo phiếu thuê, giao nhận xe, kiểm tra tình trạng, phát hành hóa đơn đến trả xe về kho bãi.
  3. Tích hợp module quản trị nhân sự - tài chính: Quản lý ca làm việc, chấm công hàng ngày, tự động tính lương nhân viên và xuất báo cáo doanh thu trực quan.
  4. Chuẩn hóa quy trình xác thực và bảo mật: Ứng dụng cơ chế kích hoạt tài khoản qua giao thức SMTP Mail và phân quyền người dùng theo vai trò (Role-Based Access Control).

Phạm vi và giới hạn hệ thống:

  • Phạm vi triển khai: Áp dụng trực tiếp tại hệ thống các chi nhánh của chuỗi cửa hàng cho thuê xe Việt Key tại khu vực tỉnh Bà Rịa - Vũng Tàu.
  • Giới hạn kỹ thuật: Hệ thống tập trung vào nền tảng Web Responsive (tối ưu Desktop và Mobile Web), chưa phát hành ứng dụng di động độc lập (Native Mobile App); phương thức thanh toán trực tiếp và chuyển khoản ngân hàng xác nhận thủ công, chưa tích hợp cổng thanh toán trực tuyến tự động (Payment Gateway API).

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 cho thấy các giải pháp quản lý cho thuê xe hiện nay phân hóa thành hai thái cực: hệ thống ghi chép thủ công đơn giản nhưng rủi ro cao, hoặc các sàn thương mại điện tử trung gian phức tạp, chi phí chiết khấu cao (15-25%/đơn hàng).

Tiêu chí so sánh Quản lý thủ công (Sổ sách/Excel) Nền tảng trung gian (Mioto, Chungxe) Hệ thống chuyên biệt Việt Key
Chi phí duy trì Thấp (chỉ tốn chi phí văn phòng phẩm) Cao (chiết khấu 15% - 25%/giao dịch) Tối ưu (chi phí hosting/server cố định)
Tính toàn vẹn dữ liệu Rất thấp, dễ mất mát dữ liệu Cao, lưu trữ đám mây Cao, lưu trữ cơ sở dữ liệu quan hệ MySQL
Tích hợp chỗ đỗ xe Không hỗ trợ Không hỗ trợ (chỉ cho thuê xe) Có sẵn module quản lý bãi đỗ chuyên dụng
Quản lý nhân sự/Lương Tách rời phần mềm khác Không hỗ trợ Tích hợp chấm công và xuất file Excel
Tùy biến thương hiệu Không có Phụ thuộc vào giao diện sàn Độc lập, định vị thương hiệu riêng biệt

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

  • Must have (Bắt buộc): Xác thực tài khoản qua Token Email, quản lý danh mục xe/chỗ đỗ, quy trình lập phiếu thuê - duyệt phiếu - tạo hóa đơn, tính năng tìm kiếm và lọc xe theo chi nhánh/loại xe.
  • Should have (Nên có): Tự động tính tiền thuê dựa trên số ngày thực tế và tiền phạt quá hạn, chấm công nhân viên và tính lương theo ngày công, xuất hóa đơn dạng PDF và bảng lương dạng Excel.
  • Could have (Có thể có): Hệ thống đánh giá xếp hạng sao (Rating 1-5 sao) kèm bình luận duyệt tự động, module quản lý bài viết tin tức/hướng dẫn du lịch.
  • Won't have (Chưa thực hiện): Thanh toán trực tuyến tích hợp cổng trung gian (VNPay/Momo), theo dõi hành trình xe qua GPS thời gian thực.

Thiết kế hệ thống

Hệ thống được thiết kế theo mô hình kiến trúc chuẩn MTV (Model - Template - View) của framework Django, đảm bảo tách biệt rõ ràng giữa tầng dữ liệu, tầng logic xử lý và tầng giao diện trình diễn.

        +-------------------------------------------------------+
        |                 CLIENT / WEB BROWSER                  |
        +---------------------------+---------------------------+
                                    | HTTP Request / Response
                                    v
+-----------------------------------+-----------------------------------+
|                            DJANGO CORE                                |
|  +--------------------+   +-------------------+   +----------------+  |
|  |     URL Router     |-->|    Views Logic    |<->| Jinja2/DTL     |  |
|  |   (urls.py)        |   |    (views.py)     |   | Templates      |  |
|  +--------------------+   +---------+---------+   +----------------+  |
|                                     |                                 |
|                                     | Django ORM Queries              |
|                                     v                                 |
|                           +-------------------+                       |
|                           |   Data Models     |                       |
|                           |   (models.py)     |                       |
|                           +---------+---------+                       |
+-------------------------------------+---------------------------------+
                                      |
                                      v
        +-------------------------------------------------------+
        |                 MYSQL DATABASE ENGINE                 |
        |  - TaiKhoan    - ChiNhanh     - Xe        - PhieuThue |
        |  - ChoDoXe     - NhanVien     - DiemDanh  - HoaDon    |
        +-------------------------------------------------------+

Technology Stack & Công cụ phát triển:

  • Ngôn ngữ Backend: Python 3.10+ (Đảm bảo hiệu năng xử lý, tính linh hoạt và cú pháp ngắn gọn).
  • Web Framework: Django 4.x (Tận dụng hệ thống ORM mạnh mẽ, Middleware bảo mật, quản trị Django Admin tích hợp).
  • Template Engine: Jinja2 & Django Template Language (DTL) hỗ trợ kế thừa layout (base.html), tái sử dụng component giao diện.
  • Cơ sở dữ liệu: MySQL 8.0 kết hợp phpMyAdmin để trực quan hóa việc quản trị cấu trúc bảng và thực thi truy vấn.
  • Frontend Framework: HTML5, CSS3, JavaScript ES6, Bootstrap 5, thư viện icon Font Awesome 6.
  • Thư viện chuyên dụng:
    • xhtml2pdf / pisa: Biên dịch HTML/CSS template thành tài liệu PDF (In biên bản bàn giao xe và hóa đơn thanh toán).
    • openpyxl / xlsxwriter: Xử lý xuất báo cáo bảng chấm công và bảng lương ra định dạng Microsoft Excel (.xlsx).
    • Pillow (PIL Fork): Xử lý resize, nén và tối ưu hóa hình ảnh phương tiện trước khi lưu trữ vào media storage.
    • Chart.js: Hiển thị biểu đồ phân tích doanh thu theo năm và tỷ trọng loại xe trên Dashboard quản trị.

Thiết kế Cơ sở dữ liệu quan hệ (Relational Database Schema):

Cơ sở dữ liệu bao gồm 14 bảng quan hệ chuẩn hóa (3NF):

  1. TaiKhoan (id, username, password, email, role, is_active, last_login): Lưu trữ định danh và phân quyền tài khoản.
  2. ChiNhanh (id, ten_chinhanh, dia_chi, so_dien_thoai, slug): Quản lý mạng lưới cơ sở kinh doanh.
  3. LoaiXe (id, ten_loai, mo_ta, slug): Phân loại phương tiện (Xe số, Xe tay ga, Xe tay côn).
  4. Xe (id, ten_xe, bien_so, gia_thue_ngay, trang_thai, hinh_anh, loai_xe_id, chi_nhanh_id): Quản lý phương tiện.
  5. ChoDoXe (id, ma_vi_tri, gia_gio, gia_ngay, trang_thai, chi_nhanh_id): Quản lý vị trí bãi đỗ.
  6. PhieuDo (id, tai_khoan_id, cho_do_id, ngay_dat, gio_bat_dau, gio_ket_thuc, tong_tien, trang_thai): Quản lý lịch đỗ xe.
  7. NhanVien (id, ten_nv, sdt, dia_chi, email, luong_co_ban, chi_nhanh_id): Quản lý hồ sơ nhân sự.
  8. DiemDanh (id, nhan_vien_id, ngay_diem_danh, trang_thai, ghi_chu): Dữ liệu chấm công hàng ngày.
  9. TinhLuong (id, nhan_vien_id, thang, nam, so_ngay_cong, tong_luong): Dữ liệu tính lương định kỳ.
  10. PhieuThue (id, ma_phieu, tai_khoan_id, xe_id, ngay_thue, ngay_tra_du_kien, phuong_thuc_nhan, dia_chi_giao, trang_thai): Quản lý đơn thuê xe.
  11. HoaDon (id, ma_hoa_don, phieu_thue_id, ngay_tra_thuc_te, tong_tien_thue, tien_phat, tong_thanh_toan, da_thanh_toan): Chứng từ tài chính.
  12. ChiTietHoaDon (id, hoa_don_id, noi_dung_phu_phi, so_tien): Chi tiết các khoản chi phí phát sinh.
  13. DanhGia (id, tai_khoan_id, xe_id, so_sao, noi_dung, ngay_tao, trang_thai_hien_thi): Đánh giá phản hồi khách hàng.
  14. BaiViet (id, tieu_de, noi_dung, hinh_anh_cover, ngay_dang, tac_gia_id): Bài viết hướng dẫn và cẩm nang du lịch.

Methodology

Dự án áp dụng mô hình phát triển phần mềm Agile/Scrum kết hợp kỹ thuật phân tích thiết kế hệ thống hướng đối tượng (OOAD) với chu kỳ 4 Sprint (tổng thời gian 12 tuần):

  • Sprint 1 (Tuần 1 - Tuần 3): Khảo sát thực địa tại cửa hàng Việt Key, thu thập yêu cầu nghiệp vụ, phân tích Use Case, thiết kế cơ sở dữ liệu quan hệ (ERD).
  • Sprint 2 (Tuần 4 - Tuần 7): Cấu hình Django Backend, thiết lập Models, xây dựng Authentication System (Login/Register/Email Activation Token), phát triển giao diện người dùng (Guest & Customer Portal).
  • Sprint 3 (Tuần 8 - Tuần 10): Phát triển Admin Dashboard, xây dựng logic phiếu thuê/phiếu đỗ, tích hợp chấm công, xuất file Excel (openpyxl) và hóa đơn PDF (xhtml2pdf).
  • Sprint 4 (Tuần 11 - Tuần 12): Kiểm thử toàn diện (Unit Testing, Integration Testing, User Acceptance Testing), tối ưu hóa hiệu năng truy vấn ORM, triển khai thử nghiệm thực tế (Deployment).

Implementation và kết quả

Development process

Quá trình lập trình áp dụng các nguyên lý Clean Code và kiến trúc Model-Template-View chuẩn mực của Django. Dưới đây là đoạn trích mã nguồn thể hiện tầng thực thể (models.py) cho nghiệp vụ quản lý Phiếu thuê và Hóa đơn:

from django.db import models
from django.contrib.auth.models import User

class PhieuThue(models.Model):
    TRANG_THAI_CHOICES = [
        ('CHO_XAC_NHAN', 'Chờ xác nhận'),
        ('DANG_THUE', 'Đang thuê'),
        ('HOAN_THANH', 'Đã hoàn thành'),
        ('DA_HUY', 'Đã hủy'),
    ]
    ma_phieu = models.CharField(max_length=20, unique=True)
    nguoi_thue = models.ForeignKey(User, on_delete=models.CASCADE, related_name='danh_sach_phieu_thue')
    xe = models.ForeignKey('Xe', on_delete=models.CASCADE)
    ngay_thue = models.DateTimeField()
    ngay_tra_du_kien = models.DateTimeField()
    phuong_thuc_nhan = models.CharField(max_length=50, choices=[('TAI_CUA_HANG', 'Tại cửa hàng'), ('GIAO_TAN_NOI', 'Giao tận nơi')])
    dia_chi_giao = models.CharField(max_length=255, blank=True, null=True)
    trang_thai = models.CharField(max_length=20, choices=TRANG_THAI_CHOICES, default='CHO_XAC_NHAN')
    ngay_tao = models.DateTimeField(auto_now_add=True)

    def __str__(self):
        return f"{self.ma_phieu} - {self.nguoi_thue.username} - {self.xe.ten_xe}"

class HoaDon(models.Model):
    ma_hoa_don = models.CharField(max_length=20, unique=True)
    phieu_thue = models.OneToOneField(PhieuThue, on_delete=models.CASCADE, related_name='hoa_don')
    ngay_tra_thuc_te = models.DateTimeField()
    tong_tien_thue = models.DecimalField(max_digits=12, decimal_places=2)
    tien_phat = models.DecimalField(max_digits=12, decimal_places=2, default=0)
    tong_thanh_toan = models.DecimalField(max_digits=12, decimal_places=2)
    da_thanh_toan = models.BooleanField(default=False)

    def tinh_tong_thanh_toan(self):
        self.tong_thanh_toan = self.tong_tien_thue + self.tien_phat
        self.save()

Logic tính lương tự động cho nhân viên dựa trên số ngày công thực tế ghi nhận trong bảng chấm công:

$$\text{Tổng Lương} = (\text{Lương Cơ Bản} \times \text{Số Ngày Công}) + \text{Phụ Cấp}$$

from django.shortcuts import render, get_object_or_404
from .models import NhanVien, DiemDanh, TinhLuong
from datetime import datetime

def tinh_luong_nhan_vien(request, nhan_vien_id, thang, nam):
    nhan_vien = get_object_or_404(NhanVien, id=nhan_vien_id)
    # Đếm số ngày công hợp lệ trong tháng
    so_ngay_cong = DiemDanh.objects.filter(
        nhan_vien=nhan_vien,
        ngay_diem_danh__month=thang,
        ngay_diem_danh__year=nam,
        trang_thai='DI_LAM'
    ).count()
    
    luong_theo_ngay = nhan_vien.luong_co_ban / 26  # Chuẩn 26 ngày công/tháng
    tong_luong = round(luong_theo_ngay * so_ngay_cong, 2)
    
    ban_ghi_luong, created = TinhLuong.objects.update_or_create(
        nhan_vien=nhan_vien, thang=thang, nam=nam,
        defaults={'so_ngay_cong': so_ngay_cong, 'tong_luong': tong_luong}
    )
    return ban_ghi_luong

Testing và validation

Hệ thống đã trải qua quá trình kiểm thử hộp đen (Black-box testing) với 45 kịch bản kiểm thử (Test Cases) phủ khắp các phân hệ:

  1. Xác thực và phân quyền: 100% tài khoản bắt buộc phải kích hoạt Token qua Gmail SMTP trước khi được phép gửi yêu cầu thuê xe.
  2. Quy trình đặt và khóa xe: Khi một phương tiện chuyển sang trạng thái DANG_THUE, hệ thống tự động ẩn hoặc vô hiệu hóa nút đặt trên giao diện người dùng để ngăn chặn đặt trùng lặp.
  3. Hiệu năng hệ thống: Thời gian phản hồi trang (Page Response Time) đạt mức trung bình 180ms - 250ms trên môi trường máy chủ cục bộ và 320ms trên hosting thử nghiệm với 100 truy vấn đồng thời.
Phân hệ kiểm thử Số kịch bản (Test cases) Đạt (Passed) Lỗi (Failed) Tỷ lệ thành công (%)
Xác thực & Tài khoản 8 8 0 100%
Quản lý Xe & Bãi đỗ 12 12 0 100%
Lập Phiếu thuê & Hóa đơn 15 15 0 100%
Chấm công & Tính lương 6 6 0 100%
Xuất báo cáo PDF / Excel 4 4 0 100%

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

  • Hoàn thiện 100% các tính năng theo đặc tả Use Case ban đầu.
  • Giao diện Admin Dashboard trực quan, cho phép lọc doanh thu theo từng năm và phân loại phương tiện, xuất biên bản bàn giao xe và hóa đơn định dạng PDF chỉ với 1 cú nhấp chuột.
  • Tự động hóa toàn bộ việc gửi email thông báo đơn hàng mới đến hộp thư của chủ cửa hàng ngay khi khách hoàn tất thao tác đặt chỗ.

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

  1. Mô hình tích hợp "Kép" Xe máy & Chỗ đỗ xe: Khác với các hệ thống quản lý thuê xe đơn thuần, website tích hợp đồng thời việc quản lý bãi đỗ xe nội bộ, cho phép tối ưu hóa không gian mặt bằng sẵn có của cửa hàng để tạo thêm nguồn thu từ dịch vụ giữ xe/đỗ xe theo giờ và theo ngày.
  2. Tích hợp liền mạch phân hệ Quản trị nhân sự (HR & Payroll): Đưa quy trình chấm công nhân viên và xuất bảng lương .xlsx trực tiếp vào hệ thống quản lý kinh doanh, loại bỏ hoàn toàn sự phụ thuộc vào các phần mềm kế toán rời rạc đối với các hộ kinh doanh cá thể.
  3. Cơ chế xác thực an toàn hai bước (Email Activation Verification): Giảm thiểu 98% tình trạng tài khoản rác và đơn ảo bằng việc bắt buộc xác nhận kích hoạt thông qua mã định danh gửi tự động qua SMTP Server của Google Mail.
  4. Định lượng hiệu quả vận hành:
    • Rút ngắn thời gian xử lý thủ tục bàn giao và trả xe từ 15 phút xuống còn dưới 3 phút (giảm 80% thời gian).
    • Loại bỏ 100% việc lưu trữ hồ sơ giấy tờ truyền thống, chuyển đổi toàn bộ sang lưu trữ số hóa trên cơ sở dữ liệu MySQL.
    • Giảm thiểu 95% sai sót trong việc tính toán thời gian trễ hạn và phụ phí phát sinh nhờ thuật toán tính toán tự động trên server.

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

Kịch bản ứng dụng thực tế:

  • Khách du lịch: Truy cập website, xem thông tin các dòng xe (Honda Vision, Air Blade, Winner X, Yamaha Exciter), chọn địa điểm nhận xe tại khách sạn hoặc nhận tại cửa hàng, chọn ngày thuê và gửi yêu cầu đặt trước khi đến Vũng Tàu.
  • Khách gửi xe: Đặt trước chỗ đỗ xe tại các vị trí gần trung tâm hoặc bãi biển để tránh tình trạng hết chỗ vào các dịp cuối tuần, lễ Tết.
  • Chủ cửa hàng & Nhân viên: Quản trị viên duyệt đơn trên dashboard, phân công nhân viên giao xe, in biên bản bàn giao có chữ ký hai bên, điểm danh nhân viên hàng ngày và xuất báo cáo doanh thu cuối tháng.

Hướng dẫn triển khai và Cấu hình hệ thống (Deployment Architecture):

                       [ Internet Users ]
                               |
                               v
                     [ Nginx Reverse Proxy ]
                               |
                               v
                     [ Gunicorn WSGI Server ]
                               |
                               v
                 [ Django Application Server ]
                  /            |            \
                 v             v             v
       [ MySQL Database ]  [ Static Files ]  [ Gmail SMTP API ]
  • Yêu cầu phần cứng tối thiểu:
    • CPU: 2 Core 2.0 GHz trở lên.
    • RAM: 2 GB (khuyến nghị 4 GB cho môi trường production).
    • Dung lượng ổ cứng: 20 GB SSD.
  • Yêu cầu phần mềm:
    • Hệ điều hành: Linux (Ubuntu Server 20.04 LTS/22.04 LTS) hoặc Windows Server.
    • Web Server & WSGI: Nginx kết hợp Gunicorn.
    • Runtime: Python 3.10+, Database: MySQL Server 8.0+.
  • Quy trình triển khai 4 bước:
    1. Clone mã nguồn và khởi tạo môi trường ảo Python:
      git clone https://github.com/vietkey-rental/vietkey-system.git
      cd vietkey-system
      python3 -m venv venv
      source venv/bin/activate
      pip install -r requirements.txt
      
    2. Cấu hình biến môi trường kết nối cơ sở dữ liệu trong file .env (MySQL DB Name, User, Password, Gmail SMTP Host, Port, Email User, App Password).
    3. Chạy migration tạo schema cơ sở dữ liệu và thu thập static files:
      python manage.py makemigrations
      python manage.py migrate
      python manage.py collectstatic --noinput
      
    4. Cấu hình Systemd Service chạy Gunicorn và thiết lập Nginx Reverse Proxy chuyển tiếp cổng 80/443 về Gunicorn socket.

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

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

  • Hệ thống chưa hỗ trợ thanh toán trực tuyến qua cổng trung gian (VNPay, Momo, ZaloPay), việc xác nhận chuyển khoản ngân hàng vẫn cần thao tác đối soát thủ công của quản trị viên.
  • Chưa tích hợp module định vị GPS thời gian thực trên phương tiện để giám sát vị trí xe tự động nhằm phòng tránh rủi ro mất cắp.
  • Chưa có ứng dụng Native App trên nền tảng di động (iOS/Android) mà phụ thuộc hoàn toàn vào trình duyệt Web Responsive.

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

  • Tích hợp Payment Gateway: Đấu nối API cổng thanh toán VNPay/Momo với Webhook xác nhận tự động đổi trạng thái phiếu thuê sang DA_THANH_TOAN ngay sau khi quét mã VietQR.
  • Kết nối phần cứng IoT: Gắn thiết bị định vị GPS và rơ-le ngắt nguồn điện từ xa điều khiển qua giao thức MQTT tích hợp vào Django Backend.
  • Phát triển Mobile App: Xây dựng ứng dụng đa nền tảng bằng Flutter chia sẻ chung hệ thống RESTful API (Django REST Framework) với Website hiện tại.

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

  • Sinh viên & Học viên CNTT: Nguồn tài liệu tham khảo thực tế về việc áp dụng kiến trúc MTV của Django, kỹ thuật thiết kế cơ sở dữ liệu quan hệ chuẩn hóa và cách thức xây dựng module xuất file PDF/Excel trong các dự án thương mại thực tế.
  • Lập trình viên Web (Developers): Cung cấp pattern mẫu về tích hợp hệ thống xác thực Token qua Email SMTP, mô hình phân quyền theo vai trò (RBAC), và kiến trúc kết hợp giữa Web giới thiệu và hệ thống quản trị nội bộ ERP thu nhỏ.
  • Chủ doanh nghiệp & Hộ kinh doanh: Sở hữu giải pháp chuyển đổi số có chi phí đầu tư thấp, khả năng triển khai nhanh chóng, giúp giảm thiểu 80% thời gian xử lý thủ tục giấy tờ và quản lý tài chính - nhân sự minh bạch.
  • Các nhà nghiên cứu ứng dụng: Case-study điển hình về việc số hóa chuỗi cung ứng dịch vụ du lịch vi mô tại các đô thị du lịch cấp tỉnh ở Việt Nam.

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

1. Hệ thống cần cấu hình hạ tầng máy chủ như thế nào để vận hành ổn định?

Hệ thống yêu cầu máy chủ Linux (Ubuntu 20.04/22.04 LTS) với tối thiểu 1 vCPU, 2GB RAM, 20GB SSD, cài đặt sẵn Python 3.10+, MySQL 8.0, Web Server Nginx và WSGI Gunicorn. Đối với môi trường lưu lượng truy cập dưới 10.000 lượt xem/ngày, cấu hình này đảm bảo thời gian phản hồi trang dưới 300ms.

2. Hệ thống xử lý thế nào khi xảy ra xung đột hai khách hàng cùng đặt một xe tại cùng một khung giờ?

Django ORM xử lý vấn đề này thông qua cơ chế Database Transaction (transaction.atomic) và ràng buộc trạng thái trang_thai='SAN_SANG'. Khi một giao dịch đặt xe được xác nhận, trạng thái phương tiện lập tức chuyển sang CHO_XAC_NHAN hoặc DANG_THUE, khiến phương tiện đó bị loại bỏ khỏi danh sách tìm kiếm khả dụng cho các phiên truy cập khác.

3. Website có thể tích hợp với các hệ thống quản lý kế toán hoặc ERP có sẵn không?

Có. Nhờ thiết kế theo chuẩn module hóa của Django, hệ thống có thể dễ dàng mở rộng thành RESTful API thông qua djangorestframework để trao đổi dữ liệu định dạng JSON với các phần mềm kế toán như MISA, Fast hoặc các phần mềm ERP doanh nghiệp bên ngoài.

4. Chi phí duy trì và bảo trì hệ thống hàng tháng là bao nhiêu?

Chi phí vận hành định kỳ rất tối ưu, chỉ bao gồm: Tên miền (.vn hoặc .com) khoảng 250.000 - 450.000 VNĐ/năm; Cloud VPS (1 Core - 2GB RAM) khoảng 120.000 - 200.000 VNĐ/tháng; Google Workspace SMTP dùng gói miễn phí hoặc tích hợp mail doanh nghiệp sẵn có. Tổng chi phí duy trì chỉ từ 150.000 - 250.000 VNĐ/tháng.

5. Khả năng mở rộng của hệ thống khi mở thêm nhiều chi nhánh tại các thành phố khác?

Cơ sở dữ liệu đã được thiết kế sẵn thực thể ChiNhanh với quan hệ $1-N$ đến các thực thể Xe, ChoDoXe, NhanVien. Do đó, khi doanh nghiệp mở rộng quy mô sang các thành phố khác (như Đà Lạt, Phan Thiết), quản trị viên chỉ cần thêm bản ghi Chi nhánh mới trên Admin Dashboard mà không cần can thiệp tái cấu trúc mã nguồn hay database.


Kết luận

Đồ án tốt nghiệp "Phát triển Website Cho Thuê Xe Việt Key" của sinh viên Nguyễn Tuấn Kiệt đã giải quyết trọn vẹn bài toán chuyển đổi số cho mô hình kinh doanh cho thuê phương tiện tự lái và bãi đỗ xe du lịch. Bằng việc kết hợp sức mạnh của framework Python Django, cơ sở dữ liệu quan hệ MySQL và giao diện Responsive hiện đại, hệ thống không chỉ tối ưu hóa trải nghiệm khách hàng mà còn cung cấp công cụ quản trị kinh doanh - nhân sự - tài chính chặt chẽ, chính xác cho chủ cơ sở. Đồ án là một minh chứng xuất sắc cho việc áp dụng kiến thức công nghệ thông tin hàn lâm vào giải quyết các bài toán kinh tế - xã hội thực tiễn.