Bối cảnh và vấn đề nghiên cứu

Khóa luận tốt nghiệp kỹ sư Công nghệ thông tin với đề tài "Xây dựng website bán giày sử dụng MERN Stack" được thực hiện bởi hai sinh viên Lê Hoàng Hải Đăng và Hồ Đức Pháp, dưới sự hướng dẫn của ThS. Nguyễn Hữu Trung tại Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh (niên khóa 2020 - 2024).

Bối cảnh thực tiễn được nhóm tác giả nêu rõ xuất phát từ sự dịch chuyển phương thức mua sắm của người tiêu dùng. Trước khi Internet bùng nổ, các giao dịch thương mại chủ yếu diễn ra tại siêu thị, trung tâm thương mại, cửa hàng hoặc chợ truyền thống. Phương thức truyền thống này bộc lộ nhiều điểm hạn chế: người mua phải đến trực tiếp địa điểm bán, tiêu tốn thời gian di chuyển, sản phẩm khó kiểm chứng chất lượng và người bán phải gánh chi phí mặt bằng cùng nhân lực lớn. Khi Internet và hạ tầng mạng phát triển, thương mại điện tử giúp xóa bỏ rào cản về thời gian, khoảng cách địa lý, tối ưu chi phí vận hành và tăng cường khả năng kiểm soát chất lượng thông qua đánh giá từ cộng đồng người tiêu dùng.

Bên cạnh sự phổ biến của các sàn giao dịch trực tuyến (Tiki, Shopee, Lazada) và mạng xã hội (Facebook, YouTube, TikTok), lý do trực tiếp thôi thúc nhóm thực hiện đề tài bắt nguồn từ kinh nghiệm thực tế: hai sinh viên đã trực tiếp kinh doanh mặt hàng giày dép trong thời gian 2 năm. Quá trình vận hành kinh doanh thực tế cho thấy việc tư vấn và hỗ trợ khách chọn lựa sản phẩm thủ công qua tin nhắn hoặc gặp mặt trực tiếp gây mất nhiều thời gian và phát sinh bất cập. Do đó, việc xây dựng một website thương mại điện tử chuyên dụng cho việc kinh doanh giày dép là nhu cầu thực tiễn cấp thiết.

Mục tiêu nghiên cứu của đề tài bao gồm ba nội dung chính:

  1. Tìm hiểu toàn diện về bộ công nghệ MERN Stack (MongoDB, ExpressJS, ReactJS, Node.js) và các thư viện giao diện đi kèm như Ant Design.
  2. Tiến hành phân tích nghiệp vụ, khảo sát hiện trạng và thiết kế hệ thống website bán giày.
  3. Hiện thực hóa website bán giày với đầy đủ các phân hệ chức năng: đăng ký tài khoản, đăng nhập, quên mật khẩu, quản lý thông tin cá nhân, xem và tìm kiếm sản phẩm, giỏ hàng (thêm, sửa, xóa), thanh toán, đặt hàng, quản lý đơn hàng, theo dõi trạng thái đơn hàng và bình luận phản hồi.

Đối tượng và phạm vi nghiên cứu:

  • Đối tượng nghiên cứu: Bộ công nghệ MERN Stack bao gồm Node.js, MongoDB, ReactJS, ExpressJS và các công nghệ phụ trợ liên quan.
  • Phạm vi nghiên cứu: Nghiên cứu các tài liệu kỹ thuật, khóa học chuyên môn về MERN Stack; xây dựng hoàn chỉnh ứng dụng website thương mại điện tử và đưa vào thử nghiệm thực tế phục vụ hoạt động kinh doanh của cửa hàng DH SNEAKER.
  • Phạm vi thời gian: Đề tài được triển khai thực hiện từ ngày 15/08/2024 đến ngày 19/12/2024.

Cơ sở lý thuyết và phương pháp

