Skip to main content

TMS-1239: Cart - Giỏ hàng

Tài liệu mô tả giỏ hàng trên trang web

1. RouteMô tả tổng quan

Trang giỏ hàng là nơi hiển thị danh sách các sản phẩm mà người dùng đã chọn để mua. Tại đây, người dùng có thể:

  • Xem danh sách sản phẩm đã thêm vào giỏ.
  • Điều chỉnh số lượng sản phẩm.
  • Xóa sản phẩm khỏi giỏ hàng.
  • Tiến hành thanh toán.
  • Lưu trạng thái giỏ hàng.

2. Các chức năng và luồng hoạt động

2.1 Thêm sản phẩm vào giỏ hàng (Add to Cart)

  • Khi người dùng nhấn nút Add To Cart tại bất kỳ trang danh sách sản phẩm hoặc chi tiết sản phẩm nào, sản phẩm đó sẽ được thêm vào giỏ hàng.
  • Hệ thống sẽ hiển thị sản phẩm ngay trên trang giỏ hàng với thông tin chi tiết.

2.2 Tiếp tục mua sắm (Continue Shopping)

  • Khi người dùng nhấn vào nút Continue Shopping, hệ thống sẽ đưa họ trở lại trang danh sách sản phẩm để tiếp tục mua hàng.

2.3 Cập nhật giỏ hàng (Update Cart)

  • Khi người dùng thay đổi số lượng sản phẩm hoặc xóa sản phẩm khỏi giỏ hàng, họ cần nhấn vào nút Update Cart để lưu lại thay đổi.
  • Hệ thống sẽ cập nhật thông tin giỏ hàng trong cơ sở dữ liệu.

2.4 Chọn sản phẩm để thanh toán (Select Product for Checkout)

  • Người dùng có thể chọn từng sản phẩm bằng cách tick vào ô checkbox hoặc chọn tất cả sản phẩm cùng lúc.
  • Chỉ các sản phẩm được chọn mới được đưa vào quá trình thanh toán.

2.5 Tiến hành thanh toán (Proceed to Checkout)

Khi nhấn nút Proceed To Checkout:

  • Hệ thống sẽ lưu thông tin giỏ hàng hiện tại của người dùng.
  • Chuyển sang trang xác nhận đơn hàng.
  • Hiển thị thông báo xác nhận đơn hàng đã được đặt thành công.

3. API Endpoint

Phương thức Route Mô tả
GET /api/v1/auth/get/shop-order Lấy dữ liệu cartgiỏ hàng từ database
POST /api/v1/auth/post/shop-order Lưu dữ liệu từgiỏ carthàng lênvào database
POST /api/v1/auth/post/shop-order/update LưuCập dữnhật liệugiỏ từ cart lên databasehàng (replacethay andđổi remove)số lượng, xóa)
POST /api/v1/auth/post/shop-order/checkout CheckoutXử lý thanh toán giỏ hàng

4. Cấu trúc dữ liệu giỏ hàng

4.1 Bảng ecom.shop-order

  • Chứa thông tin ID của người dùng.
Trường (EN)Ý nghĩaMô tả
user_idID người dùngID của người đặt hàng
created_atNgày tạoNgày đơn hàng được tạo
updated_atNgày cập nhậtNgày đơn hàng được cập nhật
deleted_atNgày xóaNgày đơn hàng được xóa

4.2 Bảng ecom.shop-order-details

  • Chứa chi tiết các sản phẩm trong đơn hàng của ngừoi dùng.
Trường (EN)Ý nghĩaMô tả
shop-order_idID đơn hàngID của đơn hàng
product_idID sản phẩmID của sản phẩm
priceGiá gốcGiá sản phẩm
quantitySố lượngSố lượng sản phẩm
total_priceTạm tínhTổng giá của sản phẩm đó (price * quantity)
is_checkoutĐặt hàngĐánh dấu sản phẩm đã chọđược thanh toán chưa
created_atNgày tạoNgày đơn hàng được tạo
updated_atNgày cập nhậtNgày đơn hàng được cập nhật
deleted_atNgày xóaNgày đơn hàng được xóa

2.

5. tả giaoGiao diện

2.giỏ hàng

5.1 ListDanh cart:sách DB:sản ecom.shop-order,phẩm ecom.shop-order-details

trong giỏ hàng m mkhỏigiỏ
Trường -en(EN) Trường -vi(VI) Cột DB Mô tảNote
ProductSản phẩmproduct_idHiển thị sản phẩm trong giỏ hàng
Unit Price Đơn giá price Giá gốc của sản phẩm. đơn lẻ
Quantity Số lượng quantity Số lượng của sản phẩm trong giỏ hàng
Subtotal Tạm tính total_price Tổng tạm tínhtiền của sản phẩm trong giỏ
PriceRemove GiáXóa priceKhông Giá gốc của sản phẩm.
PriceGiápriceGiá gốc của sản phẩm.
PriceGiápriceGiá gốc của sản phẩm.hàng

2.

5.2 ÔTổng checkout

giá trị giỏ hàng (Checkout Summary)
Trường -en(EN) Trường -vi(VI) Cột DB Mô tảNote
Subtotal Tạm tính Không Tổng tiền của tất cả tạm tính của sản phẩm trongđã giỏchọn
Shipping Phí vận chuyểnKhôngPhí vận chuyển (nếu có)
Total Tổng cộng Không Tổng tạmgiá tínhtrị vớiđơn hàng sau phí vận chuyển

6. Tóm tắt

  • Người dùng có thể thêm sản phẩm vào giỏ hàng từ danh sách sản phẩm hoặc trang chi tiết sản phẩm.
  • Giỏ hàng có thể cập nhật số lượng sản phẩm, xóa sản phẩm, và chọn sản phẩm để thanh toán.
  • Sau khi chọn sản phẩm, người dùng có thể tiến hành thanh toán và lưu đơn hàng.
  • Dữ liệu giỏ hàng được lưu vào cơ sở dữ liệu thông qua các API đã định nghĩa.

3. Ref task: #1239 - QA

4. Giỏ hàng

Add To Cart (Thêm vào giỏ):
  • Tại các màn hình có danh sách các sản phẩm, hoặc chi tiết sản phẩm, chỉ cần có nút Add To Cart (Thêm vào giỏ) thì có thể thực hiện chức năng thêm vào giỏ hàng.
  • Khi nhấn vào nút Add To Cart (Thêm vào giỏ) sản phẩm đó sẽ được hiển thị trong trang giỏ hàng.
Continue Shopping (Tiếp tục mua sắm):
  • Tại màn hình "Giỏ hàng" nhấn vào nút Continue Shopping (Tiếp tục mua sắm), hệ thống sẽ chuyển sang trang sản phẩm để tiến hành mua sắm.
Update cart (Cập nhật giỏ hàng):
  • Tại màn hình "Giỏ hàng" nhấn vào nút Update cart (Cập nhật giỏ hàng), hệ thống sẽ lưu giỏ hàng của bạn vào cơ sở dữ liệu.
Nút select:
  • Tại màn hình "Giỏ hàng" nhấn vào nút select ở trước các sản phẩm hoặc select toàn bộ ở trên, dùng để chọn các sản phẩm trong giỏ hàng để tiến hành checkout.
Proceed To Checkout (Tiến hành thanh toán):
  • Khi nhấn vào nút checkout, hệ thống sẽ lưu thông tin của bạn về các sản phẩm vừa checkout
  • Chuyển sang màn hình thông báo đã đặt hàng.