Acceptance Criteria (AC)
Luồng ngoại lệ (Exception Flows) & Validations
- Từ khoá tìm kiếm không có kết quả:
- Flow: Nhập từ khoá lạ hoặc kết hợp bộ lọc ngặt nghèo (VD: Thức ăn cho vẹt trong bán kính 1km).
- Error UI: Hiển thị Illustration trạng thái Empty. Text: “Không tìm thấy sản phẩm nào phù hợp. Vui lòng thử lại với từ khoá hoặc bộ lọc khác.” Kèm nút “Xoá bộ lọc”.
- Từ chối quyền GPS (Location denied):
- Flow: Người dùng chọn bộ lọc “Gần tôi” nhưng thiết bị chưa cấp quyền Vị trí cho ứng dụng.
- Error UI: Bật Popup xin quyền Location của OS. Nếu user từ chối tiếp, hiển thị Toast: “Tính năng lọc theo khoảng cách yêu cầu quyền truy cập vị trí. Đang hiển thị sản phẩm ngẫu nhiên.”
Quy tắc nghiệp vụ (Business Rules)
- Rule 1: Sắp xếp mặc định (Default Sorting): Khi vừa vào trang, danh sách sản phẩm ưu tiên hiển thị theo thuật toán: Sản phẩm có lượt bán cao nhất + Sản phẩm của các Shop ở gần nhất (Nếu có GPS) + Sản phẩm đang chạy khuyến mãi.
- Rule 2: Kiểm duyệt trạng thái (Visibility): Chỉ hiển thị các sản phẩm có trạng thái
Active, Tồn kho , và Shop đăng bán phải đang ở trạng tháiActive(Không bị khoá/Inactive).