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

Khóa luận tốt nghiệp ngành Công nghệ thông tin của hai sinh viên Huỳnh Tấn Lộc và Trần Lê Thanh Tuyền (Trường Đại học Sư phạm Kỹ thuật Thành phố Hồ Chí Minh, thực hiện dưới sự hướng dẫn của ThS. Nguyễn Trần Thi Văn từ ngày 20/02/2023 đến ngày 29/05/2023) tập trung vào việc nghiên cứu và ứng dụng bộ công nghệ MERN Stack để xây dựng hệ thống website thương mại điện tử chuyên ngành kinh doanh nông sản sạch.

Lý do chọn đề tài và bối cảnh thực tiễn

Trong những năm gần đây, tiêu chuẩn vệ sinh an toàn thực phẩm ngày càng được xã hội chú trọng, thúc đẩy sự ra đời của hàng loạt cửa hàng cung ứng nông sản sạch nhằm đáp ứng nhu cầu tiêu dùng. Từ mô hình kinh doanh truyền thống thành công, các đơn vị phân phối có xu hướng mở rộng quy mô sang mạng lưới kinh doanh trực tuyến. Việc quảng bá, giới thiệu sản phẩm nông sản tươi sống đến người tiêu dùng một cách kịp thời và hiệu quả là yếu tố then chốt giúp xây dựng và mở rộng thương hiệu.

Bên cạnh đó, việc chuyển đổi sang phương thức kinh doanh trực tuyến giúp khắc phục hoàn toàn những nhược điểm của công tác quản lý thủ công trên sổ sách giấy tờ, vốn dễ gây thất thoát và chậm trễ. Nền tảng số hóa đảm bảo các dữ liệu về mặt hàng, giá cả và khách hàng được lưu trữ an toàn, khoa học, đồng thời tối ưu hóa quy trình bán hàng. Xuất phát từ bối cảnh đó, nhóm tác giả lựa chọn đề tài xây dựng website bán rau củ quả trực tuyến nhằm tạo ra kênh mua sắm tiện ích cho người tiêu dùng và công cụ quản lý bán hàng cho doanh nghiệp.

Mục tiêu nghiên cứu

Mục tiêu bao quát của đề tài là nghiên cứu sâu về bộ công nghệ MERN Stack và vai trò của nó trong phát triển ứng dụng web hiện đại, từ đó áp dụng để thiết kế và cài đặt hoàn chỉnh một website thương mại điện tử nông sản. Khóa luận xác định 5 mục tiêu và nhiệm vụ chức năng cụ thể:

  1. Giới thiệu danh sách sản phẩm và hiển thị thông tin chi tiết cho từng sản phẩm.
  2. Hỗ trợ khách hàng tương tác trực tiếp với người quản trị thông qua kết nối Messenger.
  3. Hỗ trợ quy trình mua hàng và thực hiện thanh toán trực tuyến.
  4. Hỗ trợ chủ doanh nghiệp thực hiện quản trị danh mục và thông tin sản phẩm.
  5. Hỗ trợ chủ doanh nghiệp quản lý các hóa đơn bán hàng và thông tin người dùng trong hệ thống.

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

  • Đối tượng nghiên cứu: Công nghệ phát triển ứng dụng web MERN Stack (MongoDB, ExpressJS, ReactJS, NodeJS), thư viện Redux, kiến trúc MVC, nền tảng điện toán đám mây MongoDB Atlas và dịch vụ triển khai Vercel; mô hình quy trình nghiệp vụ thương mại điện tử trong lĩnh vực bán lẻ nông sản sạch.
  • Phạm vi không gian: Khảo sát và đánh giá hiện trạng trên 4 nền tảng website thực tế gồm 2 website quốc tế (fruitworld.nz tại New Zealand, freshindiaorganics.com tại Mumbai, Ấn Độ) và 2 website tại Việt Nam (hoamau24h.com, bio-ngon.com tại Thành phố Hồ Chí Minh).
  • Phạm vi thời gian: Đề tài được tiếp nhận thực hiện từ ngày 20/02/2023 và hoàn thành nộp báo cáo vào ngày 29/05/2023.

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

Khung lý thuyết và công nghệ sử dụng

