[Online request system] Undecidable
User Story: Đăng ký thông tin bổ sung
Tiêu đề
Người dùng đăng ký thông tin bổ sung (tài liệu bổ sung, bản vẽ sửa đổi, v.v.) trong khi vẫn lưu giữ thông tin request trước đây
Mô tả
- Là một người dùng
- Tôi muốn đăng ký thông tin bổ sung (tài liệu bổ sung, bản vẽ sửa đổi, v.v.) trong khi vẫn lưu giữ thông tin request trước đây
- Để đảm bảo tất cả thông tin liên quan đến request được quản lý đầy đủ và không mất dữ liệu.
Tiêu chí chấp nhận (Acceptance Criteria)
1. Trường hợp thành công
- Trên page danh sách request “Undecidable” sẽ chỉ hiển thị các đơn request có status “undecidable”
- Người dùng nhấn vào một request trong danh sách để xem chi tiết.
- Trong giao diện chi tiết request, hiển thị nút "Thêm thông tin bổ sung".
- Khi nhấn vào nút này, hiển thị một biểu mẫu để nhập thông tin bổ sung:
- Chỉ có thể cập nhật các item như comment・form request・file tại item.
- Tài liệu đính kèm: attach các file tài liệu bổ sung: **Các file đã được request trước đó: Do đã xong “format review”, nên không thể update. (cũng không thể delete) ** Các file tài liệu, bản vẽ mới: Có thể add **Các file tài liệu, bản vẽ đã chỉnh sửa: Add dưới dạng các file mới. Có thể add cùng tên với file cũ. **
- Ngày sửa đổi: Tự động lấy ngày hiện tại hoặc cho phép chọn ngày (tùy theo yêu cầu).
- Người dùng nhấn "Lưu" để gửi thông tin bổ sung.
- Hệ thống lưu trữ thông tin bổ sung và liên kết với request gốc mà không ghi đè dữ liệu cũ.
- Thông tin bổ sung được hiển thị dưới dạng lịch sử hoặc danh sách trong chi tiết request.
2. Trường hợp lỗi
- Không có thông tin bổ sung:
- Nếu người dùng nhấn "Lưu" nhưng không nhập hoặc tải lên bất kỳ thông tin nào, hiển thị thông báo: "Vui lòng nhập hoặc tải lên thông tin bổ sung trước khi lưu."
- Lỗi file tải lên:
- Nếu file tải lên không đúng định dạng hoặc vượt quá dung lượng cho phép, hiển thị thông báo: "File không hợp lệ. Vui lòng chọn file đúng định dạng và dưới hoặc bằng 90MB." Khi file vượt quá 128MB thì error msg mặc định 「Request Entity Too Large」 sẽ hiện ra
- Lỗi hệ thống:
- Nếu xảy ra lỗi khi lưu thông tin bổ sung, hiển thị thông báo: "Không thể lưu thông tin bổ sung. Vui lòng thử lại sau."
- Lỗi kết nối:
- Nếu mất kết nối mạng khi gửi thông tin, hiển thị thông báo: "Kết nối mạng bị gián đoạn. Vui lòng kiểm tra lại."
Nhiệm vụ kỹ thuật (Tasks)
-
Frontend:
- Tạo giao diện hiển thị nút "Thêm thông tin bổ sung" trong chi tiết request.
- Tạo modal hoặc trang riêng cho biểu mẫu nhập thông tin bổ sung.
- Thêm thông báo và xử lý trường hợp lỗi khi người dùng nhập sai hoặc không hợp lệ.
-
Backend:
- Xây dựng API để thêm thông tin bổ sung vào request hiện có (POST /requests/{id}/supplements).
- Đảm bảo API không ghi đè dữ liệu cũ mà thêm mới vào lịch sử request.
- Xử lý lỗi liên quan đến định dạng file và lưu trữ dữ liệu.
-
Database:
- Cập nhật bảng hoặc tạo bảng mới để lưu trữ thông tin bổ sung liên kết với request gốc:
- ID bổ sung
- ID request liên kết
- Mô tả bổ sung
- Đường dẫn file đính kèm
- Ngày sửa đổi
-
Kiểm thử:
- Viết test case cho từng tiêu chí chấp nhận.
- Kiểm thử chức năng tải lên file và lưu trữ dữ liệu bổ sung.
- Kiểm thử API với các trường hợp thành công và lỗi.
- Kiểm thử UI để đảm bảo giao diện hiển thị và thao tác đúng.
Ghi chú
- Tính năng này sẽ được ưu tiên hoàn thành trong Sprint hiện tại.
- Hỗ trợ đa ngôn ngữ (tiếng Nhật và tiếng Việt).
- Kiểm tra kỹ khả năng tải lên file để đảm bảo bảo mật và hiệu suất hệ thống.
Edited by minh tung doan