Bối cảnh và vấn đề nghiên cứu
Trong bối cảnh thị trường sự kiện giải trí (âm nhạc, thể thao, nghệ thuật) ngày càng mở rộng, nhu cầu mua đi bán lại vé phát sinh mạnh mẽ khi người sở hữu vé không còn nhu cầu tham dự hoặc người hâm mộ không kịp mua vé từ các kênh phân phối chính thức. Tuy nhiên, hoạt động giao dịch vé tại "chợ đen" hoặc qua các kênh mạng xã hội tiềm ẩn nhiều nguy cơ lừa đảo tinh vi. Các hành vi gian lận phổ biến bao gồm tạo lập trang web giả mạo, phát hành vé giả, nhận tiền thanh toán nhưng không chuyển giao vé, hoặc bán đồng thời một mã vé cho nhiều người mua khác nhau. Đồng thời, người bán cũng đối mặt với rủi ro từ việc người mua sử dụng thông tin cá nhân giả mạo để chiếm đoạt tài sản. Xuất phát từ thực trạng này, đồ án tốt nghiệp "Thiết kế và xây dựng website bán lại vé" (Resell Ticket) của nhóm sinh viên Nguyễn Phát Đạt và Thái Doãn Gia Bảo (ngành Công nghệ Thông tin, chuyên ngành Công nghệ Phần mềm, Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh) đã được thực hiện nhằm xây dựng một nền tảng giao dịch trực tuyến an toàn, trung gian và minh bạch.
Mục tiêu nghiên cứu và phát triển của đồ án được văn bản xác định cụ thể qua 6 nội dung chính:
- Xây dựng một trang web mua bán vé chất lượng cao, mang lại giá trị thực sự cho khách hàng và quản trị viên.
- Tạo ra một giao diện trực quan và dễ sử dụng cho khách hàng, tạo trải nghiệm mua sắm thuận tiện và thú vị.
- Tối ưu hóa hệ thống quản lý sản phẩm và đơn hàng để giúp quản trị viên dễ dàng thực hiện công việc quản trị.
- Đảm bảo tính bảo mật và an toàn cho thông tin cá nhân của khách hàng.
- Xây dựng cơ sở dữ liệu sản phẩm đa dạng và phong phú để đáp ứng nhu cầu mua sắm đa dạng của người dùng.
- Tối ưu hóa quy trình vận chuyển và giao hàng để đảm bảo sự hài lòng của khách hàng về thời gian và chất lượng dịch vụ.
Đối tượng nghiên cứu của đề tài bao gồm khách hàng tiềm năng có nhu cầu mua lại hoặc bán lại vé sự kiện và các quản trị viên vận hành hệ thống. Phạm vi nghiên cứu tập trung vào việc thiết kế, xây dựng và hoàn thiện toàn bộ hệ thống website thương mại điện tử C2C (Customer-to-Customer), bao gồm việc xây dựng giao diện người dùng (Front-end), xây dựng hệ thống máy chủ xử lý nghiệp vụ (Back-end), thiết kế cơ sở dữ liệu quan hệ, quy trình giao nhận vé và phân hệ quản trị dành cho quản trị viên (Admin).
Cơ sở lý thuyết và phương pháp
Đồ án ứng dụng mô hình phát triển phần mềm hướng dịch vụ và kiến trúc web hiện đại, dựa trên các công nghệ nền tảng sau:
- ReactJS: Thư viện JavaScript mã nguồn mở phát triển bởi Facebook, dùng để xây dựng giao diện người dùng. Đồ án khai thác các đặc tính cốt lõi của ReactJS gồm cấu trúc thành phần (Components) độc lập có khả năng tái sử dụng, cây DOM ảo (Virtual DOM) giúp tối ưu hóa hiệu năng render, cú pháp mở rộng JSX, cơ chế quản lý trạng thái (State) và truyền nhận thuộc tính (Props), vòng đời thành phần (Lifecycle), cơ chế xử lý sự kiện (Event Handling), định tuyến thông qua React Router, kiến trúc quản lý trạng thái toàn cục Flux/Redux và hệ thống React Hooks.
- NestJS: Framework mã nguồn mở chạy trên môi trường Node.js (hỗ trợ TypeScript/JavaScript), phục vụ xây dựng kiến trúc máy chủ Back-end và các RESTful API. Hệ thống triển khai theo mô hình module hóa chặt chẽ, tận dụng các thành phần: Controllers tiếp nhận và xử lý yêu cầu HTTP; Providers đảm nhiệm nghiệp vụ logic; Modules gom nhóm chức năng; Middleware tiền xử lý dữ liệu; Pipes chuẩn hóa và kiểm tra dữ liệu đầu vào; Guards phân quyền và xác thực người dùng; Interceptors can thiệp vào chu kỳ xử lý; cơ chế Dependency Injection quản lý phụ thuộc; cùng khả năng tích hợp công cụ tương tác cơ sở dữ liệu (ORM như Prisma/TypeORM) và Middleware Express.
- MariaDB: Hệ quản trị cơ sở dữ liệu quan hệ (RDBMS) mã nguồn mở phát triển dựa trên MySQL, cung cấp khả năng tương thích ngược hoàn toàn, tuân thủ các đặc tính ACID (Atomicity, Consistency, Isolation, Durability), chỉ mục (indexing) mạnh mẽ, cơ chế xác thực phân quyền và tối ưu truy vấn dữ liệu tải cao.
- Môi trường và thư viện bổ trợ: Sử dụng Socket.IO cho việc truyền thông hai chiều thời gian thực; Redis đóng vai trò lưu trữ đệm (cache) và xử lý hàng đợi (Queue); Docker hỗ trợ ảo hóa và đóng gói môi trường triển khai.
Phương pháp nghiên cứu thực tế bao gồm phương pháp khảo sát hiện trạng hệ thống thực tế thông qua việc phân tích nền tảng StubHub (website bán lại vé giải trí trực tuyến); phương pháp phân tích - thiết kế hướng đối tượng sử dụng ngôn ngữ mô hình hóa UML (Use Case Diagram, Sequence Diagram, Lược đồ quan hệ thực thể); và phương pháp thực nghiệm triển khai phần mềm (cài đặt môi trường, kết nối cơ sở dữ liệu, kiểm thử giao diện và chức năng). Nguồn dữ liệu phục vụ nghiên cứu xuất phát từ kết quả phân tích hệ thống thương mại StubHub cùng dữ liệu mô phỏng sự kiện, vé và người dùng trong môi trường phát triển.
Thiết kế và triển khai
Hệ thống được thiết kế theo kiến trúc tách biệt giữa tầng giao diện người dùng (Front-end), tầng giao diện quản trị (Admin Portal), tầng xử lý nghiệp vụ (Back-end API) và tầng lưu trữ dữ liệu (Database).
Trong giai đoạn khảo sát hiện trạng, nhóm nghiên cứu đã phân tích hệ thống bán lại vé StubHub để xác định ưu và nhược điểm thực tế làm cơ sở đặc tả yêu cầu:
| Tiêu chí |
Ưu điểm ghi nhận |
Nhược điểm còn tồn tại |
| Hệ thống StubHub |
- Giao diện trực quan, dễ sử dụng. - Chính sách hoàn tiền rõ ràng. - Tích hợp tính năng công nghệ tiên tiến (hỗ trợ di động, bản đồ chỗ ngồi). |
- Phí dịch vụ cao. - Mức độ chênh lệch giá vé lớn. - Phản hồi hỗ trợ khách hàng còn chậm. |
Từ kết quả khảo sát, hệ thống Resell Ticket xác lập các yêu cầu chức năng cho ba nhóm tác nhân (Guest, User, Admin):
| Nhóm tác nhân |
Chức năng quy định trong hệ thống |
| Guest (Khách vãng lai) |
Đăng ký tài khoản, Tìm kiếm sự kiện, Xem danh mục sự kiện, Xem chi tiết vé, Mua vé, Quên mật khẩu. |
| User (Người dùng đã đăng ký) |
Đăng ký, Đăng nhập, Tìm kiếm sự kiện, Xem danh mục, Xem chi tiết vé, Quản lý thông tin cá nhân, Mua vé, Thanh toán qua PayPal, Đấu giá vé, Bán vé (đăng ký bán lại), Nạp tiền, Rút tiền về tài khoản ngân hàng/PayPal, Thêm voucher giảm giá. |
| Admin (Quản trị viên) |
Quản lý tài khoản khách hàng, Quản lý sự kiện, Thêm sự kiện mới, Quản lý đăng ký bán vé (Approve/Reject), Quản lý đơn mua vé, Quản lý yêu cầu rút tiền (Approve/Reject), Quản lý mã voucher, Quản lý phí shipping, Quản lý phí sự kiện Clearance, Quản lý và xử lý khiếu nại/báo cáo đơn hàng. |
Về quy trình cài đặt và triển khai hệ thống (được trình bày ở Chương 4), tài liệu mô tả các bước kỹ thuật bao gồm:
- Thiết lập và khởi chạy môi trường container thông qua Docker.
- Cài đặt và biên dịch mã nguồn Back-end trên nền NestJS.
- Cài đặt và khởi chạy giao diện Front-end người dùng trên ReactJS.
- Cài đặt và khởi chạy giao diện Front-end dành cho Admin.
- Thiết lập cấu hình kết nối cơ sở dữ liệu MariaDB qua 4 bước (cấu hình biến môi trường, định nghĩa kết nối, khởi tạo lược đồ dữ liệu và kiểm tra trạng thái kết nối thành công).
- Triển khai hai tính năng kỹ thuật phát triển mở rộng: thiết kế mô hình khán đài từ thực tế (cho phép người dùng quan sát vị trí khán đài và chọn ghế ngồi trực quan trên bản đồ sân khấu) và tích hợp phân hệ đấu giá vé theo thời gian thực dành cho khách hàng.
Nội dung chính theo từng chương
Mở đầu
Phần mở đầu xác lập tính cấp thiết của đề tài xuất phát từ các vụ việc gian lận vé sự kiện tại thị trường tự do; trình bày 6 mục tiêu phát triển hệ thống; phân định đối tượng nghiên cứu (người mua, người bán vé, quản trị viên); xác định phạm vi thực hiện dự án; phác thảo kết quả dự kiến về mặt lý thuyết và thực hành; đồng thời công bố hai nội dung phát triển mở rộng kế thừa từ học phần tiểu luận chuyên ngành trước đó là: tích hợp tính năng chọn ghế ngồi trên bản đồ sân khấu và xây dựng hệ thống đấu giá vé cho khách hàng.
Chương 1: Cơ sở lý thuyết
Chương này tập trung trình bày chi tiết về các công nghệ được lựa chọn để xây dựng hệ sinh thái của đồ án:
- ReactJS: Giới thiệu tổng quan về thư viện và phân tích bản chất của 10 khái niệm nền tảng bao gồm Components, Virtual DOM, JSX, State, Props, Lifecycle, Event Handling, React Router, hệ thống quản lý luồng dữ liệu Flux/Redux và React Hooks.
- NestJS: Phân tích cơ chế hoạt động của framework trên môi trường Node.js với TypeScript/JavaScript, giải thích cụ thể vai trò của 10 thành phần kiến trúc: Controllers, Providers, Modules, Middleware, Pipes, Guards, Interceptors, Dependency Injection, thư viện ORM (Prisma/TypeORM) và tích hợp Middleware Express.
- MariaDB: Trình bày nguồn gốc phát triển từ MySQL, 6 đặc tính kỹ thuật cơ bản gồm mã nguồn mở, độ tương thích ngược, khả năng bảo đảm toàn vẹn giao dịch ACID, hiệu năng cao với indexing/caching, sự hỗ trợ từ cộng đồng và phạm vi ứng dụng rộng rãi trong các hệ thống thương mại điện tử.
Chương 2: Xác định và yêu cầu hệ thống
Chương 2 mô tả quá trình nghiên cứu thực nghiệm hiện trạng:
- Tiến hành khảo sát trực tiếp website mua bán vé sự kiện StubHub, ghi nhận các giao diện thực tế như trang chủ, thanh tìm kiếm, danh mục phân loại sự kiện (Sports, Concert...), khối sự kiện đề xuất, giao diện đăng bán lại vé và giao diện đặt mua vé.
- Xây dựng bảng so sánh ưu điểm và nhược điểm của StubHub nhằm tìm ra các điểm hạn chế cần khắc phục trong sản phẩm của nhóm.
- Định hình bảng phân rã yêu cầu đối với hệ thống, liệt kê chi tiết các chức năng phân định cho ba vai trò tác nhân: Guest, User và Admin.
Chương 3: Phân tích hệ thống
Chương 3 là phần trọng tâm về kỹ thuật phần mềm của khóa luận:
- Cung cấp lược đồ Use Case tổng thể toàn hệ thống và bảng phân mục 21 use case được gán mã nhận diện (G01, GU01–GU05, GUA01, GA01, U01–U04, A01–A10).
- Trình bày bảng đặc tả chi tiết cho từng use case, bao gồm Actor, Trigger, Pre-conditions, Post-conditions, luồng sự kiện chính (Main Flow), luồng thay thế (Alternate Flow) và luồng ngoại lệ (Exception Flow). Tiêu biểu như:
- G01 (Đăng ký): Yêu cầu nhập các trường thông tin cá nhân, xác thực mã email OTP, kiểm tra định dạng mật khẩu phức tạp gồm chữ hoa, chữ thường, chữ số và ký tự đặc biệt.
- GU04 & GU05 (Mua vé & Thanh toán): Người dùng chọn vé theo chỗ ngồi, chuyển hướng trang chi tiết, thanh toán thông qua cổng PayPal và nhận thông báo kết quả.
- U02 (Bán vé): Người dùng đăng ký bán lại vé, gửi kèm hình ảnh chụp vé thực tế và hình ảnh thông tin ví PayPal để chờ xét duyệt.
- U03 & A05 (Rút tiền & Quản lý rút tiền): Sau khi bán vé thành công, số tiền giao dịch được tạm giữ tại ví ảo hệ thống; người dùng tạo yêu cầu rút tiền; Admin kiểm tra, thực hiện phê duyệt (Approve) hoặc từ chối (Reject) trước khi chuyển tiền trực tiếp về tài khoản PayPal của người dùng.
- A03 (Quản lý đăng ký bán vé): Admin thẩm định hình ảnh và thông tin vé do người dùng đăng bán; nếu hợp lệ sẽ thực hiện "Approve" để vé xuất hiện trên sàn, nếu vi phạm sẽ nhấn "Reject".
- A07 & A08 (Quản lý phí ship và phí sự kiện Clearance): Cung cấp giao diện để Admin thiết lập phí vận chuyển mặc định (Shipping fee) và điều chỉnh phí sàn cùng phí hoa hồng đối với các sự kiện Clearance (được văn bản định nghĩa là các sự kiện nhỏ hoặc không chính thống).
- A09 (Quản lý khiếu nại báo cáo): Tiếp nhận phản hồi khiếu nại đơn hàng từ khách hàng để quản trị viên xử lý và phê duyệt hoàn trả.
- Đưa ra hệ thống lược đồ tuần tự (Sequence Diagram) mô hình hóa luồng thông điệp giữa Actor, Giao diện, Controller và Cơ sở dữ liệu cho các tác vụ: Đăng ký, Đăng nhập, Quản lý tài khoản, Tìm kiếm, Xem danh mục, Mua vé, Thanh toán, Thông tin thông báo, Xem thông tin cá nhân và Bán vé.
- Trình bày lược đồ quan hệ cơ sở dữ liệu (Database Relational Schema) thể hiện liên kết giữa các bảng thực thể trong hệ thống.
- Thiết kế hệ thống giao diện chi tiết kèm bảng chú thích cho từng màn hình: giao diện trang Home, đăng nhập, đăng ký, thông tin người dùng, chi tiết vé, quy trình mua vé (5 bước), quy trình bán vé (4 bước), màn hình thông báo chờ duyệt vé, giao diện đấu giá vé (3 bước) và trọn bộ các giao diện nghiệp vụ phía Admin (Dashboard, quản lý tài khoản, tạo vé, duyệt vé đăng ký, voucher, rút tiền, đơn hàng, cấu hình phí ship, cấu hình phí Clearance và báo cáo khiếu nại).
Chương 4: Cài đặt và kiểm thử
Chương này tổng kết quá trình hiện thực hóa giải pháp phần mềm trên môi trường máy tính thông qua các hình ảnh minh chứng thực tế:
- Quá trình cấu hình và biên dịch dịch vụ Back-end NestJS qua các bước.
- Cấu hình khởi động dịch vụ Docker phục vụ đóng gói hệ thống.
- Cài đặt và chạy giao diện người dùng Front-end (ReactJS) và giao diện Admin.
- Thực hiện quy trình 4 bước kết nối máy chủ ứng dụng với hệ quản trị cơ sở dữ liệu MariaDB cho đến khi hệ thống báo trạng thái kết nối thành công.
- Hiện thực hóa thiết kế mô hình khán đài sân khấu dựa trên không gian biểu diễn thực tế, cho phép ánh xạ các khối ghế ngồi vào phần mềm để phục vụ chức năng chọn vị trí vé trực quan.
Kết quả và đóng góp
Về mặt sản phẩm kỹ thuật, đồ án đã hoàn thành việc xây dựng website "Resell Ticket" vận hành trên nền tảng web, đáp ứng đầy đủ các quy trình nghiệp vụ thương mại điện tử C2C dành cho thị trường bán lại vé:
- Xây dựng hoàn chỉnh luồng nghiệp vụ khép kín từ đăng ký, tìm kiếm sự kiện, chọn vé theo bản đồ chỗ ngồi sân khấu, thanh toán trực tuyến qua cổng PayPal, đến khâu quản lý tài khoản và sử dụng voucher giảm giá.
- Thiết lập giải pháp trung gian nhằm hạn chế tình trạng lừa đảo vé chợ đen: người bán bắt buộc phải cung cấp hình ảnh vé và ví thanh toán để Admin xét duyệt (Approve/Reject) trước khi vé được niêm yết công khai; đồng thời tiền thanh toán của người mua được bảo lưu an toàn tại hệ sinh thái ví ảo trung gian của hệ thống và chỉ được giải ngân về ví PayPal của người bán khi có xác nhận hợp lệ từ quản trị viên.
- Cung cấp bảng điều khiển Dashboard và bộ công cụ quản trị hoàn chỉnh cho Admin: quản lý khách hàng, kiểm duyệt vé bán lại, phê duyệt rút tiền, xử lý khiếu nại báo cáo, thiết lập phí vận chuyển và cấu hình biểu phí sàn/hoa hồng cho các sự kiện nhỏ (Clearance fee).
Về mặt đóng góp phát triển so với học phần tiểu luận chuyên ngành trước đó, đồ án đã hiện thực hóa thành công hai nội dung cải tiến kỹ thuật:
- Tích hợp tính năng trực quan hóa sơ đồ khán đài thực tế, cho phép người dùng quan sát không gian sân khấu và trực tiếp chọn ghế ngồi khi đặt vé thay vì chỉ chọn danh sách văn bản thuần túy.
- Xây dựng và tích hợp thành công phân hệ đấu giá vé, cung cấp thêm cơ chế định giá linh hoạt cho các sự kiện có nhu cầu cao.
Hạn chế và hướng nghiên cứu tiếp
Dựa trên nội dung tự nhận xét trong văn bản và phạm vi kỹ thuật đã công bố:
- Hạn chế: Nhóm tác giả thừa nhận kiến thức và kinh nghiệm thực tiễn còn nhiều điểm hạn chế nên hệ thống khó tránh khỏi những thiếu sót trong quá trình phân tích và vận hành. Cổng thanh toán trực tuyến hiện chỉ mới tích hợp PayPal, chưa mở rộng các cổng thanh toán nội địa phổ biến tại Việt Nam. Quy trình xác thực tính thật - giả của vé vẫn chủ yếu dựa trên bước thẩm định thủ công qua hình ảnh từ phía Admin, chưa có cơ chế đối soát tự động bằng API với các nhà phát hành vé gốc. Báo cáo chưa cung cấp các số liệu kiểm thử hiệu năng tải cao (stress test/load test) trong điều kiện hàng ngàn người cùng tranh mua hoặc đấu giá vé.
- Hướng nghiên cứu tiếp: Tiếp tục hoàn thiện các thiếu sót theo góp ý của hội đồng phản biện; tối ưu hóa thuật toán xử lý dữ liệu hàng đợi (Queue/Redis) nhằm đảm bảo hệ thống không bị nghẽn mạch khi diễn ra các phiên mở bán hoặc đấu giá vé quy mô lớn; tích hợp cơ chế tự động hóa trong khâu kiểm duyệt vé và mở rộng đa dạng hóa phương thức thanh toán.
Giá trị tham khảo
Đồ án tốt nghiệp là tài liệu tham khảo hữu ích cho sinh viên thuộc các chuyên ngành Công nghệ thông tin, Công nghệ phần mềm, Hệ thống thông tin hoặc các kỹ sư phần mềm đang nghiên cứu phát triển các hệ thống thương mại điện tử C2C, đặc biệt là các mô hình sàn giao dịch thứ cấp đòi hỏi cơ chế kiểm duyệt trung gian và giải ngân ký quỹ.
Các nội dung có giá trị tham khảo chuyên môn cao trong tài liệu bao gồm:
- Tài liệu đặc tả 21 Use Case chi tiết với đầy đủ các luồng chính và luồng ngoại lệ, cung cấp biểu mẫu chuẩn mực cho các bài toán phân tích thiết kế phần mềm quản lý bán hàng.
- Phương pháp kết hợp kiến trúc giữa NestJS (Back-end) và ReactJS (Front-end), cùng cách thức cấu hình môi trường phân tán thông qua Docker, Redis và MariaDB.
- Quy trình nghiệp vụ kiểm soát rủi ro giao dịch hai đầu (bán vé - duyệt vé - giữ tiền - phê duyệt rút tiền) và mô hình phân loại phụ phí đặc thù như phí sự kiện nhỏ/không chính thống (Clearance fee) và phí vận chuyển (Shipping fee).
Câu hỏi thường gặp
1. Đề tài đã kế thừa và phát triển thêm những tính năng mới nào so với học phần tiểu luận chuyên ngành trước đó?
Theo mục 5 trong Phần Mở đầu của văn bản, nhóm nghiên cứu đã phát triển thêm 02 nội dung kỹ thuật mới bao gồm: tích hợp chức năng chọn ghế ngồi trực tiếp trên bản đồ sơ đồ khán đài sân khấu thực tế và xây dựng hệ thống đấu giá vé trực tuyến dành cho khách hàng.
2. Hệ thống Resell Ticket hỗ trợ phương thức thanh toán và cơ chế rút tiền như thế nào?
Hệ thống sử dụng cổng thanh toán trực tuyến PayPal (use case GU05). Khi người dùng mua vé, hệ thống chuyển hướng sang giao diện PayPal để hoàn tất thanh toán. Đối với người bán vé, sau khi bán thành công, tiền sẽ được tạm giữ ở ví ảo nội bộ của website; người bán tạo yêu cầu rút tiền (use case U03) và chỉ sau khi Admin kiểm tra, xác nhận phê duyệt (use case A05) thì tiền mới được chuyển thẳng về tài khoản PayPal của người dùng.
3. Vai trò của Admin trong việc kiểm soát các giao dịch bán lại vé trên hệ thống được quy định ra sao?
Để ngăn chặn tình trạng bán vé giả và lừa đảo, người dùng khi đăng ký bán vé (use case U02) bắt buộc phải cung cấp email, hình ảnh vé thực tế và hình ảnh thông tin ví PayPal. Admin sẽ sử dụng màn hình quản lý đăng ký bán vé (use case A03) để xem xét chi tiết; nếu thông tin hợp lệ, Admin nhấn "Approve" để cấp phép cho vé xuất hiện trên hệ thống; nếu phát hiện sai phạm hoặc nghi vấn gian lận, Admin sẽ nhấn "Reject" để từ chối niêm yết.
4. Phí sự kiện Clearance trên hệ thống là gì và được quản trị viên thiết lập như thế nào?
Theo chú thích tại mục Kết quả dự kiến và use case A08, sự kiện Clearance được định nghĩa là các sự kiện nhỏ hoặc không chính thống. Quản trị viên quản lý loại phí này thông qua chức năng "Clearance Fee Management", cho phép nhập và cập nhật hai giá trị cấu hình gồm phí nền tảng mới ("New clearance platform fee") và phí hoa hồng mới ("New clearance comission fee").
5. Cơ sở dữ liệu và môi trường vận hành của hệ thống sử dụng những công nghệ nào?
Hệ thống sử dụng hệ quản trị cơ sở dữ liệu quan hệ MariaDB; đồng thời vận hành trong môi trường kết hợp công nghệ truyền thông thời gian thực Socket.IO, dịch vụ hàng đợi và bộ nhớ đệm Redis, và được ảo hóa, đóng gói triển khai thông qua công cụ Docker.
Kết luận
Đồ án tốt nghiệp "Thiết kế và xây dựng website bán lại vé" của sinh viên Nguyễn Phát Đạt và Thái Doãn Gia Bảo đã phân tích và hiện thực hóa thành công một nền tảng thương mại điện tử C2C giải quyết bài toán giao dịch vé sự kiện an toàn. Sản phẩm ứng dụng ngăn xếp công nghệ bao gồm ReactJS, NestJS, MariaDB, Docker và PayPal, cung cấp đầy đủ các phân hệ chức năng cho người dùng và quản trị viên. Nghiên cứu đã đưa ra các giải pháp kiểm soát giao dịch hiệu quả thông qua quy trình phê duyệt vé bán lại, giữ tiền ký quỹ và mở rộng tính năng mô phỏng khán đài thực tế cùng cơ chế đấu giá vé.