Khóa luận hệ thống hóa các khái niệm nền tảng về Technical Stack – tập hợp các công nghệ và phần mềm kết hợp tạo thành nền tảng vận hành ứng dụng. Nhóm nghiên cứu phân loại và so sánh các bộ stack phổ biến trên thị trường:

Technical Stack Các công nghệ thành phần cấu thành
MERN Stack MongoDB, ExpressJS, ReactJS, NodeJS
MEAN Stack MongoDB, Express, Angular, NodeJS
LAMP Stack Linux, Apache, MySQL, PHP
WISA Stack Windows, IIS, SQL Server, ASP.NET

Hệ thống lý thuyết kỹ thuật của đề tài xoay quanh 4 thành phần cốt lõi của MERN Stack kết hợp các công cụ hỗ trợ:

  • MongoDB & MongoDB Atlas: Hệ quản trị cơ sở dữ liệu hướng tài liệu thuộc nhóm NoSQL. Dữ liệu tổ chức dưới dạng Document JSON/BSON, loại bỏ ràng buộc bảng chặt chẽ của RDBMS, cho phép mở rộng linh hoạt. Khóa luận dẫn chứng thực nghiệm cho thấy tốc độ thêm mới (insert) dữ liệu của MongoDB có thể nhanh gấp 100 lần so với MySQL; trường _id tự động được đánh chỉ mục (index) giúp tăng tốc truy vấn. Phiên bản đám mây MongoDB Atlas hỗ trợ lưu trữ phân tán trên các hạ tầng AWS, Azure, Google Cloud.
  • ExpressJS: Nền tảng framework chạy trên môi trường NodeJS, đóng vai trò xây dựng dịch vụ REST API theo mô hình kiến trúc MVC (Model-View-Controller). Framework cung cấp cơ chế Middleware giúp kiểm soát yêu cầu, định tuyến (Routing) theo phương thức HTTP và URL, gỡ lỗi (Debugging) và hỗ trợ công cụ tạo mẫu (Templating).
  • ReactJS & Redux: Thư viện JavaScript mã nguồn mở phục vụ xây dựng giao diện người dùng theo mô hình Single Page Application (SPA). React quản lý giao diện dựa trên Component (chia thành Function Component và Class Component), cú pháp mở rộng JSX, cơ chế Virtual DOM giúp tối ưu hóa việc cập nhật cây DOM thực, và các Hooks (bổ sung từ phiên bản React 16) cho phép sử dụng trạng thái mà không cần định nghĩa lớp. Thư viện Redux được tích hợp để quản lý trạng thái tập trung thông qua 3 thành phần: Actions (đối tượng mang loại hành động và dữ liệu), Reducers (hàm biến đổi trạng thái dựa trên action), và Store (nơi lưu trữ trạng thái ứng dụng duy nhất).
  • NodeJS: Môi trường thực thi JavaScript (runtime) xây dựng trên nền tảng V8 JavaScript Engine của Google Chrome, phát hành theo giấy phép MIT. NodeJS vận hành theo cơ chế đơn luồng (single-thread), định hướng sự kiện và bất đồng bộ (non-blocking I/O) theo mặc định, không đệm dữ liệu (no buffering), cho phép xây dựng ứng dụng mạng chịu tải cao và hỗ trợ đa nền tảng (Windows, Linux, macOS).
  • CSS Frameworks & Triển khai: Tailwind CSS và Bootstrap CSS phục vụ định dạng giao diện; nền tảng Vercel hỗ trợ đóng gói và triển khai ứng dụng web cùng API.

Phương pháp nghiên cứu

  • Phương pháp nghiên cứu tài liệu: Thu thập, phân tích và tổng hợp thông tin kỹ thuật từ sách điện tử (ebook), tài liệu hướng dẫn phát triển phần mềm, các bài báo khoa học và bài giảng kỹ thuật liên quan đến MERN Stack và hệ sinh thái JavaScript.
  • Phương pháp chuyên gia: Tham khảo trực tiếp ý kiến chuyên môn từ cán bộ hướng dẫn (ThS. Nguyễn Trần Thi Văn) và các giảng viên bộ môn thuộc Khoa Đào tạo Chất lượng cao – Trường Đại học Sư phạm Kỹ thuật TP.HCM để điều chỉnh phạm vi chức năng và giải pháp kỹ thuật.
  • Phương pháp khảo sát và đánh giá hiện trạng: Đánh giá tính năng, trải nghiệm người dùng (UI/UX) và các thiếu sót kỹ thuật của 4 website thương mại điện tử kinh doanh nông sản trong và ngoài nước để xác lập bộ yêu cầu đặc tả cho đề tài.

