Skip to main content

1. Điều kiện tiên quyết (Pre-conditions)

  • Xác thực người dùng: Người dùng đã đăng nhập thành công vào ứng dụng (Hoàn thành US-OWN-02).
  • Master Data: Danh mục Giống loài (Breeds) và Chủng loại (Species) đã được khởi tạo trong hệ thống bởi Admin (Hoàn thành US-ADM-01).
  • Lưu trữ hình ảnh: Storage Cloud (Backblaze B2) đã sẵn sàng nhận file.

2. Tiêu chí chấp nhận (Acceptance Criteria)

  • Người dùng chọn Chủng loại (Species) và Danh sách Giống (Breeds) phải thay đổi tương ứng.
  • Cho phép chọn “Khác” nếu không tìm thấy giống trong danh sách chuẩn.
  • Tên: Không trống, tối đa 50 ký tự.
  • Ngày sinh: Không được lớn hơn ngày hiện tại.
  • Cân nặng: Phải là số dương (đơn vị kg), tối đa 2 chữ số thập phân.
Nếu người dùng nhập tên trùng với thú cưng đã có trong hồ sơ của họ, hệ thống hiển thị cảnh báo: "Bạn đã có thú cưng tên là [Name], bạn có chắc muốn tạo thêm hồ sơ mới?" nhưng vẫn cho phép lưu (tránh trường hợp nuôi nhiều pet cùng tên).
  • Cho phép người dùng chụp ảnh trực tiếp hoặc chọn ảnh từ thư viện thiết bị.
  • Hỗ trợ cắt ảnh (Crop) theo tỉ lệ chuẩn của ứng dụng. (AVT frame vuông 1:1).
  • Hỗ trợ định dạng .jpg, .png, .heic (iOS).
  • Tự động nén ảnh (Compress) trước khi upload để tiết kiệm băng thông.
  • Ảnh sau khi upload thành công phải hiển thị ngay ở bản xem trước (Preview).
Cho phép nhập thêm các thông tin không bắt buộc như:
  • Mô tả thú cưng.
  • Tình trạng dị ứng và mẫn cảm.

3. Xử lý & Lưu trữ (Business Rules)

1

US-OWN-03.7: Trạng thái định danh

  • Hệ thống tự động gán flag is_identified = false.
  • Hiển thị badge “Chưa định danh” trên UI để nhắc nhở người dùng thực hiện định danh sau này.
2

US-OWN-03.8: Lưu và Hiển thị

  • Khi nhấn “Lưu”, hệ thống phải xử lý bất đồng bộ (Loading state).
  • Hệ thống cấp một ID duy nhất cho mỗi hồ sơ thú cưng.
  • Thành công: Tạo hồ sơ mới, điều hướng về danh sách Pet và hiển thị trong danh sách “Thú cưng của tôi”.
  • Thất bại: Giữ nguyên dữ liệu đã nhập và báo lỗi cụ thể (Network/Storage error).