I. Giới thiệu về Đồ án Tốt nghiệp Xây dựng Website Đấu giá
Đồ án tốt nghiệp xây dựng website đấu giá là một dự án học tập toàn diện được thực hiện bởi các sinh viên ngành Công nghệ Thông tin tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh. Đây là một ứng dụng thương mại điện tử hiện đại kết hợp giữa công nghệ lập trình tiên tiến và mô hình kinh doanh đấu giá trực tuyến. Dự án được xây dựng dựa trên nhu cầu thực tế của thị trường, nhằm tạo ra một nền tảng mới cho người tiêu dùng có thể mua bán và đấu giá sản phẩm trực tuyến một cách hiệu quả và an toàn. Mục tiêu chính là phát triển một ứng dụng web hoàn chỉnh với các chức năng cơ bản và nâng cao, từ đó deploy lên môi trường thực tế để phục vụ người dùng.
1.1. Bối cảnh và Ý tưởng Dự án
Trong bối cảnh dịch COVID-19 hoành hành, xu hướng thương mại điện tử ngày càng phổ biến. Nhóm sinh viên nhận thấy rằng các website e-commerce hiện tại chủ yếu sử dụng mô hình buôn bán truyền thống, chưa có sự đổi mới trong cách giao dịch. Vì vậy, nhóm quyết định xây dựng một nền tảng đấu giá trực tuyến để tạo ra sân chơi mới, giúp người tiêu dùng thuận buôn vừa bán và tìm được những sản phẩm ưa thích với giá cạnh tranh nhất.
1.2. Đối tượng và Ứng dụng
Website đấu giá trực tuyến này được thiết kế dành cho tất cả người dùng có nhu cầu mua bán sản phẩm qua mạng. Ứng dụng cung cấp các chức năng như đăng nhập, đăng ký, tạo sản phẩm đấu giá, tham gia đấu giá, xem lịch sử giao dịch, thanh toán trực tuyến và đánh giá người bán. Đây là một giải pháp thương mại điện tử toàn diện phù hợp với nhu cầu hiện đại của người dùng Việt Nam.
II. Công Nghệ MERN Stack trong Xây dựng Website Đấu giá
MERN Stack là một bộ công nghệ mạnh mẽ được sử dụng để phát triển website đấu giá trực tuyến trong đồ án này. MERN là viết tắt của MongoDB, ExpressJS, ReactJS, NodeJS - bốn công nghệ mã nguồn mở liên quan đến JavaScript. Sự kết hợp của MERN Stack cho phép nhóm sinh viên xây dựng một ứng dụng web full-stack hoàn chỉnh, từ phía máy chủ (backend) đến phía người dùng (frontend). Công nghệ này được chọn vì khả năng mở rộng cao, hiệu suất tốt, cộng đồng hỗ trợ lớn, và thích hợp cho các dự án e-commerce quy mô trung bình.
2.1. Các Thành phần của MERN Stack
MongoDB là cơ sở dữ liệu NoSQL dùng để lưu trữ dữ liệu sản phẩm, người dùng và lịch sử đấu giá. ExpressJS là framework backend giúp xây dựng RESTful API. ReactJS là thư viện frontend tạo giao diện người dùng tương tác cao. NodeJS là môi trường thực thi JavaScript phía máy chủ. Cộng lại, MERN Stack cung cấp một môi trường phát triển toàn diện cho website đấu giá trực tuyến.
2.2. Ưu Điểm của MERN Stack
MERN Stack mang lại nhiều ưu điểm thiết thực cho dự án. Thứ nhất, toàn bộ ứng dụng sử dụng ngôn ngữ JavaScript, giúp tiết kiệm thời gian học tập. Thứ hai, ReactJS cung cấp giao diện responsive và hiệu suất cao cho người dùng. Thứ ba, MongoDB cung cấp tính linh hoạt cao trong lưu trữ dữ liệu. Cuối cùng, NodeJS cho phép xử lý requests đồng thời hiệu quả, tối ưu cho ứng dụng e-commerce có lưu lượng cao.
III. Các Chức Năng Chính của Ứng dụng Đấu giá
Website đấu giá trực tuyến được thiết kế với các chức năng toàn diện để đáp ứng nhu cầu của cả người mua và người bán. Chức năng cơ bản bao gồm đăng ký tài khoản, đăng nhập, tạo sản phẩm để đấu giá, tham gia đấu giá sản phẩm, xem lịch sử đấu giá, thanh toán trực tuyến. Ngoài ra, ứng dụng còn hỗ trợ các chức năng nâng cao như hệ thống đánh giá người bán dựa trên các sản phẩm đã bán, nhiều cách thức đấu giá khác nhau. Tất cả các chức năng này được tích hợp thông qua giao diện người dùng thân thiện được xây dựng bằng ReactJS, đảm bảo trải nghiệm người dùng mượt mà và tối ưu.
3.1. Chức Năng Đăng nhập và Quản lý Tài khoản
Người dùng có thể tạo tài khoản mới hoặc đăng nhập vào ứng dụng bằng email và mật khẩu. Hệ thống sử dụng JWT (JSON Web Token) để bảo mật phiên đăng nhập. Sau khi đăng nhập, người dùng có quyền tạo sản phẩm đấu giá, tham gia đấu giá, xem lịch sử giao dịch, cập nhật thông tin cá nhân và quản lý các sản phẩm của mình một cách dễ dàng.
3.2. Chức Năng Đấu giá và Thanh toán
Chức năng đấu giá cho phép người dùng đặt giá cao hơn cho sản phẩm yêu thích trong thời gian quy định. Hệ thống tự động cập nhật giá cao nhất và thông báo cho những người tham gia. Khi kết thúc đấu giá, người trúng được hỗ trợ thanh toán trực tuyến an toàn thông qua các cổng thanh toán. Chức năng này đảm bảo tính công bằng và minh bạch trong toàn bộ quá trình giao dịch.
IV. Quá Trình Phát triển và Kết quả Đạt được
Quá trình phát triển website đấu giá trực tuyến diễn ra trong môi trường đặc biệt do dịch COVID-19. Nhóm sinh viên phải làm việc online và trao đổi với giảng viên hướng dẫn qua các nền tảng số. Mục tiêu ban đầu là hoàn thiện ứng dụng ở mức cao nhất có thể với các chức năng cơ bản và nâng cao. Tuy nhiên, kết quả cuối cùng cho thấy nhóm đã hoàn thành được khoảng 70% mục tiêu đề ra, bao gồm các chức năng cơ bản như đăng nhập, đăng ký, đấu giá, thanh toán và deploy ứng dụng online qua Heroku. Mặc dù chưa triển khai đầy đủ các chức năng nâng cao và chưa tối ưu hóa hoàn toàn, đây vẫn là một ứng dụng web thương mại điện tử có tính khả thi cao.
4.1. Thách Thức trong Quá trình Phát triển
Nhóm gặp phải nhiều thách thức trong quá trình phát triển, chủ yếu liên quan đến dịch bệnh COVID-19. Việc gặp gỡ trực tiếp với giảng viên hướng dẫn gần như không thể, buộc team phải làm việc hoàn toàn trên môi trường ảo. Bên cạnh đó, việc tối ưu hóa hiệu suất ứng dụng và triển khai các chức năng nâng cao đòi hỏi nhiều thời gian và kinh nghiệm. Tuy nhiên, với sự hỗ trợ của giảng viên hướng dẫn, nhóm đã vượt qua những khó khăn này.
4.2. Kết quả và Hướng Phát triển Tương lai
Ứng dụng website đấu giá trực tuyến được deploy thành công trên nền tảng Heroku, cho phép người dùng truy cập từ bất kỳ đâu. Nhóm đã tích lũy kiến thức sâu về MERN Stack, RESTful API, database design. Hướng phát triển tương lai bao gồm thêm các chức năng nâng cao, cải thiện giao diện, tối ưu SEO, và mở rộng quy mô để ứng dụng có thể phục vụ hàng nghìn người dùng đồng thời.