Thiết kế và triển khai

Kiến trúc hệ thống

Hệ thống vận hành theo mô hình kiến trúc 3 lớp (3-tier architecture) tiêu chuẩn trên nền tảng JavaScript đồng nhất:

  1. Lớp hiển thị (Presentation Layer / Frontend): Xây dựng bằng ReactJS kết hợp Redux, Tailwind CSS và Bootstrap CSS. Khối client tiếp nhận tương tác người dùng, xử lý logic hiển thị và giao tiếp ngầm với server thông qua công nghệ AJAX/HTTP Requests mà không cần tải lại toàn bộ trang web.
  2. Lớp nghiệp vụ (Application Layer / Backend): Xây dựng bằng ExpressJS chạy trên môi trường NodeJS theo cấu trúc MVC. Chịu trách nhiệm tiếp nhận yêu cầu từ client, xử lý xác thực người dùng (Authentication), áp dụng các middleware kiểm soát và thực thi logic nghiệp vụ.
  3. Lớp dữ liệu (Database Layer): Cơ sở dữ liệu đám mây MongoDB Atlas chịu trách nhiệm tổ chức, lưu trữ và phản hồi dữ liệu dưới định dạng JSON/BSON.

Mô hình hóa yêu cầu và các tác nhân hệ thống

Hệ thống xác định 3 tác nhân (actors) chính tham gia tương tác:

  • Guest (Khách vãng lai): Người dùng chưa xác thực, có nhu cầu tra cứu, xem thông tin nông sản và có thể đăng ký tài khoản.
  • User (Người dùng/Khách hàng): Người dùng đã đăng ký và đăng nhập, có quyền thiết lập thông tin cá nhân, thực hiện đặt hàng và quản lý giao dịch.
  • Admin (Người quản trị): Quản trị viên hệ thống có toàn quyền quản lý dữ liệu sản phẩm, danh mục, đơn hàng và tài khoản người dùng.

Hệ thống được thiết kế dựa trên 10 biểu đồ tuần tự (Sequence Diagram) chính:

  • <SD001> Administrator Login (Đăng nhập quản trị viên)
  • <SD002> Administrator Create New Product (Tạo mới sản phẩm)
  • <SD003> Administrator Update Product (Cập nhật sản phẩm)
  • <SD004> Administrator Delete Product (Xóa sản phẩm)
  • <SD005> Administrator Change The Order Status (Thay đổi trạng thái đơn hàng)
  • <SD006> Administrator View Statistical Page (Xem trang thống kê)
  • <SD007> Guest Filter Product (Lọc sản phẩm dành cho khách)
  • <SD008> User Add to Cart (Thêm sản phẩm vào giỏ hàng)
  • <SD009> User Checkout (Thực hiện thanh toán đơn hàng)
  • <SD0010> User View Order Tracking (Theo dõi đơn hàng)

Yêu cầu phi chức năng

Báo cáo đề tài xác lập bảng chỉ tiêu kỹ thuật phi chức năng bảo đảm hiệu năng và khả năng vận hành của hệ thống:

STT Nội dung Tiêu chuẩn Mô tả chi tiết kỹ thuật
1 Cho phép thay đổi giá sản phẩm Tiến hóa Admin có thể thay đổi đơn giá cho từng sản phẩm linh hoạt.
2 Hình thức tra cứu tiện dụng, trực quan Tiện dụng Hỗ trợ khả năng tra cứu gần đúng, tìm kiếm theo tên sản phẩm; dễ sử dụng cho người không chuyên tin học.
3 Tính nhất quán giữa các màn hình Tương thích Giao diện bảo đảm sự đồng nhất về bố cục, màu sắc và kiểu chữ.
4 Tốc độ xử lý đặt hàng và thanh toán Hiệu quả Thời gian xử lý tối đa 10 giây cho một lần đặt hàng; tối đa 20 giây cho một lần thanh toán ở mức tải ổn định.
5 Bảo mật thông tin người dùng Bảo mật Mã hóa mật khẩu người dùng trong cơ sở dữ liệu; xác thực tài khoản khi đăng nhập hệ thống.
6 Bảo trì và nâng cấp trong tương lai Khả năng bảo trì và mở rộng Các component giao diện và module được chia nhỏ rõ ràng, khoa học phục vụ việc mở rộng.
7 Giao diện thân thiện Khả năng sử dụng Giao diện tinh gọn, bảo đảm tương tác và thao tác giao dịch diễn ra thuận tiện.

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