Khóa luận xây dựng nền tảng lý thuyết xoay quanh mô hình MERN Stack – một kiến trúc công nghệ toàn diện sử dụng ngôn ngữ JavaScript xuyên suốt từ giao diện người dùng đến tầng máy chủ và cơ sở dữ liệu:

  • Node.js: Môi trường chạy JavaScript phía máy chủ mã nguồn mở, được Ryan Dahl phát triển từ năm 2009 dựa trên công cụ V8 JavaScript Engine của Google. Node.js vận hành trên kiến trúc hướng sự kiện (event-driven) và mô hình I/O không chặn (non-blocking I/O) đơn luồng (single-thread), giúp xử lý đồng thời hàng nghìn kết nối mà không tốn nhiều bộ nhớ RAM như mô hình đa luồng của PHP hay Apache HTTP Server. Node.js tích hợp sẵn máy chủ web, quản lý gói thông qua npm (ra đời tháng 01/2010), trải qua sự phân tách thành io.js (tháng 12/2014) và tái sáp nhập thành Node.js phiên bản 4 vào tháng 09/2015.
  • MongoDB: Hệ quản trị cơ sở dữ liệu NoSQL hướng tài liệu (document-oriented), lưu trữ dữ liệu dưới định dạng JSON/BSON động. MongoDB thay thế khái niệm bảng (table) bằng tập hợp (collection) và hàng (row) bằng tài liệu (document). Cấu trúc này loại bỏ các ràng buộc toàn vẹn khóa chính, khóa ngoại hay phép nối (JOIN) phức tạp của hệ cơ sở dữ liệu quan hệ (RDBMS), hỗ trợ đánh chỉ mục tự động trên trường _id, lưu đệm dữ liệu trên RAM trước khi ghi xuống đĩa sau chu kỳ 60 giây và hỗ trợ mở rộng theo chiều ngang thông qua cụm (cluster).
  • ReactJS: Thư viện JavaScript chuyên dụng cho tầng View (hiển thị giao diện) được Facebook và Instagram giới thiệu vào năm 2013. ReactJS hoạt động dựa trên cơ chế DOM ảo (Virtual DOM) nhằm tối ưu hóa việc kết xuất dữ liệu, cú pháp mở rộng JSX và mô hình thành phần tái sử dụng (Reusable Components), hỗ trợ xây dựng ứng dụng đơn trang (Single Page Application - SPA).
  • ExpressJS: Khung ứng dụng (framework) mã nguồn mở chạy trên nền Node.js, cung cấp hệ thống định tuyến (routing), cơ chế phần mềm trung gian (middleware) xử lý các yêu cầu HTTP Request/Response và hỗ trợ xây dựng các giao diện lập trình ứng dụng RESTful API.
  • Ant Design: Thư viện thành phần giao diện hỗ trợ thiết kế bố cục và tương tác cho hệ thống.

Phương pháp nghiên cứu được áp dụng trong khóa luận bao gồm:

  • Phương pháp phân tích và tổng hợp lý thuyết: Thu thập, đọc hiểu, chọn lọc kiến thức từ tài liệu chính thức, bài viết chuyên ngành và các khóa học trực tuyến về Node.js, ExpressJS, MongoDB và ReactJS.
  • Phương pháp khảo sát thực tế: Khảo sát cấu trúc giao diện, luồng mua hàng và tính năng của hai trang web thương mại điện tử chuyên ngành giày dép tại Việt Nam là Juno.vn và Bitis.vn.
  • Phương pháp phân tích và thiết kế hệ thống phần mềm: Xây dựng biểu đồ ca sử dụng (Use-case Diagram), đặc tả chi tiết từng ca sử dụng, xây dựng biểu đồ tuần tự (Sequence Diagram) cho các luồng xử lý và thiết kế lược đồ cấu trúc dữ liệu (Schema Design) cho MongoDB.
  • Phương pháp thực nghiệm: Cài đặt cấu hình môi trường, lập trình API phía máy chủ, xây dựng giao diện người dùng, triển khai lưu trữ đám mây (hosting) và đo lường doanh số thực tế tại cơ sở kinh doanh DH SNEAKER.

