Mô tả
Hệ thống website bán hàng thời trang nam – 4Menshop được xây dựng theo kiến trúc 3 lớp (Three-Tier Architecture), bao gồm:
Lớp trình diễn (Presentation Layer): Là giao diện người dùng (UI), nơi người dùng tương tác với hệ thống như xem sản phẩm, đặt hàng, quản lý giỏ hàng...
Lớp xử lý nghiệp vụ (Business Logic Layer): Chịu trách nhiệm xử lý các nghiệp vụ của hệ thống như xử lý giỏ hàng, đơn hàng, tính toán tổng tiền, xử lý mã giảm giá, phân quyền người dùng...
Lớp dữ liệu (Data Access Layer): Quản lý kết nối và thao tác với cơ sở dữ liệu như truy vấn, thêm, sửa, xóa dữ liệu từ hệ quản trị cơ sở dữ liệu.
Ngoài ra, hệ thống sử dụng mô hình Client-Server, trong đó phía client là trình duyệt chạy giao diện người dùng và phía server xử lý dữ liệu và logic. Hệ thống sử dụng RESTful API để trao đổi dữ liệu giữa frontend và backend, đồng thời tích hợp SignalR (hoặc Socket.IO) để cập nhật một số thông tin theo thời gian thực như trạng thái đơn hàng, thông báo đặt hàng mới,...
Thành phần hệ thống chi tiết:
1. Frontend (ReactJS)
- Được xây dựng bằng thư viện ReactJS, giúp tạo giao diện người dùng hiện đại, phản hồi nhanh và thân thiện.
- Cung cấp giao diện cho cả khách hàng và quản trị viên:
- Khách hàng có thể xem danh sách sản phẩm, lọc theo danh mục, tìm kiếm, thêm vào giỏ hàng, đặt hàng, theo dõi đơn hàng...
- Admin/nhân viên có thể đăng nhập vào hệ thống quản trị để quản lý sản phẩm, đơn hàng, người dùng, mã giảm giá...
- Giao tiếp với backend thông qua RESTful API và nhận thông báo theo thời gian thực qua SignalR.
2. Backend (ASP.NET Core Web API)
- Là trung tâm xử lý logic nghiệp vụ của hệ thống, được xây dựng bằng nền tảng ASP.NET Core.
- Cung cấp các API theo chuẩn RESTful để frontend gọi dữ liệu.
- Xử lý các chức năng như:
- Quản lý sản phẩm, danh mục, biến thể sản phẩm (màu sắc, kích cỡ)
- Quản lý đơn hàng, giỏ hàng, thanh toán, mã giảm giá
- Xử lý đăng nhập, đăng ký, phân quyền người dùng
- Quản lý bài viết, trạng thái đơn hàng
- Tích hợp SignalR để đẩy các sự kiện thời gian thực như cập nhật trạng thái đơn hàng đến frontend.
- Kết nối đến cơ sở dữ liệu SQL Server để lưu trữ và truy vấn dữ liệu.
3. Cơ sở dữ liệu (SQL Server)
- Dữ liệu được lưu trữ dưới dạng quan hệ, sử dụng hệ quản trị cơ sở dữ liệu SQL Server.
- Thiết kế cơ sở dữ liệu chuẩn hóa, gồm các bảng chính:
- Người dùng, sản phẩm, danh mục, màu sắc, kích thước
- Giỏ hàng, đơn hàng, chi tiết đơn hàng
- Mã giảm giá, bài viết, lịch sử trạng thái đơn hàng...
- Đảm bảo tính toàn vẹn dữ liệu và khả năng mở rộng trong tương lai.