I. Giới Thiệu Về Đồ Án Website Bán Giày Thể Thao MERN Stack
Đồ án website bán giày thể thao là một dự án tốt nghiệp hoàn chỉnh được phát triển bởi sinh viên khóa 2018-2022 tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh. Dự án này ứng dụng công nghệ MERN Stack hiện đại để xây dựng một nền tảng thương mại điện tử chuyên biệt. MERN Stack bao gồm MongoDB, Express.js, React.js và Node.js – một bộ công nghệ mạnh mẽ cho phát triển web full-stack. Đồ án tập trung vào việc tạo ra một hệ thống bán hàng trực tuyến toàn diện, với giao diện người dùng thân thiện, hệ thống quản lý sản phẩm hiệu quả và quy trình thanh toán an toàn. Dự án được hướng dẫn bởi TS. Huỳnh Xuân Phụng, một chuyên gia trong lĩnh vực công nghệ phần mềm.
1.1. Mục Đích và Tính Cấp Thiết
Mục đích chính của đồ án website bán giày là phát triển một nền tảng thương mại điện tử hiện đại, đáp ứng nhu cầu mua sắm trực tuyến ngày càng tăng. Tính cấp thiết nằm ở việc cung cấp giải pháp công nghệ tiên tiến cho lĩnh vực bán lẻ giày thể thao. Hệ thống được thiết kế để xử lý lưu lượng người dùng lớn, đảm bảo hiệu suất cao và trải nghiệm mua sắm mượt mà cho khách hàng.
1.2. Công Nghệ MERN Stack Áp Dụng
MERN Stack được lựa chọn vì tính linh hoạt và hiệu năng vượt trội. MongoDB cung cấp lưu trữ dữ liệu linh hoạt, Express.js xử lý yêu cầu server, React.js tạo giao diện động, và Node.js chạy runtime JavaScript phía server. Sự kết hợp này cho phép phát triển nhanh chóng, bảo trì dễ dàng và mở rộng hệ thống một cách hiệu quả.
II. Các Chức Năng Chính của Hệ Thống
Website bán giày thể thao được thiết kế với nhiều chức năng toàn diện dành cho cả quản trị viên và người dùng. Hệ thống bao gồm module quản lý sản phẩm, xử lý đơn hàng, thanh toán trực tuyến và hỗ trợ khách hàng. Người dùng có thể duyệt giày, lọc theo loại và thương hiệu, xem chi tiết sản phẩm, thêm vào giỏ hàng và thanh toán qua nhiều phương thức. Quản trị viên quản lý toàn bộ sản phẩm, theo dõi đơn hàng, quản lý người dùng và áp dụng chiến dịch khuyến mãi. Hệ thống cũng tích hợp đăng nhập qua Google, quên mật khẩu và hệ thống gợi ý sản phẩm thông minh.
2.1. Chức Năng Dành Cho Người Dùng
Người dùng có thể tìm kiếm và lọc sản phẩm theo nhiều tiêu chí, xem chi tiết giày kèm hướng dẫn chọn size. Chức năng giỏ hàng cho phép thêm, xóa, tăng/giảm số lượng sản phẩm. Người dùng có thể thanh toán qua ví Momo hoặc COD, theo dõi đơn hàng và đánh giá sản phẩm. Hệ thống gợi ý sản phẩm liên quan dựa trên hành vi mua sắm.
2.2. Chức Năng Quản Trị Viên
Quản trị viên có quyền quản lý toàn bộ loại giày, thương hiệu và sản phẩm. Có thể thêm, cập nhật, xóa sản phẩm; quản lý người dùng; cập nhật trạng thái đơn hàng; xét giảm giá và khuyến mãi. Hệ thống cấp quyền truy cập riêng biệt cho các vai trò quản trị khác nhau, đảm bảo bảo mật dữ liệu quan trọng.
III. Kiến Trúc Cơ Sở Dữ Liệu và Thiết Kế Hệ Thống
Cơ sở dữ liệu MongoDB trong đồ án MERN được thiết kế với nhiều collection để lưu trữ thông tin người dùng, sản phẩm, đơn hàng, thanh toán và đánh giá. Mô hình dữ liệu linh hoạt của MongoDB cho phép lưu trữ dữ liệu không định hình, phù hợp cho nhu cầu thay đổi của ứng dụng. Hệ thống sử dụng Mongoose.js để định nghĩa schema và kết nối database một cách an toàn. Kiến trúc RESTful API trên Node.js/Express xử lý các yêu cầu từ phía client React.js. Dữ liệu được mã hóa và xác thực bằng JWT token để đảm bảo bảo mật. Hệ thống lưu trữ thông tin nhạy cảm như mật khẩu dưới dạng hash, không bao giờ lưu trữ dưới dạng plaintext.
3.1. Thiết Kế Database MongoDB
MongoDB chứa các collection quan trọng: Users (người dùng), Products (sản phẩm), Orders (đơn hàng), Payments (thanh toán), Reviews (đánh giá), Categories (loại giày) và Brands (thương hiệu). Mỗi collection có các field riêng với kiểu dữ liệu phù hợp. Relationships được quản lý qua ObjectId references. Indexing được áp dụng cho các field thường xuyên truy vấn như product slug, user email để tối ưu hiệu suất query.
3.2. API RESTful và Kết Nối Backend
Express.js server cung cấp các endpoint API cho tất cả chức năng: /api/auth (xác thực), /api/products (sản phẩm), /api/orders (đơn hàng), /api/users (người dùng). Mỗi endpoint được bảo vệ bằng middleware xác thực JWT. Hệ thống xử lý CORS để cho phép frontend React kết nối an toàn. Error handling toàn diện đảm bảo phản hồi lỗi rõ ràng cho client.
IV. Triển Khai Kiểm Thử và Kết Quả Đồ Án
Đồ án website bán giày thể thao MERN Stack được triển khai thành công trên nền tảng Amazon Web Services (AWS). Phần backend server được deploy lên AWS Elastic Beanstalk hoặc EC2 instance, đảm bảo độ tin cậy và khả năng mở rộng cao. Frontend React.js được build và host trên S3 + CloudFront để cung cấp tốc độ tải nhanh. MongoDB Atlas được sử dụng cho cơ sở dữ liệu cloud. Quá trình kiểm thử bao gồm kiểm thử thủ công (manual testing) cho các chức năng chính như đăng ký, đăng nhập, quản lý giỏ hàng, xử lý thanh toán và kiểm thử API. Kiểm thử tự động được thực hiện cho các API endpoint quan trọng. Kết quả cho thấy hệ thống hoạt động ổn định, đáp ứng được các yêu cầu kỹ thuật đề ra.
4.1. Quá Trình Triển Khai Hệ Thống
Server backend được triển khai lên AWS với environment variables được cấu hình an toàn. Database MongoDB kết nối qua MongoDB Atlas connection string. Frontend React được build production-optimized và host trên CloudFront CDN. Các bước CI/CD được thiết lập để tự động deploy khi code được push. SSL certificate được cài đặt đảm bảo HTTPS an toàn cho toàn bộ ứng dụng.
4.2. Kết Quả Kiểm Thử và Nhận Xét
Kiểm thử chứng minh website bán giày hoạt động ổn định trên các trình duyệt khác nhau. Tất cả chức năng chính từ đăng ký, đăng nhập, quản lý sản phẩm, xử lý thanh toán đều hoạt động đúng. API response time nằm trong ngưỡng chấp nhận. Hệ thống xử lý được lưu lượng người dùng đồng thời hợp lý. Bảo mật được đánh giá đạt tiêu chuẩn, mã hóa dữ liệu và xác thực người dùng hoạt động hiệu quả.