[Online request system] List of request / Search request
User Story: Tìm kiếm request
Tiêu đề
Người dùng tìm kiếm request
Mô tả
- Là một người dùng
- Tôi muốn tìm kiếm request
- Để nhanh chóng tìm thấy thông tin yêu cầu mà tôi cần
Tiêu chí chấp nhận (Acceptance Criteria)
1. Trường hợp thành công
- Người dùng nhấn vào mục Request list trong menu chính.
- Hệ thống hiển thị danh sách các request và một trường tìm kiếm phía trên danh sách.
- Người dùng nhập từ khóa vào trường tìm kiếm và nhấn nút Tìm kiếm.
- Hệ thống lọc danh sách request và hiển thị các kết quả khớp với từ khóa:
- Tìm kiếm theo tiêu đề, mô tả, hoặc ID request.
- Hiển thị thông tin request khớp bao gồm ID request, tiêu đề, người tạo, ngày tạo.
- Nếu tìm kiếm thành công, hiển thị danh sách các request khớp với từ khóa.
- Nếu không có kết quả khớp, hiển thị thông báo: Không tìm thấy kết quả phù hợp.
2. Trường hợp lỗi
- Nếu người dùng nhấn Tìm kiếm mà không nhập từ khóa, hiển thị thông báo: Vui lòng nhập từ khóa tìm kiếm.
- Lỗi hệ thống:
- Nếu xảy ra lỗi khi tìm kiếm, hiển thị thông báo: Đã xảy ra lỗi khi tìm kiếm. Vui lòng thử lại sau.
- Lỗi kết nối:
- Nếu mất kết nối mạng khi thực hiện tìm kiếm, 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ị danh sách request với trường tìm kiếm và nút Search.
- Thêm chức năng hiển thị danh sách kết quả và thông báo khi không tìm thấy kết quả phù hợp.
- Thêm thông báo lỗi cho các trường hợp nhập sai hoặc thiếu từ khóa.
- Backend:
- Xây dựng API hỗ trợ tìm kiếm request (GET /requests/search?keyword=).
- Xử lý tìm kiếm theo từ khóa trong tiêu đề, mô tả, và ID request.
- Đảm bảo trả về kết quả nhanh chóng và chính xác, bao gồm cả xử lý trường hợp không có kết quả.
- Database:
- Tối ưu hóa các bảng liên quan đến request để hỗ trợ tìm kiếm nhanh chóng.
- Đảm bảo các chỉ mục cần thiết trên các trường tìm kiếm chính như tiêu đề, mô tả, và ID request.
- 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ìm kiếm với các từ khóa khác nhau (khớp, không khớp, một phần từ khóa).
- Kiểm thử hiệu năng API tìm kiếm với dữ liệu lớn.
- Kiểm thử UI để đảm bảo giao diện hiển thị đúng và thông báo chính xác.
Ghi chú
- Tính năng này sẽ được ưu tiên hoàn thành trong Sprint hiện tại.
- Nội dung thông báo lỗi hỗ trợ ngôn ngữ tiếng Nhật.
- Đảm bảo bảo mật cho dữ liệu nhập vào (ngăn chặn tấn công SQL Injection).
- Hiệu suất tìm kiếm phải được tối ưu hóa để đáp ứng với dữ liệu lớn.
Edited by minh tung doan