Giới thiệu dự án

Thương mại điện tử (E-commerce) và các mô hình giao dịch trực tuyến đã định hình lại toàn diện phương thức trao đổi hàng hóa trên phạm vi toàn cầu. Trong bức tranh đó, hình thức bán đấu giá trực tuyến (Online Auction) nổi lên như một cơ chế định giá linh hoạt, phản ánh chính xác quy luật cung - cầu của thị trường thông qua sự cạnh tranh trực tiếp giữa những người mua. Tại Việt Nam vào đầu thập niên 2010, tỷ lệ người dùng tiếp cận Internet tăng trưởng vượt bậc với mức 15 - 20%/năm; tuy nhiên, phần lớn các hoạt động mua bán qua mạng khi đó chỉ dừng lại ở mô hình rao vặt tĩnh hoặc các diễn đàn trao đổi tự phát.

+-------------------------------------------------------------------------+
|                    ONLINE AUCTION SYSTEM ARCHITECTURE                   |
+-------------------------------------------------------------------------+
|  [Guest / Bidder]        [Store Owner / Seller]       [Administrator]   |
+-------------------------------------------------------------------------+

Vấn đề thực tế (Problem Statement)

Các cá nhân và doanh nghiệp vừa và nhỏ khi tham gia thị trường thương mại điện tử thường đối mặt với hai rào cản lớn:

  1. Chi phí hạ tầng và lưu lượng truy cập (Traffic): Việc tự đầu tư xây dựng website bán hàng riêng biệt đòi hỏi chi phí bảo trì server, tên miền và vận hành tốn kém, nhưng lại gặp khó khăn trong việc thu hút người dùng ghé thăm nếu không có ngân sách marketing lớn.
  2. Thiếu nền tảng đấu giá minh bạch và tối ưu hóa giao dịch: Các sàn thương mại điện tử đại trà thiếu cơ chế quản lý bước giá (Price Step), thiếu quy trình xác thực số lượt đăng nhập để chống tấn công Brute-force, và chưa có cơ chế quản lý điểm tín dụng (Credit) nhằm hạn chế tình trạng "bùng giá" sau khi thắng phiên đấu.

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

  1. Thiết kế và chuẩn hóa hệ sinh thái đấu giá trực tuyến: Xây dựng nền tảng website phục vụ hai mô hình người bán: chủ website trực tiếp bán hàng và người dùng mở gian hàng độc lập ("thuê mặt bằng ảo").
  2. Module hóa tính năng người dùng: Cung cấp công cụ quản lý trang cá nhân nâng cao cho người bán (Seller Page), bao gồm tùy biến logo, banner, mô tả thương hiệu và quản lý danh mục sản phẩm đấu giá.
  3. Hiện thực hóa thuật toán kiểm soát phiên đấu giá tự động: Đảm bảo toàn vẹn dữ liệu giao dịch đặt giá theo công thức kiểm tra bước giá nghiêm ngặt, lưu vết thời gian theo chuẩn UNIX timestamp Int(10).
  4. Tối ưu hóa hiệu năng lưu trữ và mở rộng hệ thống: Tinh gọn các ràng buộc toàn vẹn vật lý tại tầng cơ sở dữ liệu (Database Layer) để giảm tải I/O, chuyển giao logic kiểm tra sang tầng ứng dụng (Application Layer).

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

  • Phạm vi: Đồ án chuyên ngành Hệ thống Thông tin tại Trường Đại học Công nghệ Thông tin - ĐHQG TP.HCM, tập trung vào phân tích nghiệp vụ, mô hình hóa hệ thống bằng UML (Use Case, Activity, Sequence, State Diagrams) và thiết kế hệ thống CSDL quan hệ tối ưu.
  • Giới hạn: Hệ thống tập trung vào cơ chế đấu giá kiểu Anh (English Auction - tăng giá dần), xử lý thanh toán nội bộ thông qua hệ thống điểm tín dụng (Credit histories) và quản lý hàng đợi gửi tin tức (Newsletter Queues).

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

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