Chương 1: Tổng quan

Chương 1 trình bày bối cảnh phát triển thị trường nông sản sạch, sự chuyển dịch từ cửa hàng vật lý sang mạng lưới bán hàng trực tuyến, và tầm quan trọng của việc ứng dụng công nghệ thông tin vào quản trị số liệu thay thế phương thức giấy tờ thủ công. Chương này xác định rõ mục tiêu nghiên cứu MERN Stack, đặt ra 5 nhiệm vụ chức năng của website thương mại điện tử nông sản, phân định nội dung nghiên cứu (MERN, MongoDB Atlas, ExpressJS với MVC, ReactJS, Redux, NodeJS, Vercel) cùng 2 phương pháp tiếp cận chính (nghiên cứu tài liệu và tham vấn chuyên gia).

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

Nội dung chương 2 tập trung phân tích sâu các thành phần kỹ thuật cấu tạo nên nền tảng phát triển ứng dụng. Tác giả định nghĩa Technical Stack, so sánh MERN với MEAN, LAMP, WISA, chỉ ra lợi thế của việc sử dụng một ngôn ngữ JavaScript xuyên suốt từ client đến server. Tiếp đó, chương phân tích chi tiết cơ chế hoạt động, tính năng và vai trò của từng thành phần: MongoDB (mô hình NoSQL document, chỉ mục _id, tốc độ insert vượt trội), MongoDB Atlas (lưu trữ đám mây đa hạ tầng), ExpressJS (middleware, định tuyến HTTP, kiến trúc MVC), ReactJS (JSX, Virtual DOM, Components, Hooks), NodeJS (mô hình I/O bất đồng bộ đơn luồng, engine V8), và Redux (mô hình luồng dữ liệu một chiều qua Store, Actions, Reducers).

Chương 3: Khảo sát và xác định yêu cầu

Chương 3 thực hiện khảo sát hiện trạng 4 website bán nông sản tiêu biểu:

  • Website quốc tế: fruitworld.nz (New Zealand) và freshindiaorganics.com (Mumbai, Ấn Độ).
  • Website trong nước: hoamau24h.com và bio-ngon.com (TP.HCM).

Từ kết quả khảo sát ưu - nhược điểm, tác giả tổng hợp điểm chung (tìm kiếm, giỏ hàng, đặt hàng, quản lý đơn, kết nối messenger) và điểm khác biệt (đăng nhập mạng xã hội, chatbox, bản đồ cửa hàng, đánh giá/bình luận, cổng thanh toán trực tuyến). Trên cơ sở đó, chương xác định các tập yêu cầu chức năng cho từng tác nhân:

  • Khách (Guest) - 7 chức năng: Đăng ký tài khoản, Lọc sản phẩm theo danh mục, Lọc sản phẩm theo giá, Tìm kiếm sản phẩm theo từ khóa, Xem danh sách sản phẩm, Xem chi tiết sản phẩm, Tương tác với admin qua tin nhắn.
  • Người dùng (User) - 14 chức năng: Đăng nhập, Cập nhật hồ sơ, Lọc sản phẩm theo danh mục, Lọc sản phẩm theo giá, Tìm kiếm sản phẩm theo từ khóa, Xem danh sách sản phẩm, Xem chi tiết sản phẩm, Tương tác với admin qua tin nhắn, Thêm sản phẩm vào giỏ hàng, Xóa sản phẩm khỏi giỏ hàng, Bình luận sản phẩm, Đặt hàng, Thanh toán, Sử dụng mã giảm giá.
  • Quản trị viên (Admin) - 8 chức năng: Đăng nhập quyền admin, Thêm danh mục sản phẩm, Cập nhật danh mục sản phẩm, Xóa danh mục sản phẩm, Thêm sản phẩm, Cập nhật sản phẩm, Cập nhật trạng thái hóa đơn, Cập nhật trạng thái người dùng (vô hiệu hóa/kích hoạt user).