Nguồn dữ liệu của đề tài bao gồm tài liệu kỹ thuật của các nền tảng công nghệ, dữ liệu sản phẩm giày dép thu thập từ thị trường và số liệu giao dịch, doanh thu thực tế phát sinh trong quá trình vận hành thử nghiệm.


Nội dung chính theo từng chương

Chương 1: Cơ sở lý thuyết

Chương 1 hệ thống hóa toàn bộ kiến thức kỹ thuật làm nền tảng cho việc phát triển website:

  • Trình bày lịch sử phát triển của Node.js từ phiên bản đầu tiên năm 2009 của Ryan Dahl, sự ra đời của npm (2010), bản phát hành trên Windows (2011), giai đoạn chia tách io.js (2014) cho đến sự hợp nhất tạo nên bản phát hành hỗ trợ dài hạn (LTS). Phân tích ưu thế xử lý đơn luồng non-blocking, khả năng tương thích JSON API và hạn chế khi xử lý các tác vụ tiêu tốn nhiều tài nguyên CPU.
  • Giới thiệu tổng quan về NoSQL và MongoDB: cấu trúc phân cấp từ cơ sở dữ liệu (Database), tập hợp (Collection) đến tài liệu (Document); cơ chế đánh chỉ mục trên trường _id; cơ chế cache trên RAM và chu kỳ ghi đĩa 60 giây. Chương này cũng hướng dẫn chi tiết quy trình tải, cài đặt Node.js, MongoDB Shell và công cụ quản trị trực quan MongoDB Compass.
  • Phân tích thư viện ReactJS: quá trình phát triển từ các trang web tĩnh dùng HTML/CSS/JS, jQuery với AJAX, sự xuất hiện của AngularJS (2010) và sự đột phá của ReactJS (2013) nhờ DOM ảo và cơ chế chỉ render lại những thành phần có sự thay đổi.
  • Trình bày khung làm việc ExpressJS: cách thiết lập các tầng middleware, hệ thống định tuyến URL, hỗ trợ cơ chế gỡ lỗi (debugging) và vai trò trung gian tiếp nhận yêu cầu HTTP.

Chương 2: Khảo sát hiện trạng

Chương 2 tiến hành phân tích thực trạng giao diện và chức năng của hai thương hiệu giày dép lớn tại thị trường Việt Nam nhằm định hình các yêu cầu cho website mới:

  • Khảo sát website Juno.vn qua các màn hình: đăng nhập, đăng ký, danh mục sản phẩm, chi tiết sản phẩm và thanh toán.
  • Khảo sát website Bitis.vn qua các màn hình: đăng nhập, đăng ký, trang chủ, sản phẩm và chi tiết sản phẩm.

Bảng tổng hợp kết quả phân tích hiện trạng hai hệ thống:

Tiêu chí phân tích Trang web Juno.vn Trang web Bitis.vn
Ưu điểm Giao diện hiện đại, màu sắc hài hòa, bố cục danh mục giày phân loại rõ ràng, chính sách giao hàng và đổi trả hiển thị minh bạch. Giao diện đặc trưng thương hiệu, hiển thị hình ảnh trực quan, hỗ trợ đầy đủ các tính năng tài khoản và duyệt danh mục.
Hạn chế Tốc độ tải trang chậm do hình ảnh dung lượng lớn chưa tối ưu; thiếu tính năng hỗ trợ trực tuyến/chat để tư vấn nhanh. Quy trình đặt hàng còn nhiều bước, chưa tối ưu trải nghiệm tương tác trực tiếp đối với khách hàng có nhu cầu tư vấn kỹ thuật chọn kích cỡ.

Dựa trên kết quả khảo sát, nhóm tác giả xác định các yêu cầu chức năng và phi chức năng cần xây dựng cho website bán giày, bảo đảm quy trình mua sắm tinh gọn, tối ưu tốc độ và hỗ trợ quản trị toàn diện.

Chương 3: Mô hình hóa yêu cầu

