I. Tổng quan website bán hàng trực tuyến bằng MERN stack tại HCMUTE
Thương mại điện tử giữ vai trò thiết yếu trong nền kinh tế số hiện đại. Nhu cầu mua sắm trực tuyến tăng trưởng nhanh chóng sau đại dịch. Đề tài xây dựng website bán hàng trực tuyến bằng MERN stack tại HCMUTE được thực hiện bởi sinh viên Khoa Đào tạo Chất lượng cao dưới sự hướng dẫn của TS. Trần Nhật Quang. Mục tiêu cốt lõi là tạo ra một sàn thương mại điện tử hoàn chỉnh cho thiết bị điện tử. Kiến trúc MERN bao gồm MongoDB, ExpressJS, ReactJS và NodeJS. Đây là bộ công nghệ mã nguồn mở dựa trên JavaScript toàn diện từ giao diện đến máy chủ. Hệ thống cung cấp trải nghiệm mua hàng tiện lợi, đồng thời giảm thiểu độ trễ truy xuất dữ liệu. Mô hình này kế thừa các tiêu chuẩn vận hành từ các nền tảng thương mại hàng đầu như Tiki. Toàn bộ quy trình từ duyệt sản phẩm, đặt hàng đến quản lý kho đều được số hóa chặt chẽ. Hệ thống đảm bảo tính mở rộng cao, sẵn sàng phục vụ lượng truy cập lớn trong các đợt khuyến mãi. Đây là giải pháp công nghệ toàn diện cho ngành bán lẻ trực tuyến.
1.1. Bối cảnh nghiên cứu đề tài thương mại điện tử tại HCMUTE
Thị trường bán lẻ Việt Nam chứng kiến làn sóng chuyển đổi số mạnh mẽ. Các trang thương mại điện tử như Tiki hay Shopee định hình lại thói quen người tiêu dùng. Tại Trường Đại học Sư phạm Kỹ thuật TP.HCM, sinh viên ngành Công nghệ Thông tin cần tiếp cận các bài toán kỹ thuật thực tế. Đề tài tốt nghiệp năm 2022 tập trung giải quyết nhu cầu xây dựng sàn mua sắm thiết bị điện tử. Việc ứng dụng công nghệ hiện đại giúp thu hẹp khoảng cách giữa lý thuyết học đường và môi trường doanh nghiệp. Đề tài không chỉ hoàn thiện phần mềm mà còn mô phỏng chuẩn xác chuỗi cung ứng trực tuyến. Sản phẩm hướng tới trải nghiệm khách hàng mượt mà, minh bạch về đơn hàng và bảo mật dữ liệu giao dịch.
1.2. Giá trị cốt lõi của cấu trúc MERN stack trong phát triển web
MERN stack là sự kết hợp đồng bộ giữa bốn công nghệ nền tảng. MongoDB cung cấp cơ sở dữ liệu tài liệu linh hoạt dạng BSON. ExpressJS hỗ trợ định tuyến nhanh chóng trên môi trường máy chủ. ReactJS đảm nhiệm giao diện người dùng đơn trang linh hoạt và có tính tái sử dụng mã nguồn cao. NodeJS cung cấp môi trường thực thi JavaScript bất đồng bộ với hiệu năng vượt trội. Việc sử dụng duy nhất một ngôn ngữ JavaScript xuyên suốt các tầng kiến trúc giúp đơn giản hóa việc chuyển giao công nghệ. Đội ngũ phát triển dễ dàng gỡ lỗi và kiểm thử mã nguồn. Nhờ cơ chế hoạt động bất đồng bộ non-blocking I/O, hệ thống duy trì tốc độ phản hồi ổn định. Điều này tạo nền tảng vững chắc cho hệ thống bán lẻ trực tuyến.
II. Thách thức kỹ thuật khi xây dựng website bán lẻ bằng MERN stack
Phát triển một hệ thống thương mại điện tử chuyên nghiệp đặt ra nhiều thách thức kỹ thuật phức tạp. Cơ sở dữ liệu MongoDB hoạt động theo cơ chế ghi nhận dữ liệu vào bộ nhớ đệm RAM trước khi đồng bộ xuống đĩa cứng sau mỗi sáu mươi giây. Đặc tính này làm tăng nguy cơ mất mát dữ liệu khi hệ thống gặp sự cố nguồn điện hoặc quá tải đột ngột. Ngoài ra, MongoDB không hỗ trợ thủ tục lưu trữ Stored Procedure như các cơ sở dữ liệu quan hệ truyền thống. Các ràng buộc toàn vẹn dữ liệu và nghiệp vụ bán hàng phải được xử lý hoàn toàn tại tầng ứng dụng ExpressJS và NodeJS. Bên cạnh đó, việc quản lý phiên đăng nhập và phân quyền đa cấp giữa khách hàng, nhân viên và quản trị viên đòi hỏi cơ chế xác thực an toàn tuyệt đối. Giao diện người dùng cũng đối mặt với vấn đề tối ưu hóa tốc độ tải trang khi danh mục sản phẩm gia tăng. Lưu trữ trạng thái giỏ hàng và đồng bộ tin nhắn tư vấn theo thời gian thực cần giải pháp kiến trúc tối ưu. Các bài toán này đòi hỏi phân tích chuyên sâu nhằm hạn chế tối đa rủi ro vận hành.
2.1. Hạn chế lưu trữ và đảm bảo tính nhất quán trên MongoDB
Cơ chế trì hoãn ghi dữ liệu của MongoDB tiềm ẩn nguy cơ sai lệch số dư và đơn hàng. Khi máy chủ sập nguồn, dữ liệu trong bộ nhớ tạm chưa kịp lưu xuống ổ cứng sẽ biến mất. Việc thiếu vắng các câu lệnh ràng buộc Foreign Key và Stored Procedure làm tăng tải cho máy chủ phụ trợ. Mọi quy tắc trừ kho hay cập nhật trạng thái đơn hàng đều phải viết bằng mã JavaScript. Nếu logic xử lý ngoại lệ không chặt chẽ, tình trạng đơn hàng ảo hoặc tồn kho âm sẽ xuất hiện. Thêm vào đó, việc truy vấn bảng lồng nhau phức tạp dễ làm giảm hiệu năng hệ thống khi lượng bản ghi vượt ngưỡng hàng triệu dòng dữ liệu.
2.2. Khó khăn trong quản lý phiên và điều phối giao dịch thực tế
Hệ thống thương mại điện tử phục vụ nhiều nhóm đối tượng cùng lúc. Khách hàng vãng lai, thành viên đăng ký và nhân viên quản trị sở hữu những quyền hạn riêng biệt. Việc quản lý phiên làm việc và bảo mật token xác thực qua môi trường mạng ẩn chứa nguy cơ tấn công mạng. Khi hàng nghìn người dùng cùng tranh mua một sản phẩm giảm giá, xung đột tài nguyên sẽ xảy ra. Hệ thống cần bảo đảm chỉ những người thanh toán hợp lệ mới giữ được sản phẩm. Đồng thời, việc truyền phát tin nhắn tư vấn và cập nhật thông báo đơn hàng đòi hỏi luồng kết nối liên tục. Nếu không quản lý tốt luồng dữ liệu, máy chủ ExpressJS sẽ rơi vào trạng thái cạn kiệt bộ nhớ.
III. Giải pháp thiết kế website bán hàng trực tuyến với MERN stack
Đề tài đề xuất giải pháp kiến trúc phân tầng kết hợp Restful API và Single Page Application. Tầng giao diện người dùng sử dụng ReactJS kết hợp Redux để quản lý trạng thái giỏ hàng xuyên suốt phiên làm việc. Tầng dịch vụ xây dựng trên NodeJS và ExpressJS tiếp nhận các yêu cầu HTTP, kiểm tra quyền truy cập và điều phối dữ liệu. Nhóm phát triển tích hợp thư viện Mongoose nhằm thiết lập Schema chặt chẽ cho MongoDB. Nhờ đó, tính toàn vẹn dữ liệu được kiểm soát nghiêm ngặt ngay tại mã nguồn ứng dụng. Cơ chế xác thực JSON Web Token bảo mật mọi phiên đăng nhập của người dùng. Hệ thống hỗ trợ tính năng chat trực tiếp bằng kết nối Socket.IO, kết nối khách hàng với nhân viên tư vấn. Trang quản trị cung cấp đầy đủ công cụ kiểm soát sản phẩm, thể loại, mã khuyến mãi và hóa đơn. Thuật toán phân phát mã giảm giá tự động kích thích nhu cầu mua sắm. Cấu trúc module hóa giúp mã nguồn rõ ràng, dễ bảo trì và dễ nâng cấp trong tương lai.
3.1. Thiết kế phân quyền và kiến trúc xử lý nghiệp vụ đơn hàng
Hệ thống phân chia ranh giới chức năng rõ ràng qua ba nhóm tác nhân chính. Người dùng tự do xem thông tin sản phẩm và thể loại hàng hóa. Khách hàng đã đăng nhập có thể quản lý giỏ hàng, đặt mua, áp dụng khuyến mãi và gửi phản hồi. Quản trị viên nắm toàn quyền kiểm soát danh mục tài khoản, thay đổi giá cả, cập nhật trạng thái đơn và đóng băng người dùng vi phạm. Mỗi tác vụ ghi nhận giao dịch đều trải qua khâu kiểm tra số lượng tồn kho trước khi phát hành hóa đơn. Mọi thao tác cập nhật đều đi kèm cơ chế kiểm lỗi chặt chẽ nhằm tránh việc ghi sai dữ liệu.
3.2. Triển khai tính năng tương tác thực và xúc tiến thương mại
Tính năng nhắn tin tư vấn trực tuyến được triển khai nhằm gia tăng tỷ lệ chuyển đổi đơn hàng. Khách hàng trò chuyện trực tiếp với quản trị viên mà không cần tải lại trang. Hệ thống lưu trữ lịch sử cuộc hội thoại vào cơ sở dữ liệu để tiện theo dõi yêu cầu bảo hành. Bên cạnh đó, phân hệ khuyến mãi cung cấp nhiều cơ chế linh hoạt. Quản trị viên có thể gắn mã giảm giá cho từng sản phẩm hoặc toàn bộ danh mục thể loại. Tính năng phân phát ngẫu nhiên mã ưu đãi mang đến sự hào hứng cho người mua sắm. Các thông báo tự động được gửi đến tài khoản khi có trạng thái đơn mới. Các tiện ích này tạo nên trải nghiệm mua sắm hiện đại và hấp dẫn.
IV. Đánh giá ứng dụng thực tiễn của website bán hàng tại HCMUTE
Đề tài xây dựng website bán hàng trực tuyến bằng MERN stack tại HCMUTE chứng minh tính khả thi cao của công nghệ nguồn mở trong thương mại điện tử. Hệ thống vận hành ổn định qua nhiều bài thử nghiệm tải và kiểm thử nghiệp vụ. Các quy trình từ quản lý kho, duyệt đơn đến tương tác trực tuyến đều đạt yêu cầu kỹ thuật. Sản phẩm phản ánh tiêu chuẩn đào tạo thực tiễn của Khoa Đào tạo Chất lượng cao thuộc Trường Đại học Sư phạm Kỹ thuật TP.HCM. Giải pháp công nghệ này có thể chuyển giao cho các doanh nghiệp bán lẻ quy mô vừa và nhỏ. Chi phí bảo trì thấp cùng cấu trúc module linh hoạt giúp việc mở rộng quy mô kinh doanh trở nên dễ dàng. Trong tương lai, mô hình có thể tích hợp cổng thanh toán trực tuyến và cơ chế tự động sao lưu định kỳ để hoàn thiện khả năng chịu lỗi của MongoDB. Hệ thống đặt nền móng vững chắc cho các nghiên cứu thương mại điện tử chuyên sâu.
4.1. Khả năng ứng dụng thực tế cho doanh nghiệp bán lẻ điện tử
Mô hình website bán hàng phát triển từ đề tài có thể ứng dụng trực tiếp cho các cửa hàng điện máy. Bộ mã nguồn đáp ứng đầy đủ yêu cầu quản lý chuỗi phân phối sản phẩm. Quy trình xử lý hóa đơn minh bạch giúp tối ưu hóa chi phí vận hành nhân sự. Giao diện thân thiện và thời gian phản hồi nhanh mang lại cảm giác thoải mái cho khách hàng. Hệ thống mã giảm giá phong phú giúp doanh nghiệp kích cầu tiêu dùng nhanh chóng. Nền tảng còn cho phép trích xuất số liệu doanh thu phục vụ đánh giá chiến lược bán hàng. Doanh nghiệp có thể tiết kiệm đáng kể chi phí xây dựng hạ tầng phần mềm ban đầu.
4.2. Hướng phát triển và hoàn thiện hệ thống thương mại điện tử
Để nâng cao năng lực cạnh tranh, hệ thống cần được bổ sung nhiều cải tiến kỹ thuật. Việc tích hợp các cổng thanh toán trực tuyến như VNPay hay MoMo là yêu cầu cấp thiết. Đội ngũ phát triển cần thiết lập cơ chế đồng bộ dữ liệu MongoDB sang cụm máy chủ phụ trợ để hạn chế rủi ro mất mát. Thuật toán gợi ý sản phẩm dựa trên học máy có thể áp dụng nhằm nâng cao trải nghiệm cá nhân hóa. Ngoài ra, việc xây dựng ứng dụng di động đa nền tảng sẽ mở rộng tệp khách hàng tiếp cận. Khả năng bảo mật thông tin tài khoản cũng cần nâng cấp định kỳ theo các tiêu chuẩn an ninh mạng quốc tế.