Chương 3 cũng mô hình hóa các yêu cầu thông qua lược đồ Use Case tổng quát cho hai phân hệ End-User và Administrator, đồng thời chi tiết hóa kịch bản bằng các bảng đặc tả Use Case (Register, Login, View Product List, View Detailed Product, Filter Product...).

Chương 4: Thiết kế hệ thống

Chương 4 thiết kế toàn diện hệ thống từ kiến trúc tổng thể, mô hình tương tác đến dữ liệu và giao diện:

  • Xây dựng 10 lược đồ tuần tự (Sequence Diagrams) chuẩn hóa luồng giao tiếp giữa Actor, Giao diện (Boundary), Bộ điều khiển (Controller) và Cơ sở dữ liệu cho các nghiệp vụ trọng yếu.
  • Thiết kế cơ sở dữ liệu trên MongoDB: xây dựng mô hình dữ liệu tài liệu (document schema), mô tả chi tiết các thuộc tính cho các bảng/tập hợp (collections) liên quan đến người dùng, sản phẩm, danh mục sản phẩm và đơn hàng.
  • Thiết kế giao diện chi tiết: Phân chia thành hai phân hệ màn hình Admin (đăng nhập, bảng điều khiển trang chủ, quản lý người dùng, quản lý tài khoản bị vô hiệu hóa, quản lý sản phẩm, quản lý sản phẩm bị xóa, tạo mới sản phẩm, cập nhật sản phẩm, quản lý danh mục, thêm/cập nhật danh mục, quản lý hóa đơn, màn hình thống kê doanh thu) và phân hệ màn hình User (đăng ký, đăng nhập, Header/Footer, trang chủ, trang chi tiết sản phẩm, trang danh mục, giỏ hàng, sổ địa chỉ và quy trình thanh toán).

Chương 5: Cài đặt và kiểm thử

Chương 5 hiện thực hóa các thiết kế kỹ thuật thành sản phẩm phần mềm thực tế bằng cách sử dụng các công cụ lập trình và bộ công nghệ MERN. Tác giả tổng hợp danh mục công cụ, thư viện phụ trợ và môi trường triển khai thực tế, sau đó tiến hành kiểm thử các chức năng của hệ thống nhằm bảo đảm hệ thống vận hành đúng theo các kịch bản ca sử dụng đã đặc tả.

Chương 6: Kết luận

Chương cuối cùng tổng kết khối lượng công việc đã hoàn thành của đề tài khóa luận, đánh giá mức độ đáp ứng mục tiêu đề ra ban đầu, đồng thời thẳng thắn chỉ ra những mặt hạn chế còn tồn tại của hệ thống và định hướng các hướng nghiên cứu, nâng cấp sản phẩm trong tương lai.


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

Kết quả kỹ thuật chính

  • Xây dựng hoàn chỉnh website thương mại điện tử phục vụ kinh doanh nông sản sạch đáp ứng đầy đủ các luồng nghiệp vụ cơ bản từ hiển thị sản phẩm, tìm kiếm, lọc giá/danh mục, quản lý giỏ hàng đến xử lý đặt hàng và thanh toán.
  • Thiết kế phân quyền chặt chẽ cho 3 nhóm đối tượng: Guest (7 chức năng), User (14 chức năng) và Admin (8 chức năng quản trị toàn diện về danh mục, sản phẩm, đơn hàng và trạng thái tài khoản người dùng).
  • Đạt các chỉ tiêu hiệu năng phi chức năng theo tài liệu đặc tả: thời gian xử lý đặt hàng duy trì dưới ngưỡng tối đa 10 giây, thời gian xử lý thanh toán dưới 20 giây ở điều kiện bình thường; dữ liệu mật khẩu được mã hóa an toàn.
  • Hiện thực hóa thành công kiến trúc SPA sử dụng ReactJS và Redux quản lý state tập trung, kết hợp backend ExpressJS/NodeJS và cơ sở dữ liệu NoSQL đám mây MongoDB Atlas.