Chương 3 thiết lập các biểu đồ ca sử dụng và bảng đặc tả chi tiết cho hai phân hệ người dùng chính:

  • Phân hệ Quản trị viên (Admin): Thiết kế các ca sử dụng quản lý hệ thống, bao gồm đăng nhập, đăng xuất, xem chi tiết đơn hàng, xử lý đơn hàng (order processing), xem đơn hàng đang chờ duyệt (manage wait order), quản lý phản hồi (view all feedback), quản lý danh mục sản phẩm (thêm, sửa, vô hiệu hóa sản phẩm), quản lý tài khoản người dùng (khóa tài khoản/banned account), quản lý bài viết Blog và theo dõi bảng điều khiển (Dashboard).
  • Phân hệ Khách hàng (User/Client): Thiết kế các ca sử dụng phục vụ người mua hàng, bao gồm đăng ký, đăng nhập, quên mật khẩu, xem danh sách sản phẩm, xem chi tiết sản phẩm, tìm kiếm sản phẩm, xem và cập nhật hồ sơ cá nhân (profile), quản lý danh sách địa chỉ giao hàng, thao tác giỏ hàng (thêm vào giỏ, sửa số lượng, xóa khỏi giỏ), thanh toán đơn hàng (checkout), theo dõi trạng thái đơn hàng (follow order) và gửi bình luận đánh giá (feedback).

Chương 4: Thiết kế phần mềm

Chương 4 tập trung vào việc mô hình hóa các luồng xử lý chi tiết và cấu trúc dữ liệu:

  • Lược đồ tuần tự (Sequence Diagram): Xây dựng các sơ đồ tương tác giữa người dùng, giao diện phía client, API máy chủ và cơ sở dữ liệu cho hàng loạt chức năng: Sign-up, Login, Forgot password, Logout, View all order, View order detail, Order processing, Manage wait order, View all feedback, Manage product, Add a product, Edit product, Disable product, Manage account, Banned an account, View all product, Find a product, View profile, View detail a product, Add to cart, Edit cart, Delete to cart, Checkout, Follow order và Feedback.
  • Lược đồ cơ sở dữ liệu (Database Schema): Thiết kế các cấu trúc lưu trữ dạng NoSQL trên MongoDB, bao gồm 6 lược đồ chính:
    1. Schema User: Lưu trữ thông tin tài khoản, mật khẩu, email, số điện thoại, vai trò và địa chỉ.
    2. Schema Product: Lưu trữ tên sản phẩm, giá bán, kích thước, màu sắc, số lượng tồn kho, hình ảnh và mô tả.
    3. Schema Order: Lưu trữ thông tin đơn đặt hàng, chi tiết sản phẩm đặt, tổng tiền, thông tin người nhận và trạng thái xử lý.
    4. Schema Comment: Lưu trữ nội dung bình luận, đánh giá của khách hàng liên kết với từng sản phẩm.
    5. Schema Blog: Lưu trữ các bài viết tin tức, bài viết chia sẻ về giày dép.
    6. Schema Message: Lưu trữ thông tin liên hệ và tin nhắn phản hồi của khách hàng.

Chương 5: Thiết kế giao diện trang web

Chương 5 mô tả giao diện trực quan và các thành phần xử lý của từng trang màn hình trên cả hai phân hệ:

  • Giao diện Client: Trang chủ, trang Giới thiệu (About us), trang Liên hệ (Contact), trang danh mục sản phẩm, trang chi tiết sản phẩm, trang giỏ hàng, trang thanh toán, trang chi tiết đơn hàng, trang bài viết blog, khu vực bình luận, trang quản lý hồ sơ cá nhân và quản lý danh sách địa chỉ nhận hàng.
  • Giao diện Admin: Bảng điều khiển tổng quan (Dashboard), trang quản lý sản phẩm, trang thêm mới sản phẩm, trang quản lý danh sách tài khoản người dùng, trang quản lý phản hồi, trang quản lý đơn hàng mới, các màn hình xử lý đơn hàng mới (bước 1 và bước 2), trang quản lý danh sách toàn bộ đơn hàng, trang chi tiết đơn hàng và trang quản lý nội dung bài viết blog.

