MERNStore là một hệ thống thương mại điện tử hoàn chỉnh được xây dựng trên nền tảng MERN stack (MongoDB, Express.js, React.js, Node.js). Dự án mô phỏng một nền tảng mua bán trực tuyến thực tế, hỗ trợ đa vai trò người dùng, đa luồng nghiệp vụ và quy trình kiểm thử – triển khai hiện đại theo hướng Agile kết hợp CI/CD. Hệ thống được thiết kế xoay quanh ba luồng nghiệp vụ chính, tương ứng với ba vai trò người dùng:
- Client (Khách hàng)
- Merchant (Nhà cung cấp)
- Admin (Quản trị hệ thống) Hệ thống được xây dựng theo mô hình Frontend – Backend – Database tách biệt, hỗ trợ:
- Tự động hóa kiểm thử (Automation Testing)
- Tích hợp CI/CD
- Container hóa bằng Docker
- Triển khai thực tế trên MongoDB Atlas
- Xây dựng một website thương mại điện tử với đầy đủ các nghiệp vụ cốt lõi.
- Hỗ trợ nhiều vai trò người dùng với quyền hạn và phạm vi truy cập khác nhau.
- Đảm bảo dữ liệu được xử lý nhất quán giữa Frontend – Backend – Database.
- Áp dụng MERN stack
- Thiết kế hệ thống RESTful API rõ ràng, dễ mở rộng.
- Áp dụng CI/CD pipeline để tự động hóa build – test – deploy.
- Đóng gói và triển khai hệ thống bằng Docker.
Hệ thống được chia thành 3 tầng chính:
-
Frontend (Client)
- Xây dựng bằng React.js
- Giao tiếp với Backend thông qua REST API
- Chạy độc lập trên port riêng
- Phục vụ giao diện cho Client, Merchant và Admin
-
Backend (Server)
- Xây dựng bằng Node.js + Express.js
- Xử lý logic nghiệp vụ, xác thực và phân quyền người dùng
- Cung cấp các REST API cho frontend
- Kết nối cơ sở dữ liệu MongoDB thông qua MongoDB Atlas
-
Database: Mongo Atlas
Hệ thống MERNStore được kiểm thử theo nhiều cấp độ nhằm đảm bảo chất lượng phần mềm:
- Test Plan & Test Cases: lưu tại thư mục docs/testing
- Chạy test nhanh:
npm run test:server
- Chạy full suite:
npm run test:server:full
- CI/CD: GitHub Actions tự động chạy test khi có push hoặc pull request
- Báo cáo kiểm thử: được tổng hợp theo template chuẩn trong tài liệu dự án
- Đồ án môn Kiểm thử phần mềm
- Demo Agile + CI/CD