Giải pháp và kiến nghị của tác giả

  • Tận dụng thế mạnh dùng chung một ngôn ngữ JavaScript xuyên suốt các tầng kiến trúc để giảm thiểu chi phí chuyển đổi ngữ cảnh lập trình, chuẩn hóa cấu trúc trao đổi dữ liệu hoàn toàn bằng JSON mà không cần thư viện chuyển đổi phức tạp.
  • Khuyến nghị áp dụng mô hình phân tách độc lập giữa frontend và backend kết hợp triển khai đám mây (MongoDB Atlas, Vercel) để tăng khả năng chịu tải và tính sẵn sàng của hệ thống bán lẻ.

Đóng góp thực tiễn của đề tài

So với việc quản lý buôn bán nông sản thủ công trên sổ sách, sản phẩm của đề tài cung cấp một hệ thống quản lý bán hàng số hóa, giúp lưu trữ dữ liệu an toàn, xử lý đơn hàng chính xác và hỗ trợ nhà quản lý theo dõi báo cáo doanh thu thông qua giao diện thống kê trực quan. Đối với khách hàng, hệ thống mang lại môi trường mua sắm trực tuyến thân thiện, tích hợp sẵn kênh liên lạc nhanh qua Messenger để tư vấn sản phẩm.


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

Các hạn chế được ghi nhận trong văn bản

  • Hệ thống thanh toán trực tuyến chưa tích hợp đa dạng các cổng thanh toán điện tử phổ biến như thẻ quốc tế (Visa, MasterCard) hay ví điện tử nội địa (ZaloPay, MoMo) như ghi nhận tại phần khảo sát thực trạng.
  • Chưa tích hợp cơ chế đăng nhập nhanh thông qua các tài khoản mạng xã hội (Google, Facebook) cho phân hệ người dùng.
  • Thiếu tính năng cho phép khách hàng chủ động chọn khối lượng nông sản cần mua theo từng đơn vị nhỏ lẻ và chưa hiển thị tích hợp bản đồ cửa hàng định vị thực tế.
  • Các tính năng phản hồi cộng đồng như hệ thống bình luận, đánh giá sao chất lượng sản phẩm còn ở mức cơ bản.

Hướng nghiên cứu và phát triển tiếp

  • Hoàn thiện tích hợp cổng thanh toán trực tuyến qua các đối tác trung gian (Visa/MasterCard, ví điện tử) nhằm đáp ứng nhu cầu thanh toán không tiền mặt.
  • Mở rộng chức năng đăng nhập một chạm (Single Sign-On) qua OAuth với Google và Facebook.
  • Nâng cấp hệ thống tương tác người dùng: tích hợp bản đồ số định vị chi nhánh cửa hàng, bổ sung công cụ chatbox tự động hỗ trợ tư vấn và hoàn thiện hệ thống đánh giá/bình luận sản phẩm.
  • Tối ưu hóa giao diện hiển thị trên thiết bị di động (Responsive UI) và nâng cấp kích thước font chữ, bố cục hình ảnh trực quan hơn.

Giá trị tham khảo

Báo cáo khóa luận là tài liệu tham khảo thực tiễn đối với:

  • Sinh viên ngành Công nghệ thông tin, Kỹ thuật phần mềm: Là tài liệu tham khảo trực quan về quy trình phát triển một dự án web hoàn chỉnh sử dụng bộ công nghệ MERN Stack từ bước khảo sát hiện trạng, phân tích yêu cầu (UML/Use Case), thiết kế lược đồ tuần tự đến cài đặt cơ sở dữ liệu NoSQL.
  • Lập trình viên Full-stack mới bắt đầu: Phần cơ sở lý thuyết tại Chương 2 cung cấp kiến thức hệ thống hóa rõ ràng về cơ chế hoạt động của Redux (Actions, Reducers, Store), chu trình Virtual DOM trong React, và cách thức xây dựng API RESTful trên nền tảng ExpressJS/NodeJS.
  • Người làm đề tài thương mại điện tử chuyên ngành nông sản: Bảng tổng hợp khảo sát hiện trạng 4 website trong và ngoài nước cùng bảng đặc tả 29 chức năng chi tiết cho 3 tác nhân là nguồn dữ liệu thực tế có giá trị cao để đối sánh và xây dựng hệ thống tương tự.

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

1. Đề tài khảo sát những website bán nông sản thực tế nào và rút ra kết luận gì?