Chương 6: Cài đặt và kiểm thử ứng dụng

Chương 6 trình bày các kịch bản kiểm thử chức năng và đánh giá hiệu quả vận hành thực tế:

  • Kiểm thử phân hệ Quản trị viên: Kiểm tra tính chính xác của các chức năng đăng nhập trang quản trị, thêm mới/sửa đổi/vô hiệu hóa sản phẩm, duyệt và cập nhật trạng thái đơn hàng, khóa tài khoản vi phạm và cập nhật nội dung bài viết blog.
  • Kiểm thử phân hệ Người dùng: Kiểm tra quy trình tạo tài khoản, đăng nhập, tìm kiếm sản phẩm theo từ khóa, cập nhật giỏ hàng, xác nhận đơn hàng thanh toán, gửi ý kiến đánh giá và cập nhật thông tin cá nhân.
  • Áp dụng thực tế: Website được kết nối thử nghiệm với hoạt động kinh doanh của cửa hàng DH SNEAKER, tích hợp hoạt động cùng Fanpage DH SNEAKER và tiến hành ghi nhận dữ liệu doanh số bán hàng trong hai tháng 11/2024 và 12/2024.

Thiết kế và triển khai

Hệ thống được thiết kế theo mô hình phân tách hoàn toàn giữa tầng máy chủ cung cấp dịch vụ (Back-end) và tầng giao diện tương tác người dùng (Front-end):

  • Tầng giao diện (Front-end): Sử dụng ReactJS kết hợp thư viện Ant Design để xây dựng giao diện ứng dụng đơn trang (SPA). Client gửi các yêu cầu bất đồng bộ thông qua các hàm Fetch API đến máy chủ và cập nhật trực tiếp dữ liệu lên giao diện thông qua cơ chế DOM ảo mà không cần tải lại toàn bộ trang web.
  • Tầng máy chủ (Back-end): Xây dựng bằng Node.js kết hợp framework ExpressJS, đóng vai trò RESTful API server. Hệ thống định tuyến (routing) tiếp nhận các phương thức HTTP (GET, POST, PUT, DELETE), điều hướng qua các lớp phần mềm trung gian (middleware) để thực hiện xác thực, xử lý logic nghiệp vụ và truy vấn dữ liệu.
  • Tầng lưu trữ dữ liệu (Database): Sử dụng MongoDB lưu trữ dữ liệu dưới dạng JSON Document. Dữ liệu được nhóm thành 6 tập hợp (collections): users, products, orders, comments, blogs và messages. Việc không áp dụng ràng buộc khóa ngoại cứng nhắc giúp giảm thiểu độ trễ truy vấn khi đọc các tài liệu có cấu trúc lồng nhau.
  • Phân công triển khai và lưu trữ:
    • Sinh viên Lê Hoàng Hải Đăng đảm nhận: lên ý tưởng, khảo sát phân tích đề tài, thiết kế và xây dựng Front-end cho cả phân hệ Client và Admin, viết hướng dẫn cài đặt Front-end, kiểm thử phát hiện lỗi hệ thống, xây dựng biểu đồ Use-case và viết tài liệu báo cáo.
    • Sinh viên Hồ Đức Pháp đảm nhận: khảo sát phân tích đề tài, thiết kế cơ sở dữ liệu MongoDB, lập trình hệ thống Back-end, xây dựng giao diện Admin, thực hiện Fetch API, triển khai Hosting website cho cả Client và Admin, kiểm thử chức năng Back-end, xây dựng biểu đồ Use-case và phối hợp viết tài liệu báo cáo.

Kết quả và đóng góp