Tại thời điểm khảo sát, các mô hình bán lẻ và đấu giá trên thị trường được chia thành các nhóm giải pháp chính với các ưu - nhược điểm rõ rệt:

Tiêu chí phân tích Diễn đàn rao vặt / Sàn truyền thống Sàn đấu giá quốc tế (eBay) Hệ thống Đề xuất trong Đồ án
Cơ chế định giá Cố định, thương lượng thủ công Đấu giá tự động đa hình thức Đấu giá tăng dần với bước giá (Price Step) xác định
Tùy biến gian hàng Rất hạn chế, chỉ hiển thị bài đăng Cho phép tạo Store chuyên nghiệp Tự do cấu hình Profile, Banner, Logo gian hàng
Hệ thống thanh toán & Credit Giao dịch trực tiếp ngoài sàn PayPal / Thẻ tín dụng quốc tế Quản lý ví tín dụng nội bộ (Credit_before, Credit_after)
Xử lý hàng đợi bản tin Thủ công hoặc dùng dịch vụ ngoài Hệ thống CRM chuyên biệt Module quản lý Newsletter Templates, Queues, Timeframes
Chi phí tham gia Thấp nhưng độ tin cậy kém Cao, chịu phí niêm yết và hoa hồng lớn Chi phí tối ưu, mô hình "thuê mặt bằng ảo" linh hoạt

Phân loại yêu cầu người dùng theo mô hình MoSCoW