Nhóm tác giả đã tiến hành khảo sát chi tiết 4 website: fruitworld.nz (New Zealand), freshindiaorganics.com (Ấn Độ), hoamau24h.com và bio-ngon.com (Việt Nam). Khảo sát kết luận các website thương mại điện tử nông sản đều chia sẻ các tính năng cốt lõi như tra cứu sản phẩm, giỏ hàng, đặt hàng, quản lý đơn và liên hệ hỗ trợ; tuy nhiên các điểm khác biệt cần hoàn thiện là đa dạng hóa cổng thanh toán trực tuyến, hỗ trợ đăng nhập mạng xã hội và tích hợp bản đồ vị trí cửa hàng.

2. Bộ công nghệ MERN Stack trong khóa luận gồm những thành phần cụ thể nào?

Bộ công nghệ gồm 4 thành phần chính: cơ sở dữ liệu hướng tài liệu MongoDB (lưu trữ trên nền tảng đám mây MongoDB Atlas), framework phát triển backend ExpressJS, thư viện xây dựng giao diện frontend ReactJS (kết hợp Redux quản lý state, Tailwind CSS và Bootstrap CSS), cùng môi trường chạy mã nguồn mở NodeJS.

3. Hệ thống phân chia quyền hạn người dùng như thế nào và bao gồm bao nhiêu chức năng?

Hệ thống phân định 3 tác nhân với tổng cộng 29 chức năng được chuẩn hóa:

  • Khách vãng lai (Guest): 7 chức năng (xem danh sách, xem chi tiết, lọc theo danh mục, lọc theo giá, tìm kiếm, nhắn tin admin, đăng ký).
  • Người dùng thành viên (User): 14 chức năng (đăng nhập, cập nhật hồ sơ, quản lý giỏ hàng, bình luận, đặt hàng, thanh toán, dùng voucher...).
  • Quản trị viên (Admin): 8 chức năng (đăng nhập quản trị, quản lý sản phẩm, quản lý danh mục, cập nhật trạng thái đơn hàng, quản lý trạng thái tài khoản người dùng, xem thống kê).

4. Yêu cầu phi chức năng của hệ thống quy định thời gian xử lý đặt hàng và thanh toán là bao lâu?

Theo bảng đặc tả yêu cầu phi chức năng tại Chương 3, tiêu chuẩn hiệu quả của hệ thống yêu cầu thời gian xử lý tối đa cho một lần đặt hàng là không quá 10 giây, và thời gian xử lý tối đa cho một lần thanh toán đơn hàng là không quá 20 giây trong điều kiện hệ thống vận hành ổn định.

5. Tác giả nêu dẫn chứng gì về hiệu năng vượt trội của MongoDB so với hệ quản trị cơ sở dữ liệu quan hệ?

Trong cơ sở lý thuyết tại Chương 2, khóa luận chỉ ra rằng MongoDB lưu trữ dữ liệu dưới dạng Document JSON linh hoạt, không bị ràng buộc quan hệ phức tạp; trường khóa chính _id luôn được tự động đánh chỉ mục giúp tối ưu truy xuất, và qua thực nghiệm cho thấy tốc độ thêm mới dữ liệu (insert) của MongoDB có thể nhanh gấp 100 lần so với hệ quản trị cơ sở dữ liệu quan hệ MySQL.


Kết luận

Khóa luận tốt nghiệp "Tìm hiểu công nghệ MERN Stack và áp dụng xây dựng website thương mại điện tử" của sinh viên Huỳnh Tấn Lộc và Trần Lê Thanh Tuyền đã hoàn thành mục tiêu nghiên cứu và hiện thực hóa một hệ sinh thái bán lẻ nông sản sạch trực tuyến trên nền tảng JavaScript đồng nhất. Đề tài giải quyết tốt bài toán số hóa quy trình quản trị bán hàng và mua sắm thực phẩm tươi sống thông qua kiến trúc 3 lớp phân tách rõ ràng giữa frontend React/Redux và backend Node/Express/MongoDB Atlas. Mặc dù còn một số điểm cần tiếp tục hoàn thiện về cổng thanh toán và trải nghiệm tương tác nâng cao, công trình là một báo cáo kỹ thuật hoàn chỉnh, đáp ứng đầy đủ các yêu cầu chuẩn mực của một đồ án tốt nghiệp kỹ sư Công nghệ thông tin.