Khóa luận đã hoàn thành các mục tiêu kỹ thuật và ứng dụng đề ra:

  • Kết quả phần mềm: Xây dựng thành công hệ thống website bán giày trực tuyến vận hành trên nền tảng MERN Stack với hai phân hệ hoàn chỉnh. Phân hệ người dùng hỗ trợ toàn bộ chu trình mua hàng từ duyệt sản phẩm, tra cứu thông tin chi tiết, quản lý giỏ hàng đến thanh toán và theo dõi tình trạng đơn hàng. Phân hệ quản trị cho phép kiểm soát danh mục sản phẩm, quản lý tài khoản người dùng, xử lý đơn hàng và theo dõi báo cáo doanh thu thông qua Dashboard.
  • Kết quả ứng dụng thực tế: Đề tài không dừng lại ở mức độ mô phỏng lý thuyết mà được đưa vào ứng dụng thực tế tại shop giày DH SNEAKER. Hệ thống được liên kết cùng Fanpage DH SNEAKER, phục vụ khách hàng thật và ghi nhận số liệu doanh thu thực tế phát sinh trong tháng 11/2024 và tháng 12/2024.
  • Đóng góp so với nghiên cứu trước: Nhóm tác giả đã vận dụng thành công việc đồng nhất một ngôn ngữ lập trình JavaScript duy nhất cho toàn bộ hệ thống (từ ReactJS ở giao diện đến Node.js/ExpressJS ở máy chủ và định dạng JSON trong MongoDB). Giải pháp này giúp đơn giản hóa việc chuyển giao mã nguồn, tăng tốc độ phát triển API và khắc phục các bất cập về thời gian tư vấn thủ công mà nhóm từng gặp phải trong suốt 2 năm kinh doanh thực tế trước đó.

Hạn chế và hướng nghiên cứu tiếp

Khóa luận tự đánh giá một số hạn chế kỹ thuật và phạm vi thực hiện do giới hạn về mặt thời gian cũng như kinh nghiệm thực tế của nhóm sinh viên:

  • Do bản chất xử lý đơn luồng (single-thread) của Node.js, hệ thống có thể gặp giới hạn về hiệu năng nếu phải xử lý các tác vụ tiêu tốn nhiều tài nguyên tính toán của CPU như nén hoặc xử lý tệp đồ họa, video dung lượng lớn.
  • Cơ chế ghi đệm dữ liệu của MongoDB từ bộ nhớ RAM xuống ổ cứng vật lý định kỳ sau mỗi 60 giây tiềm ẩn nguy cơ thất thoát dữ liệu nếu xảy ra các sự cố đột ngột về hạ tầng hoặc nguồn điện.
  • Việc thiếu các ràng buộc toàn vẹn quan hệ (RDBMS constraints) đòi hỏi tầng logic ứng dụng phải kiểm tra dữ liệu chặt chẽ hơn để tránh tình trạng dư thừa dữ liệu.
  • Hướng phát triển tiếp theo được đề xuất bao gồm: hoàn thiện và bổ sung tính năng hỗ trợ trò chuyện trực tuyến (Live Chat) để giải quyết nhược điểm tư vấn khách hàng đã phát hiện khi khảo sát hiện trạng; tối ưu hóa kích thước hình ảnh sản phẩm để cải thiện tốc độ tải trang; nâng cấp các tính năng bảo mật xác thực ở cấp ứng dụng và mở rộng hệ thống báo cáo phân tích kinh doanh chuyên sâu.

Giá trị tham khảo

Báo cáo khóa luận cung cấp tài liệu tham khảo thiết thực cho các nhóm đối tượng cụ thể:

  • Sinh viên ngành Công nghệ thông tin và Kỹ thuật phần mềm: Sinh viên chuẩn bị làm đồ án chuyên ngành hoặc khóa luận tốt nghiệp có thể tham khảo quy trình phân tích và thiết kế một ứng dụng web thương mại điện tử hoàn chỉnh theo ngăn xếp công nghệ MERN Stack.
  • Lập trình viên phát triển Web Full-Stack: Phần tài liệu mô tả chi tiết về cách thiết kế lược đồ dữ liệu NoSQL (MongoDB Schemas) cho các thực thể thương mại điện tử, cách phân chia kịch bản tương tác qua hệ thống biểu đồ tuần tự (Sequence Diagrams) và các bước cấu hình triển khai giữa Front-end ReactJS và Back-end Node.js.
  • Cá nhân, hộ kinh doanh nhỏ lẻ: Tài liệu mang lại giá trị tham khảo về mô hình kết hợp giữa bán hàng qua mạng xã hội (Fanpage) với một website thương mại điện tử độc lập nhằm tự động hóa khâu đặt hàng, quản lý đơn hàng và theo dõi doanh thu thực tế.

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