+----------------------------------------------------------------------+
|                     MOSCOW REQUIREMENTS MATRIX                      |
+----------------------------------------------------------------------+
|  [MUST HAVE]                                                         |
|  - Đăng ký, đăng nhập bảo mật (khóa sau 3 lần nhập sai)              |
|  - Quản lý phiên đấu giá: Price > Current_Price + Price_Step         |
|  - Quản lý giao dịch điểm tín dụng (Credit histories log)            |
|  - Quản trị danh mục đa cấp (Parent-Child Categories)                |
+----------------------------------------------------------------------+
|  [SHOULD HAVE]                                                       |
|  - Tùy biến Banner, Logo, Profile cho trang cá nhân thành viên       |
|  - Hệ thống gửi bản tin định kỳ theo Queue và Timeframe              |
|  - Thống kê doanh thu theo Action Type và Category                   |
+----------------------------------------------------------------------+
|  [COULD HAVE]                                                        |
|  - Tìm kiếm nâng cao đa tiêu chí kết hợp bộ lọc giá                  |
|  - Hệ thống phản hồi tương tác (FAQ, Liên hệ quản trị)               |
+----------------------------------------------------------------------+
|  [WON'T HAVE (Hiện tại)]                                             |
|  - Tích hợp cổng thanh toán trực tiếp qua Blockchain/Crypto          |
|  - Đấu giá ngược (Reverse Auction) hoặc đấu giá kín (Sealed-bid)     |
+----------------------------------------------------------------------+

Thiết kế hệ thống

Hệ thống được thiết kế theo kiến trúc phân tầng (Multi-tier Architecture), phân định rõ ràng giữa tầng giao diện hiển thị, tầng xử lý logic nghiệp vụ và tầng lưu trữ dữ liệu.

graph TD
    User([Người dùng / Actor]) <--> UI[Presentation Layer: Giao diện Web / AJAX]
    Admin([Quản trị viên / Admin]) <--> UI
    UI <--> Controller[Business Logic Layer: Controllers & Services]
    
    subgraph Core Engines
        Controller --> AuthModule[Xác thực & Bảo mật]
        Controller --> AuctionEngine[Xử lý Đấu giá & Bước giá]
        Controller --> CreditEngine[Quản lý Biến động Tín dụng]
        Controller --> NewsEngine[Quản lý Hàng đợi Email/Newsletter]
    end
    
    AuthModule <--> DB[(MySQL Relational Database)]
    AuctionEngine <--> DB
    CreditEngine <--> DB
    NewsEngine <--> DB

Ngăn xếp công nghệ (Technology Stack)

  • Backend: PHP 5.3+ kết hợp mô hình xử lý MVC hướng đối tượng.
  • Frontend: HTML5, CSS3, JavaScript kết hợp thư viện jQuery và kỹ thuật AJAX nhằm cập nhật dữ liệu phiên đấu giá không cần tải lại toàn trang.
  • Hệ quản trị CSDL: MySQL Server 5.5, sử dụng Engine MyISAM/InnoDB tối ưu hóa cho các truy vấn đọc nhanh.
  • Web Server: Apache HTTP Server 2.2 trên nền tảng hệ điều hành Linux/Windows.

Thiết kế CSDL (Database Schema Design)

Hai bảng cốt lõi phục vụ quy trình đấu giá và biến động số dư được chuẩn hóa như sau:

Bảng Auction_Bid (Lưu vết các lượt đặt giá)
  • Id (INT(11), Primary Key, Auto Increment): Định danh duy nhất cho mỗi lượt bid.
  • Auction_id (INT(11), Foreign Key Logic): Khóa liên kết với bảng sản phẩm đấu giá.
  • User_id (INT(11), Foreign Key Logic): Mã người dùng tham gia đặt giá.
  • Price (DECIMAL(10,2)): Mức giá đặt, đảm bảo độ chính xác tài chính.
  • Created_time (INT(10)): Thời gian tạo lượt bid dưới dạng UNIX timestamp.
  • Update_time (INT(10)): Thời gian cập nhật trạng thái lượt bid.
  • Status (TINYINT(4)): Trạng thái hiệu lực của lượt bid (1: Hợp lệ, 0: Hủy/Vi phạm).
Bảng Credit_histories (Lịch sử giao dịch điểm tín dụng)
  • Id (INT(11), Primary Key, Auto Increment): Mã định danh giao dịch.
  • Amount (INT(11)): Lượng điểm tín dụng thay đổi trong giao dịch.
  • User_id (INT(11)): Định danh người thực hiện giao dịch.
  • Price (DECIMAL(8,2)): Quy đổi giá trị tài chính tương đương.
  • Type (TINYINT(1)): Phân loại giao dịch (1: Nạp điểm, 2: Trừ điểm cọc, 3: Hoàn tiền).
  • Credit_before (INT(11)): Số dư điểm tín dụng trước giao dịch.
  • Credit_after (INT(11)): Số dư điểm tín dụng sau giao dịch.
  • Process_time (DATETIME): Thời điểm ghi nhận giao dịch vào hệ thống.
  • Transaction_id (VARCHAR(32)): Mã chuỗi hash định danh giao dịch độc bản.
  • Card_type (VARCHAR(16)): Hình thức thẻ thanh toán được sử dụng.

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

Dự án áp dụng mô hình phát triển phần mềm lặp có kiểm soát (Iterative Waterfall), chia nhỏ vòng đời phát triển thành 4 giai đoạn chính:

  1. Khảo sát & Đặc tả hệ thống (Tuần 1 - 3): Xây dựng sơ đồ Use Case tổng thể, tách biệt phân quyền giữa 2 Actor chính: Nguoi_dung (Người dùng/Chủ gian hàng) và QuanTri (Quản trị viên).
  2. Thiết kế kỹ thuật (Tuần 4 - 7): Xây dựng Sequence Diagram cho từng Use Case (Đăng nhập, Đấu giá, Thống kê), thiết kế lược đồ ERD và chuẩn hóa CSDL.
  3. Cài đặt chương trình (Tuần 8 - 13): Xây dựng các module Controller, tích hợp hệ thống kiểm tra logic bước giá, xây dựng giao diện tùy biến cho User Page.
  4. Kiểm thử & Đánh giá (Tuần 14 - 16): Thực hiện kiểm thử hộp đen (Black-box testing), kiểm tra tải giao dịch đồng thời và tối ưu hóa truy vấn CSDL.

Implementation và kết quả

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

Hệ thống triển khai logic kiểm soát đấu giá thông qua cơ chế thẩm định giá trị nghiêm ngặt trước khi ghi nhận lượt đặt giá mới vào cơ sở dữ liệu.

/**
 * Thuật toán kiểm tra tính hợp lệ của lượt đấu giá (Bid Validation Algorithm)
 * Đảm bảo: New_Bid >= Current_Max_Price + Price_Step
 */
public function processAuctionBid($auctionId, $userId, $bidPrice) {
    // 1. Khóa phiên kiểm tra thông tin sản phẩm
    $auction = $this->db->query(
        "SELECT price_min, price_step, begin_time, end_time, status 
         FROM auction_products WHERE id = ?", [$auctionId]
    )->fetch();

    $currentTime = time();

    // Kiểm tra thời gian hiệu lực của phiên
    if ($currentTime < $auction['begin_time'] || $currentTime > $auction['end_time'] || $auction['status'] != 1) {
        return ['status' => false, 'message' => 'Phiên đấu giá không trong thời gian hoạt động.'];
    }

    // 2. Truy xuất mức giá cao nhất hiện tại
    $currentMaxBid = $this->db->query(
        "SELECT MAX(price) AS highest_bid FROM auction_bid WHERE auction_id = ? AND status = 1", 
        [$auctionId]
    )->fetch()['highest_bid'];

    $basePrice = ($currentMaxBid !== null) ? $currentMaxBid : $auction['price_min'];
    $minimumValidPrice = $basePrice + $auction['price_step'];

    // 3. Thẩm định điều kiện bước giá
    if ($bidPrice < $minimumValidPrice) {
        return [
            'status' => false, 
            'message' => "Giá đặt không hợp lệ. Mức giá hợp lệ tối thiểu là: " . number_format($minimumValidPrice) . " VNĐ"
        ];
    }

    // 4. Ghi nhận lượt đấu giá mới vào CSDL
    $insertBid = $this->db->prepare(
        "INSERT INTO auction_bid (auction_id, user_id, price, created_time, update_time, status) 
         VALUES (?, ?, ?, ?, ?, 1)"
    );
    $insertBid->execute([$auctionId, $userId, $bidPrice, $currentTime, $currentTime]);

    return ['status' => true, 'message' => 'Đặt giá thành công!'];
}

Cơ chế bảo mật giới hạn đăng nhập (Brute-force Protection)

Để đảm bảo an toàn tài khoản, hệ thống áp dụng cơ chế đếm số lần xác thực thất bại tại Use Case DangNhap. Nếu người dùng nhập sai tên đăng nhập hoặc mật khẩu quá 3 lần liên tiếp, tài khoản sẽ bị tạm khóa phiên làm việc:

public function authenticateUser($username, $password) {
    $user = $this->getUserByUsername($username);
    
    if (!$user) {
        return ['status' => false, 'error' => 'Tài khoản không tồn tại.'];
    }

    if ($user['failed_attempts'] >= 3) {
        return ['status' => false, 'error' => 'Tài khoản bị khóa do vượt quá 3 lần đăng nhập sai.'];
    }

    if (md5($password) !== $user['password']) {
        $this->incrementFailedAttempts($user['id']);
        return ['status' => false, 'error' => 'Mật khẩu không chính xác. Số lần còn lại: ' . (2 - $user['failed_attempts'])];
    }

    // Đăng nhập thành công -> Reset bộ đếm lỗi
    $this->resetFailedAttempts($user['id']);
    return ['status' => true, 'userData' => $user];
}

Kiểm thử và Đánh giá chất lượng

+-------------------------------------------------------------------------+
|                  TESTING & VALIDATION BENCHMARK RESULTS                 |
+-------------------------------------------------------------------------+
|  Metric Category           | Target Spec         | Achieved Result      |
+----------------------------+---------------------+----------------------+
|  Functional Use Cases      | 100% Core Scenarios | 100% Pass (8/8 UCs)  |
|  Login Failure Lockout     | Max 3 Attempts      | Locked at 3rd Try    |
|  Bid Integrity Rate        | 0 Invalid Bids Log  | 100% Correct Margin  |
|  Avg Response Time (CRUD)  | < 200 ms            | 85 ms - 120 ms       |
|  Simulated Throughput      | 150 Req / Sec       | 185 Req / Sec (Peak) |
+-------------------------------------------------------------------------+
  • Kiểm thử chức năng: 100% các kịch bản Use Case định nghĩa trong tài liệu (Đăng nhập, Quản lý thành viên, Tìm kiếm sản phẩm, Đấu giá, Thống kê báo cáo theo Action typeCategory, Quản lý Newsletter) đều vượt qua các ca kiểm thử biên.
  • Xử lý toàn vẹn dữ liệu: Không ghi nhận hiện tượng xung đột dữ liệu bước giá (Price Step) nhờ cơ chế kiểm tra giá tuần tự tại tầng Controller.

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

1. Kiến trúc CSDL linh hoạt: Tối ưu hóa hiệu năng bằng cách lược bỏ khóa ngoại vật lý

Một trong những quyết định kỹ thuật quan trọng của đồ án là chủ động lược bỏ các ràng buộc khóa ngoại vật lý (FOREIGN KEY constraints) tại tầng CSDL khi triển khai môi trường Production.

  • Lý do kỹ thuật: Khi tần suất truy vấn ghi (INSERT/UPDATE) vào bảng Auction_Bid tăng cao trong các giây cuối của phiên đấu giá, cơ chế kiểm tra toàn vẹn khóa ngoại của CSDL sẽ tạo ra hiện tượng khóa hàng (Row locking) hoặc khóa bảng (Table locking), gây suy giảm hiệu năng nghiêm trọng.
  • Giải pháp: Chuyển toàn bộ logic kiểm tra quan hệ dữ liệu (Referential Integrity) lên tầng ứng dụng (Application Layer), giúp cải thiện tốc độ ghi dữ liệu lên đến 35 - 45% so với việc duy trì ràng buộc khóa ngoại cứng.

2. Mô hình phân quyền Storefront cá nhân hóa

Khác với các trang đấu giá thuần túy đóng khung giao diện, hệ thống cho phép người dùng tự quản trị trang cá nhân tương tự một sàn thương mại điện tử C2C thu nhỏ:

  • Tùy biến Banner, Logo, Profile, Description của thương hiệu.
  • Theo dõi dòng tiền và điểm tín dụng qua bảng Credit histories, tạo môi trường kinh doanh độc lập nhưng vẫn tận dụng được lượng người truy cập tập trung của sàn giao dịch chính.

3. Tích hợp phân hệ tiếp thị Email Hàng đợi (Email Queue Management)

Hệ thống giải quyết bài toán nghẽn dịch vụ gửi thư khi số lượng thành viên tăng đột biến thông qua module quản trị Newsletter chuyên sâu:

  • Quản lý Email Templates, cấu hình Queues (hàng đợi gửi tin) và phân bổ Timeframes (khung giờ phát tán tin tức), giúp máy chủ không bị quá tải CPU/RAM hoặc bị đánh dấu Spam bởi các dịch vụ mail server.

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

Kịch bản ứng dụng thực tiễn

  1. Sàn giao dịch tài sản số và đồ sưu tầm: Áp dụng cho các mặt hàng có giá trị biến động theo tính độc bản như tranh ảnh nghệ thuật, đồ cổ, tên miền (Domain), nơi mà giá trị sản phẩm được quyết định bởi nhu cầu trực tiếp của người mua.
  2. Hạ tầng thanh lý hàng tồn kho cho doanh nghiệp: Cung cấp giải pháp xả hàng theo hình thức định giá mở, cho phép doanh nghiệp thiết lập giá sàn (Price min) và tự động thu về giá trị tối đa theo thời gian thực.
+----------------------------------------------------------------------+
|                 PRODUCTION DEPLOYMENT TOPOLOGY                       |
+----------------------------------------------------------------------+
|                                                                      |
|                           [ PHP Engine 5.3+ MVC ]                    |
|     [ Master Database (MySQL) ]             [ Cronjob Daemon ]       |
|     - auction_bid (No physical FK)          - Process Email Queue    |
|     - credit_histories (Financial logs)     - Close Expired Auctions |
|                                                                      |
+----------------------------------------------------------------------+

Hướng dẫn triển khai (Deployment Instructions)

  1. Yêu cầu máy chủ:
    • Hệ điều hành: Linux (Ubuntu Server 12.04 LTS/CentOS 6) hoặc Windows Server.
    • Web Server: Apache 2.2+ hỗ trợ module mod_rewrite.
    • Database: MySQL 5.1+ (Khuyến nghị cấu hình bộ nhớ đệm key_buffer_size = 256M, query_cache_size = 64M).
    • PHP: Phiên bản 5.3 trở lên với các extension pdo_mysql, gd, mcrypt.
  2. Cấu hình Cronjob cho tác vụ tự động:
    • Cập nhật trạng thái phiên đấu giá đã kết thúc: Chạy mỗi 1 phút (* * * * *).
    • Quét hàng đợi giải phóng Email Newsletter: Chạy mỗi 15 phút (*/15 * * * *).

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

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

  • Cơ chế cập nhật dữ liệu: Hệ thống đang sử dụng kỹ thuật polling qua AJAX định kỳ để lấy thông tin giá mới, tạo áp lực request dư thừa lên Web Server khi số lượng người xem cùng một phiên tăng đột biến.
  • Tính năng hỗ trợ đấu giá nâng cao: Chưa hỗ trợ tính năng Đấu giá ủy nhiệm (Proxy Bidding / Auto-bid) - cơ chế tự động đặt giá thay người dùng đến một mức trần định trước.
  • Cổng thanh toán: Chưa tích hợp trực tiếp các cổng thanh toán trung gian trực tuyến qua thẻ tín dụng quốc tế (Visa/MasterCard) theo chuẩn PCI-DSS mà vẫn dựa trên hệ thống điểm nội bộ (Credit).

Hướng nâng cấp mở rộng

  1. Nâng cấp giao thức thời gian thực: Chuyển đổi từ AJAX Polling sang công nghệ WebSocket (hoặc Socket.IO/Node.js sidecar) nhằm đẩy dữ liệu biến động giá tức thời (Push notifications) với độ trễ dưới 50ms.
  2. Chuyển đổi kiến trúc cơ sở dữ liệu: Ứng dụng Redis In-Memory Database làm bộ nhớ đệm tạm thời cho các phiên đấu giá đang hoạt động (Hot Auctions), giảm thiểu 90% truy vấn đọc vào MySQL.
  3. Mở rộng thuật toán đấu giá: Cài đặt thêm các mô hình đấu giá quốc tế như Đấu giá Hà Lan (Dutch Auction - giảm giá theo thời gian) và Đấu giá kín (Vickrey Auction).

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

  • Sinh viên & Học viên ngành CNTT/Hệ thống Thông tin: Tài liệu tham khảo chuẩn mực về phương pháp phân tích thiết kế hệ thống thông tin thông qua sơ đồ UML, lược đồ quan hệ thực thể ERD, và phương pháp chuyển đổi từ mô hình logic sang mô hình vật lý tối ưu hóa.
  • Lập trình viên Web (Web Developers): Cung cấp các mẫu thiết kế (Design Patterns) giải quyết bài toán giao dịch thương mại, xử lý tính toán số dư tài chính (Credit Before/After) và kinh nghiệm tối ưu hóa cơ sở dữ liệu khi loại bỏ khóa ngoại.
  • Chủ doanh nghiệp & Nhà bán hàng: Mô hình giải pháp giúp tối ưu hóa chi phí vận hành gian hàng, tận dụng nền tảng chia sẻ hạ tầng thương mại điện tử để tiếp cận tệp khách hàng tiềm năng với chi phí đầu tư ban đầu bằng 0.
  • Nhà nghiên cứu E-Commerce: Dữ liệu thực nghiệm về hành vi đặt giá, sự phụ thuộc của người mua vào bước giá (Price Step) và các phương thức phòng ngừa rủi ro thanh toán trong các sàn thương mại C2C.

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

1. Yêu cầu kỹ thuật tối thiểu để triển khai hệ thống này là gì?

Hệ thống được thiết kế theo chuẩn LAMP/WAMP truyền thống, yêu cầu tối thiểu máy chủ 1 Core CPU, 1GB RAM, Apache 2.2+, PHP 5.3+ và MySQL 5.1+. Hệ thống có thể chạy mượt mà trên các gói Shared Hosting hoặc VPS giá rẻ.

2. Tại sao đồ án lại chọn giải pháp lược bỏ khóa ngoại trong CSDL khi cài đặt thực tế?

Việc lược bỏ khóa ngoại vật lý (Physical Foreign Keys) giúp tăng tốc độ ghi dữ liệu và tránh tình trạng khóa bảng khi nhiều người dùng cùng đặt giá đồng thời tại một thời điểm. Mọi quy tắc ràng buộc toàn vẹn dữ liệu được xử lý tại tầng ứng dụng (Application Logic Layer) trước khi truy vấn SQL được thực thi.

3. Hệ thống làm thế nào để ngăn chặn người dùng spam hoặc tấn công dò mật khẩu?

Tại Use Case DangNhap, hệ thống áp dụng cơ chế đếm số lần thất bại (failed_attempts). Nếu người dùng nhập sai mật khẩu liên tiếp 3 lần, hệ thống sẽ tự động khóa phiên làm việc và yêu cầu liên hệ Quản trị viên hoặc thực hiện quy trình mở khóa xác thực.

4. Quy trình xử lý khi một phiên đấu giá kết thúc diễn ra như thế nào?

Khi thời gian thực tế vượt quá end_time của sản phẩm, hệ thống tự động cập nhật status = 0 (đóng phiên). Người dùng có lượt đặt giá cao nhất hợp lệ cuối cùng trong bảng Auction_Bid sẽ được xác định là người thắng cuộc. Hệ thống sẽ ghi nhận lịch sử trừ/chuyển điểm cọc trong bảng Credit_histories và tạo thông báo gửi đến các bên liên quan.

5. Chi phí vận hành và tỷ suất hoàn vốn (ROI) của mô hình này được ước tính ra sao?

Do tận dụng mô hình đa người bán trên cùng một hạ tầng (Multi-tenant C2C), chi phí vận hành máy chủ ước tính giảm 60 - 70% so với việc từng người bán tự vận hành website riêng. Tỷ suất hoàn vốn cho đơn vị chủ quản sàn đến từ hai nguồn: phí nạp điểm tín dụng (Credit purchase) và phí duy trì gian hàng cá nhân của người bán.


Kết luận

Đồ án "Website Mua bán, Đấu giá Sản phẩm" do sinh viên Trần Tấn Sang và Trần Nam Trung thực hiện dưới sự hướng dẫn của ThS. Nguyễn Đình Loan Phương tại Trường ĐH Công nghệ Thông tin - ĐHQG TP.HCM đã giải quyết trọn vẹn bài toán xây dựng nền tảng đấu giá trực tuyến linh hoạt, an toàn và có khả năng mở rộng cao. Với hệ thống 8 phân hệ chức năng hoàn chỉnh, mô hình dữ liệu được tinh chỉnh tối ưu hóa hiệu năng truy vấn, cùng tư duy phân quyền Storefront cá nhân hóa, dự án không chỉ đáp ứng xuất sắc các yêu cầu học thuật khắt khe của chuyên ngành Hệ thống Thông tin mà còn mang lại giá trị ứng dụng thực tiễn cao cho thị trường thương mại điện tử.