1. Khóa luận sử dụng chính xác những công nghệ nào trong bộ MERN Stack?
Khóa luận sử dụng 4 công nghệ cốt lõi: MongoDB (hệ cơ sở dữ liệu NoSQL lưu trữ tài liệu JSON), ExpressJS (khung ứng dụng web xây dựng API phía máy chủ), ReactJS (thư viện giao diện người dùng dựa trên DOM ảo và JSX), và Node.js (môi trường thực thi JavaScript phía máy chủ). Ngoài ra, hệ thống còn sử dụng thêm thư viện giao diện Ant Design.

2. Hai sinh viên thực hiện đề tài phân chia nhiệm vụ cụ thể như thế nào?
Sinh viên Lê Hoàng Hải Đăng phụ trách nghiên cứu ý tưởng, khảo sát phân tích, xây dựng giao diện Front-end (Client và Admin), viết hướng dẫn cài đặt Front-end, kiểm thử giao diện và viết báo cáo. Sinh viên Hồ Đức Pháp phụ trách thiết kế cơ sở dữ liệu MongoDB, xây dựng máy chủ Back-end, xây dựng giao diện Admin, thực hiện Fetch API, triển khai Hosting cho cả hệ thống, kiểm thử Back-end và phối hợp viết báo cáo.

3. Cơ sở dữ liệu MongoDB của hệ thống bao gồm những Schema nào?
Cơ sở dữ liệu được thiết kế gồm 6 lược đồ chính: Schema User (quản lý thông tin tài khoản người dùng), Schema Product (thông tin và thuộc tính sản phẩm giày), Schema Order (chi tiết đơn hàng và trạng thái), Schema Comment (bình luận và đánh giá), Schema Blog (bài viết tin tức) và Schema Message (tin nhắn liên hệ của khách hàng).

4. Khóa luận đã tiến hành khảo sát hiện trạng trên những trang web cụ thể nào?
Nhóm tác giả đã tiến hành khảo sát thực tế cấu trúc giao diện và quy trình xử lý đơn hàng trên hai website thương mại điện tử kinh doanh giày dép tại Việt Nam là Juno.vn và Bitis.vn.

5. Ứng dụng thực tế của khóa luận được triển khai cho đơn vị nào và có số liệu cụ thể không?
Website được triển khai thử nghiệm thực tế cho cửa hàng giày dép DH SNEAKER của chính nhóm sinh viên (đã kinh doanh 2 năm), vận hành đồng bộ với Fanpage DH SNEAKER và ghi nhận số liệu doanh thu thực tế trong hai mốc thời gian là tháng 11/2024 và tháng 12/2024.


Kết luận

Khóa luận tốt nghiệp "Xây dựng website bán giày sử dụng MERN Stack" của sinh viên Lê Hoàng Hải Đăng và Hồ Đức Pháp đã hoàn thành đầy đủ các nhiệm vụ phân tích, thiết kế và cài đặt một hệ thống thương mại điện tử hoàn chỉnh. Đề tài vận dụng hiệu quả các ưu điểm của kiến trúc MERN Stack trong việc đồng nhất ngôn ngữ JavaScript ở cả hai phân hệ Front-end và Back-end, đáp ứng tốt các yêu cầu nghiệp vụ đặt hàng và quản trị bán lẻ. Điểm nổi bật của công trình là tính thực tiễn cao khi giải quyết trực tiếp bài toán kinh doanh thực tế của thương hiệu DH SNEAKER với dữ liệu doanh thu được ghi nhận rõ ràng. Đây là tài liệu tham khảo hữu ích cho sinh viên chuyên ngành Công nghệ thông tin trong việc nghiên cứu và triển khai các ứng dụng web thương mại điện tử hiện đại.