1. Trang chủ
  2. » Giáo Dục - Đào Tạo

Xây dựng website hỗ trợ Đấu giá trực tuyến

132 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Website Hỗ Trợ Đấu Giá Trực Tuyến
Tác giả Đoàn Chấn Hưng, Huỳnh Ngọc Tuấn Kiệt
Người hướng dẫn ThS. Ngô Ngọc Đăng Khoa
Trường học Trường Đại Học Sư Phạm Kỹ Thuật Thành Phố Hồ Chí Minh
Chuyên ngành Công Nghệ Thông Tin
Thể loại Đồ Án Tốt Nghiệp
Năm xuất bản 2024
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 132
Dung lượng 6,99 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN VỀ ĐỀ TÀI (19)
    • 1.1. Tính cấp thiết của đề tài (19)
    • 1.2. Mục đích của đề tài (19)
    • 1.3. Đối tượng và phạm vi nghiên cứu (19)
    • 1.4. Kết quả dự kiến đạt được (20)
  • CHƯƠNG 2: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU (22)
    • 2.1. Khảo sát các Website tương tự (22)
      • 2.1.1. eBay (www.ebay.com) (22)
      • 2.1.2. Sotheby's (www.sothebys.com) (25)
    • 2.2. Yêu cầu chức năng (28)
      • 2.2.1. Yêu cầu về Người dùng (0)
      • 2.2.2. Yêu cầu về Admin (28)
      • 2.2.3. Yêu cầu phi chức năng (28)
    • 2.3. Yêu cầu hệ thống (29)
      • 2.3.1. Tác nhân hệ thống (29)
      • 2.3.2. Danh sách chức năng của Người dùng (29)
      • 2.3.3. Danh sách chức năng của Admin (30)
  • CHƯƠNG 3: CƠ SỞ LÝ THUYẾT (31)
    • 3.1. PostgreSQL (31)
    • 3.2. Spring Boot (32)
    • 3.3. NextJS - JavaScript Framework phía máy khách (33)
    • 3.4. Redux (34)
    • 3.5. Tailwind CSS (34)
    • 3.6. Stripe (35)
    • 3.7. PayPal (35)
  • CHƯƠNG 4: PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU (37)
    • 4.1. Lược đồ chức năng hệ thống (37)
    • 4.2. Đặc tả Usecase (37)
      • 4.2.1. Usecase Đăng ký (37)
      • 4.2.2. Usecase Đăng nhập (38)
      • 4.2.3. Usecase Đăng xuất (39)
      • 4.2.4. Usecase Quên mật khẩu (39)
      • 4.2.5. Usecase Xem thông tin tài khoản (40)
      • 4.2.6. Usecase Đăng sản phẩm (41)
      • 4.2.7. Usecase Tạo thông tin đấu giá (42)
      • 4.2.8. Usecase Thanh toán phí đăng sản phẩm (43)
      • 4.2.9. Usecase Tìm kiếm sản phẩm (44)
      • 4.2.10. Usecase Lọc sản phẩm theo đặc điểm (44)
      • 4.2.11. Usecase Đấu giá (45)
      • 4.2.12. Usecase Cập nhật địa chỉ (46)
      • 4.2.13. Usecase Xem sản phẩm đã đăng (47)
      • 4.2.14. Usecase Thanh toán phí giao dịch (47)
      • 4.2.15. Usecase Bình luận (48)
      • 4.2.16. Usecase Phản hồi bình luận (49)
      • 4.2.17. Usecase Đánh giá người đăng (49)
      • 4.2.18. Usecase Xem thống kê doanh thu và sản phẩm (50)
      • 4.2.19. Usecase Khóa tài khoản người dùng (51)
      • 4.2.20. Usecase Tạo danh mục mới (51)
      • 4.2.21. Usecase Xóa danh mục (52)
    • 4.3. Lược đồ Lớp (53)
    • 4.4. Lược đồ Tuần tự (Sequence diagram) (54)
      • 4.4.1. Sequence Đăng ký (54)
      • 4.4.2. Sequence Đăng nhập (55)
      • 4.4.3. Sequence Quên mật khẩu (56)
      • 4.4.4. Sequence Đăng sản phẩm (57)
      • 4.4.5. Sequence Tạo thông tin đấu giá (58)
      • 4.4.6. Sequence Thanh toán phí đăng sản phẩm (59)
      • 4.4.7. Sequence Tìm kiếm sản phẩm (60)
      • 4.4.8 Sequence Đấu giá (61)
      • 4.4.9. Sequence Bình luận (62)
      • 4.4.10. Sequence Đánh giá người đăng (63)
      • 4.4.11. Sequence Tạo danh mục mới (64)
  • CHƯƠNG 5: THIẾT KẾ HỆ THỐNG (65)
    • 5.1. Lược đồ Cơ sở dữ liệu (65)
      • 5.1.2. Mô tả danh sách thực thể (66)
    • 5.2. Thiết kế giao diện (71)
      • 5.2.1. Giao diện Đăng ký (71)
      • 5.2.2. Giao diện Đăng nhập (72)
      • 5.2.3. Giao diện quên mật khẩu (72)
      • 5.2.4. Giao diện Trang chủ (74)
      • 5.2.5. Giao diện Danh sách sản phẩm và Lọc sản phẩm (75)
      • 5.2.6. Giao diện Chi tiết sản phẩm (76)
      • 5.2.8. Giao diện Đăng sản phẩm (78)
      • 5.2.9. Giao diện Bình luận sản phẩm (81)
      • 5.2.10. Giao diện Sản phẩm tương tự (82)
      • 5.2.11. Giao diện Lịch sử đấu giá của sản phẩm (83)
      • 5.2.12. Giao diện Sản phẩm đã thắng (85)
      • 5.2.13. Giao diện Quản lý thông tin tài khoản (87)
      • 5.2.14. Giao diện Quản lý địa chỉ (88)
      • 5.2.15. Giao diện Lịch sử đấu giá của bạn (89)
      • 5.2.16. Giao diện Sản phẩm đã đăng (91)
      • 5.2.17. Giao diện Đánh giá người bán (93)
      • 5.2.18. Giao diện Modal Đăng xuất (94)
      • 5.2.20. Giao diện Quản lý danh mục (Admin) (97)
      • 5.2.23. Giao diện Quản lý người dùng (Admin) (101)
      • 5.2.21. Giao diện Quản lý sản phẩm (Admin) (103)
      • 5.2.22. Giao diện Quản lý thanh toán(Admin) (105)
  • CHƯƠNG 6: CÀI ĐẶT VÀ KIỂM THỬ (107)
    • 6.1. Hướng dẫn triển khai cài đặt hệ thống (107)
      • 6.1.1. Triển khai Local (107)
      • 6.1.2. Triển khai Host Cloud (108)
    • 6.2. Kiểm thử (109)
      • 6.2.1. Kiểm thử chức năng Đăng ký (109)
      • 6.2.2. Kiểm thử chức năng Đăng nhập (114)
      • 6.2.3. Kiểm thử chức năng Bình luận (116)
      • 6.2.4. Kiểm thử chức năng Đánh giá (117)
      • 6.2.5. Kiểm thử chức năng thanh toán phí đấu giá (118)
      • 6.2.6. Kiểm thử chức năng Đấu giá sản phẩm (119)
      • 6.2.7. Kiểm thử chức năng Thêm sản phẩm đấu giá (122)
      • 6.2.8. Kiểm thử chức năng Tìm kiếm sản phẩm (124)
      • 6.2.8. Kiểm thử chức năng Lọc sản phẩm theo đặc điểm (125)
  • CHƯƠNG 7: KẾT LUẬN (127)
    • 7.1. Kết quả đạt được (127)
    • 7.2. Ưu điểm (128)
    • 7.3. Nhược điểm (128)
    • 7.4. Hướng phát triển (129)
  • TÀI LIỆU THAM KHẢO (130)

Nội dung

Thực hành: - Xây dựng website hỗ trợ đấu giá trực tuyến, với các tính năng chính như sau: ◦ Cho phép người dùng thực hiện tác vụ: đăng ký, đăng nhập, tìm kiếm, chọn lọc sản phẩm theo ý m

TỔNG QUAN VỀ ĐỀ TÀI

Tính cấp thiết của đề tài

Thương mại điện tử mang lại nhiều lợi ích vượt trội so với mua sắm truyền thống, bao gồm sự tiện lợi và linh hoạt cho người tiêu dùng Người tiêu dùng có thể mua sắm mọi lúc, mọi nơi mà không bị giới hạn về thời gian hay không gian Hơn nữa, họ tiết kiệm thời gian và chi phí di chuyển, đồng thời dễ dàng so sánh giá từ nhiều nguồn khác nhau.

Đấu giá trực tuyến đang ngày càng trở nên phổ biến, mang lại sự dễ dàng và tiện lợi cho người mua và người bán Phương thức này tạo ra một không gian trực tuyến để thỏa thuận giá trị hàng hóa và dịch vụ, mang đến trải nghiệm mua sắm thú vị cho người tiêu dùng Đồng thời, nó mở ra cơ hội mới cho doanh nghiệp trong việc mở rộng thị trường và tăng doanh thu.

Thị trường đấu giá trực tuyến tại Việt Nam còn hạn chế về số lượng nhà cung cấp dịch vụ, tạo cơ hội cho chúng tôi xây dựng một nền tảng hỗ trợ đấu giá trực tuyến Nơi đây sẽ cho phép người dùng tương tác với sản phẩm và kết nối với nhau, từ đó hình thành cầu nối hiệu quả giữa người mua và người bán, giúp quá trình giao lưu và giao dịch trở nên dễ dàng hơn.

Mục đích của đề tài

Xây dựng website đấu giá giúp người dùng tham gia các phiên đấu giá trực tuyến, tương tác trực tiếp với sản phẩm qua các lượt ra giá Người dùng có cơ hội trúng đấu giá khi thời gian kết thúc, từ đó tạo ra sự cạnh tranh lành mạnh Ứng dụng này không chỉ nâng cao doanh thu cho người đăng bán mà còn giúp người trúng đấu giá sở hữu sản phẩm với mức giá mong muốn.

Đối tượng và phạm vi nghiên cứu

Nhằm giúp cho quá trình đấu giá được trở nên dễ dàng và nhanh chóng hơn, đề tài hướng đến các đối tượng:

Chương 1: Tổng quan về đề tài

Người đăng sản phẩm đấu giá là cá nhân có nhu cầu bán hàng hóa qua hình thức đấu giá trực tuyến, cho phép họ dễ dàng đăng tải sản phẩm, thiết lập thông tin đấu giá và quản lý phiên đấu giá một cách hiệu quả.

Người tham gia đấu giá là những cá nhân có nhu cầu và khả năng tài chính để tham gia vào các phiên đấu giá Họ sẽ đưa ra các mức giá cho sản phẩm mà mình quan tâm, cạnh tranh với những người tham gia khác nhằm có cơ hội sở hữu sản phẩm với mức giá hợp lý.

Kết quả dự kiến đạt được

- Xây dựng các tính năng cần có của một website hỗ trợ đấu giá trực tuyến:

 Đăng ký / Đăng nhập / Đăng xuất

 Quản lý thông tin tài khoản

 Xem danh sách sản phẩm

 Tìm kiếm sản phẩm theo tên

 Lọc sản phẩm theo tiêu chí

 Xem chi tiết sản phẩm

 Tạo thông tin đấu giá cho sản phẩm đăng tải

 Đặt ngưỡng giá tối thiểu cho phiên đấu giá

 Ngăn đấu giá phút chót

 Quản lý sản phẩm đã đăng

 Thanh toán phí đăng sản phẩm

 Quản lý lịch sử ra giá

 Xem lịch sử đấu giá sản phẩm

 Nhận kết quả trúng đấu giá

 Thanh toán sản phẩm trúng đấu giá

 Quản lý địa chỉ nhận hàng

Chương 1: Tổng quan về đề tài

- Đối với quản trị viên

 Thống kê doanh thu và sản phẩm

 Xem danh sách người dùng

 Khóa tài khoản người dùng

 Thu phí đăng sản phẩm

Chương 2: Khảo sát hiện trạng và xác định yêu cầu

KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU

Khảo sát các Website tương tự

eBay là một công ty thương mại điện tử hàng đầu của Mỹ, được Pierre Omidyar thành lập vào năm 1995 Hiện nay, eBay quản lý trang web ebay.com, nơi người dùng có thể mua, bán và đấu giá các sản phẩm với giá cả hấp dẫn Ngoài ra, eBay còn sở hữu PayPal, một trong những nền tảng thanh toán trực tuyến hàng đầu thế giới.

eBay nổi bật trong thương mại điện tử nhờ tính năng đấu giá độc đáo, cho phép người mua mua sản phẩm với giá thấp nhất và người bán bán sản phẩm với giá cao nhất Hệ thống đấu giá của eBay được xây dựng bài bản, là mô hình lý tưởng để học tập và áp dụng cho các dự án phát triển tính năng đấu giá.

2.1.1.2 Các tính năng chính của eBay

Đấu giá trực tuyến là một tính năng nổi bật của eBay, cho phép người bán đưa sản phẩm lên và người mua đặt giá thầu trong một khoảng thời gian nhất định Khi phiên đấu giá kết thúc, người có mức giá cao nhất sẽ giành được sản phẩm, giúp họ sở hữu món đồ với giá thấp hơn thị trường và tạo ra sự cạnh tranh hấp dẫn Thời gian cho mỗi phiên đấu giá thường từ vài ngày đến một tuần, trong đó người mua có thể cân nhắc và quyết định mức giá Người bán cũng có thể thiết lập mức giá tối thiểu mà họ mong muốn.

Chương 2: Khảo sát hiện trạng và xác định yêu cầu giá sẽ trở nên sôi động vào những giờ cuối cùng khi nhiều người mua cùng cạnh tranh để mua được món hàng

eBay cung cấp một danh mục sản phẩm đa dạng với hàng triệu mặt hàng thuộc hàng ngàn danh mục khác nhau, bao gồm đồ điện tử, thời trang, phụ kiện, trang sức, đồ siêu tầm và các món đồ cổ Sự phong phú này giúp eBay trở thành một trong những thị trường trực tuyến hàng đầu, đáp ứng mọi nhu cầu mua sắm của người tiêu dùng Các danh mục chính của eBay rất phong phú và đa dạng.

 Đồ điện tử: Điện thoại di động, máy tính, TV, thiết bị âm thanh và video,

 Thời trang: Quần áo, giày dép, túi xách, phụ kiện thời trang cho cả nam và nữ,

 Đồ gia dụng: Đồ nội thất, thiết bị nhà bếp,

 Đồ sưu tầm: Tiền xu, đồ cổ,

- Hệ thống đánh giá và phản hồi:

Hệ thống đánh giá và phản hồi của eBay đóng vai trò quan trọng trong việc xây dựng niềm tin giữa người mua và người bán Sau mỗi giao dịch, cả hai bên có cơ hội để lại nhận xét và đánh giá lẫn nhau, từ đó giúp người mua dễ dàng lựa chọn và ra quyết định dựa trên uy tín của người bán.

Mỗi người dùng trên eBay có hồ sơ đánh giá công khai, hiển thị số lượng giao dịch thành công và tỷ lệ phản hồi tích cực, giúp người mua dễ dàng nhận diện người bán đáng tin cậy Hệ thống này khuyến khích người bán cung cấp dịch vụ tốt để nhận được đánh giá cao, vì phản hồi tiêu cực có thể ảnh hưởng nghiêm trọng đến uy tín của họ Do đó, việc duy trì chất lượng dịch vụ tốt là rất quan trọng.

- Chính sách bảo vệ người mua và người bán

eBay áp dụng các chính sách bảo vệ người mua và người bán nhằm đảm bảo giao dịch an toàn và công bằng Một trong những chương trình quan trọng là eBay Money Back Guarantee, giúp người mua yên tâm hơn khi biết rằng họ sẽ nhận lại tiền nếu sản phẩm không đúng như mô tả.

Chương 2: Khảo sát hiện trạng và xác định yêu cầu phẩm không đúng như mô tả hoặc không được giao hàng

Chương trình này bao gồm hầu hết các giao dịch trên eBay, đảm bảo người mua có quyền yêu cầu hoàn tiền trong vòng 30 ngày kể từ khi nhận sản phẩm Đồng thời, eBay cũng cung cấp cho người bán các công cụ và dịch vụ nhằm bảo vệ họ khỏi hành vi lừa đảo của người mua, bao gồm việc bảo vệ trước các khiếu nại không chính đáng và hỗ trợ trong việc giải quyết tranh chấp.

eBay cung cấp một kho hàng phong phú với sự đa dạng sản phẩm, từ những mặt hàng thông thường đến các sản phẩm hiếm và khó tìm Người mua có thể dễ dàng tìm thấy mọi thứ, từ đồ dùng hàng ngày cho đến những món đồ sưu tầm độc đáo và quý giá.

Hình thức đấu giá mang lại tiềm năng tiết kiệm chi phí lớn, cho phép người mua sở hữu hàng hóa với giá thấp hơn giá thị trường Điều này đặc biệt thu hút những người tiêu dùng có ngân sách hạn chế hoặc đang tìm kiếm các ưu đãi hấp dẫn.

Quá trình đấu giá trên eBay tạo ra sự cạnh tranh và hứng thú cho người dùng, mang đến trải nghiệm độc đáo Sự cạnh tranh giữa các người mua cùng với cảm giác hồi hộp và kỳ vọng khi chờ đợi kết quả đấu giá chính là những yếu tố hấp dẫn mà eBay mang lại.

Cộng đồng uy tín với hệ thống đánh giá và phản hồi đóng vai trò quan trọng trong việc xây dựng niềm tin và sự minh bạch trong giao dịch Người mua và người bán có thể đánh giá lẫn nhau, tạo ra một môi trường công bằng và đáng tin cậy.

eBay cung cấp cơ hội kinh doanh tuyệt vời cho các doanh nghiệp nhỏ và người bán cá nhân, cho phép họ tiếp cận khách hàng toàn cầu Nền tảng này đặc biệt hữu ích cho việc bán các sản phẩm hiếm và độc đáo, mà khó có thể tiêu thụ ở các kênh khác.

 Rủi ro gian lận: Mặc dù eBay có nhiều biện pháp để bảo về, tuy nhiên vẫn

Chương 2: Khảo sát hiện trạng và xác định yêu cầu tồn tại các rủi ro và gian lận như hàng giả hoặc sản phẩm không đúng như mô tả Người mua có thể gặp phải các sản phẩm kém chất lượng hoặc không nhận được hàng sau khi đã thanh toán

Yêu cầu chức năng

2.2.2 Yêu cầu về Người dùng

- Đăng ký/ Đăng nhập/ Đăng xuất

- Tra cứu thông tin sản phẩm bằng cách tìm kiếm theo tên hoặc lọc sản phẩm.

- Tiến hành đặt giá và đấu giá tự động

- Đăng tải sản phẩm và cài đặt thông tin đấu giá trên nền tảng

- Theo dõi lịch sử đấu giá bản thân

- Bình luận và tương tác trên sản phẩm

- Đánh giá người đăng sản phẩm sau khi thắng

2.2.2.1 Đấu giá tự động Đấu giá tự động cho phép người dùng đặt mức giá tối đa có thể trả và hệ thống sẽ tự động tăng giá để giữ cho người chơi vừa-đủ-thắng những người chơi khác mà không cần ra giá liên tục

 Người chơi ra giá tối đa mà bản thân có thể trả cho sản phẩm

 Nếu không ai có mức giá tối đa cao hơn, người chơi giành chiến thắng sản phẩm ở mức giá thấp nhất mà hệ thống tự động đặt giá

 Nếu những người chơi ra cùng mức giá, người chơi ra giá trước được ghi nhận là người ra giá cao nhất

- Xem doanh thu toàn hệ thống

2.2.3 Yêu cầu phi chức năng

Dưới đây là một số yêu cầu phi chức năng đối với hệ thống, trình duyệt chạy hệ thống:

Chương 2: Khảo sát hiện trạng và xác định yêu cầu

- Khả năng mở rộng (thêm các tính năng và chuyển tiếp các tùy chỉnh khi nâng cấp phiên bản lớn tiếp theo)

- Khả năng chịu lỗi (ví dụ: Giám sát, đo lường và quản lý hệ thống vận hành)

- Khả năng tương thích nền tảng, phần mềm, công cụ, tiêu chuẩn…

- Quyền riêng tư (tuân thủ luật bảo mật)

Yêu cầu hệ thống

Người dùng Người sử dụng website

Admin Người quản lý website

Bảng 1 Danh sách tác nhân hệ thống

2.3.2 Danh sách chức năng của Người dùng

Chức năng giải thích của website bao gồm việc người dùng có thể đăng ký tài khoản, đăng nhập vào hệ thống và đăng xuất khi không sử dụng nữa.

Người dùng có thể khôi phục mật khẩu đã quên, xem thông tin tài khoản của mình và đăng sản phẩm lên sàn giao dịch một cách dễ dàng.

Người dùng có thể tạo thông tin đấu giá cho sản phẩm mà họ muốn đăng tải, sau đó thực hiện thanh toán phí để hoàn tất quá trình đăng sản phẩm.

Người dùng tìm kiếm sản phẩm dựa trên thông tin cụ thể, đồng thời lọc sản phẩm theo các tiêu chí đặc trưng Ngoài ra, người dùng cũng có thể tham gia đấu giá bằng cách đưa ra giá cho sản phẩm mình quan tâm.

Chương 2: Khảo sát hiện trạng và xác định yêu cầu

Cập nhật địa chỉ Người dùng cập nhật địa chỉ

Xem sản phẩm đã đăng Người dùng xem sản phẩm đã đăng

Thanh toán sản phẩm đã thắng Người dùng thanh toán sản phẩm đã thắng

Bình luận Người dùng bình luận trên sản phẩm

Phản hồi bình luận Người dùng phản hồi bình luận khác Đánh giá sản phẩm Người dùng đánh giá sản phẩm

Bảng 2 Danh sách chức năng của Người dùng 2.3.3 Danh sách chức năng của Admin

Xem tất cả tài khoản người dùng Admin xem tất cả thông tin người dùng

Khóa tài khoản người dùng Admin muốn khóa tài khoản người dùng

Tạo danh mục mới Admin muốn tạo một danh mục mới

Chỉnh sửa danh mục Admin muốn chỉnh sửa danh mục

Xóa danh mục Admin muốn xóa danh mục

Thống kê doanh thu và sản phẩm Admin xem thống kê về doanh thu và sản phẩm

Bảng 3 Danh sách chức năng của Admin

Trong chương này, nhóm đề tài đã xác định các yêu cầu cần thiết cho hệ thống, bao gồm cả yêu cầu chức năng và phi chức năng Đồng thời, nhóm cũng đã xem xét các chức năng cụ thể như đấu giá tự động, hệ thống đánh giá và phản hồi, cùng với các tính năng phụ trợ khác, và lập danh sách chức năng cho Người dùng và Admin.

CƠ SỞ LÝ THUYẾT

PostgreSQL

Hệ quản trị cơ sở dữ liệu PostgreSQL là chương trình quản lý hệ thống cơ sở dữ liệu, cho phép lưu trữ thông tin một cách rõ ràng và có tổ chức Nó cung cấp khả năng truy cập dữ liệu nhanh chóng và thuận lợi Với sự hỗ trợ cho nhiều ngôn ngữ lập trình, PostgreSQL trở thành một trong những hệ quản trị cơ sở dữ liệu nguồn mở phổ biến nhất.

PostgreSQL là một cơ sở dữ liệu mạnh mẽ và ổn định, hoạt động hiệu quả trên nhiều hệ điều hành khác nhau Hệ quản trị cơ sở dữ liệu này cung cấp một loạt các hàm tiện ích phong phú và hoàn toàn miễn phí, cho phép người dùng dễ dàng tải về từ trang chủ Với nhiều phiên bản tương thích cho các hệ điều hành, PostgreSQL đáp ứng nhu cầu đa dạng của người dùng.

Chương 3: Cơ sở lý thuyết

● Hệ quản trị cơ sở dữ liệu PostgreSQL chính là một trong những phần mềm quản trị CSDL dạng server based, mạnh mẽ và linh hoạt

● PostgreSQL là phần mềm quản lý dữ liệu thông qua CSDL Và mỗi một CSDL đều có bảng quan hệ chứa dữ liệu riêng biệt

PostgreSQL cung cấp cơ chế quản lý người dùng độc lập, cho phép mỗi người dùng quản lý đồng thời nhiều cơ sở dữ liệu khác nhau Điều này giúp tăng cường khả năng sử dụng và linh hoạt trong việc quản lý dữ liệu cho từng người dùng.

Để truy cập và truy xuất dữ liệu từ cơ sở dữ liệu PostgreSQL, bạn cần cung cấp tên người dùng và mật khẩu có quyền truy cập vào cơ sở dữ liệu.

Spring Boot

Spring Boot là một dự án trong hệ sinh thái Spring Framework dành cho ngôn ngữ Java, giúp đơn giản hóa quá trình khởi động dự án bằng cách cung cấp tính năng tự động cấu hình Trước khi có Spring Boot, việc thiết lập một dự án Spring yêu cầu nhiều bước cấu hình phức tạp, nhưng với Spring Boot, lập trình viên có thể tập trung vào phát triển các tính năng kinh doanh của ứng dụng Một trong những tính năng cốt lõi của Spring là Dependency Injection, cho phép xây dựng các ứng dụng mô-đun với các thành phần được ghép nối lỏng lẻo, từ đó dễ dàng mở rộng hệ thống, rất phù hợp cho phát triển ứng dụng microservice.

Spring là một framework nổi bật cho ngôn ngữ Java, được ưa chuộng trên toàn cầu với một cộng đồng người dùng rộng lớn Hầu hết các vấn đề mà lập trình viên gặp phải khi sử dụng Spring đều có sẵn giải pháp trên các nền tảng hỗ trợ như StackOverflow và Medium.

Chương 3: Cơ sở lý thuyết

● Cung cấp khả năng tự động cấu hình giúp triển khai hệ thống nhanh chóng

● Cốt lõi của spring là Dependency Injection (DI) giúp cho hệ thống dễ dàng mở rộng, lý tưởng cho phát triển ứng dụng microservice

NextJS - JavaScript Framework phía máy khách

NextJS là một framework JavaScript dựa trên React, cho phép phát triển ứng dụng web động với hiệu suất cao và tối ưu hóa SEO Nó giúp lập trình viên tiết kiệm thời gian bằng cách giảm thiểu cấu hình như webpack, babel và routing, cho phép tập trung vào giao diện và logic ứng dụng NextJS hỗ trợ các tính năng quan trọng như server-side rendering, static site generation, code splitting và tối ưu hóa hình ảnh, giúp ứng dụng web nhanh chóng, an toàn và dễ quản lý.

Hình 2 Framework NextJS Ưu điểm của NextJS:

● Next JS là framework cho JavaScript, một trong những ngôn ngữ lập trình phổ biến nhất thế giới, với cộng đồng lớn và nhiều tài nguyên học tập

● Cung cấp khả năng tự động cấu hình, giúp tiết kiệm thời gian và công sức cho việc thiết lập môi trường phát triển

NextJS offers advanced features such as server-side rendering, static site generation, code splitting, and image optimization These capabilities enhance web application performance by increasing page load speed, improving SEO potential, reducing JavaScript file size, and optimizing image display.

Chương 3: Cơ sở lý thuyết

Redux

Redux là thư viện JavaScript giúp quản lý trạng thái ứng dụng hiệu quả Dựa trên kiến trúc Flux do Facebook phát triển, Redux thường được kết hợp hoàn hảo với React, bao gồm cả React Js và React Native.

Tailwind CSS

Tailwind CSS is a utility-first CSS framework similar to Bootstrap, offering a variety of built-in classes It includes numerous classes that encompass different and essential CSS properties, allowing for easy extension and creation of new classes using its existing ones.

Trước đây, khi sử dụng Bootstrap Framework, các thành phần trên website thường có cấu trúc chung, khiến cho các website sử dụng Bootstrap trông khá giống nhau Để tùy biến giao diện theo ý muốn, người dùng phải đầu tư nhiều thời gian và kết hợp với CSS thuần để tạo ra thiết kế độc đáo cho website.

Khi sử dụng Tailwind, bạn có thể tận dụng hệ thống các class để thực hiện các nhiệm vụ nhỏ khác nhau, từ đó tự do kết hợp chúng nhằm tạo ra giao diện theo ý muốn.

Chương 3: Cơ sở lý thuyết của mình Thay vì tự tạo style trên file CSS, giờ đây, với Tailwind ta chỉ cần khai báo class là sẽ có ngay kết quả mà gần như không cần phải ra khỏi file html của mình.

Stripe

Stripe là nền tảng xử lý thanh toán trực tuyến phổ biến, đặc biệt trong ứng dụng web và di động Nó cung cấp bộ API mạnh mẽ, giúp doanh nghiệp dễ dàng tích hợp chức năng thanh toán an toàn Với Stripe, doanh nghiệp có thể chấp nhận thẻ tín dụng, ví điện tử và nhiều phương thức thanh toán khác từ toàn cầu.

Stripe hỗ trợ tích hợp thanh toán dễ dàng với các thư viện và SDK cho nhiều ngôn ngữ lập trình và framework như JavaScript, Ruby, Python, PHP, và Java, giúp quá trình tích hợp vào ứng dụng trở nên nhanh chóng và thuận tiện.

Stripe đảm bảo bảo mật tối ưu với việc tuân thủ các tiêu chuẩn cao nhất trong ngành thanh toán, bao gồm PCI DSS Level 1, nhằm bảo vệ an toàn thông tin thanh toán của khách hàng.

Stripe cung cấp nhiều tính năng phong phú như thanh toán một lần, thanh toán định kỳ, quản lý đăng ký và các giải pháp chống gian lận, giúp doanh nghiệp tối ưu hóa quy trình thanh toán hiệu quả.

PayPal

PayPal là dịch vụ thanh toán trực tuyến hàng đầu của Mỹ, cho phép các trang thương mại điện tử thực hiện giao dịch nhận và gửi tiền trên internet Với nền tảng thanh toán toàn cầu, PayPal cung cấp SDK cho việc tích hợp trên các thiết bị Android và iOS Ngoài ra, PayPal còn hỗ trợ API, cho phép lập trình viên sử dụng với nhiều ngôn ngữ như PHP, Python, Java, và Node.js thông qua PayPal REST API.

Chương 3: Cơ sở lý thuyết

Trong chương này, nhóm đã trình bày các công nghệ và framework được áp dụng trong dự án, bao gồm NextJS, Tailwind CSS, Redux, Spring Boot, PostgreSQL, Stripe và PayPal Phía client sử dụng NextJS, Tailwind CSS và Redux để tạo ra giao diện đẹp mắt và quản lý trạng thái hiệu quả, trong khi phía server sử dụng Spring Boot và PostgreSQL để xây dựng các API hiệu suất cao Các giải pháp thanh toán trực tuyến từ Stripe và PayPal cung cấp sự tin cậy và dễ dàng tích hợp Sự kết hợp này tạo nên một hệ thống web hiện đại, hiệu năng cao và mang đến trải nghiệm liền mạch cho người dùng.

PHÂN TÍCH VÀ MÔ HÌNH HÓA YÊU CẦU

Lược đồ chức năng hệ thống

Đặc tả Usecase

Description Người dùng đăng ký tài khoản sử dụng cho sàn đấu giá Sneakery

Post-Condition Người dùng tạo tài khoản thành công và đăng nhập vào website

Chương 4: Phân tích và mô hình hóa yêu cầu

1 Người dùng click vào nút Đăng ký tại trang chủ

2 Hệ thống hiển thị giao diện Đăng ký tài khoản

3 Người dùng điền tên, số điện thoại, email, mật khẩu, xác nhận mật khẩu và nhấn Đăng ký [E1], [E2]

4 Hệ thống hiện checkbox reCAPTCHA

5 Người dùng nhấn vào checkbox

6 Hệ thống hiển thị giao diện xác nhận OTP

7 Người dùng nhập mã OTP đã được gửi qua số điện thoai

8 Hiển thị thông báo đăng ký thành công Alternative flow

E1 Nhập thông tin sai định dạng E1.1 Hệ thống thông báo cập nhật lại thông tin E1.2 Tiếp tục với bước 3 của main flow

E2 Email / Số điện thoại đã tồn tại E2.1 Hệ thống thông báo thông tin đăng ký đã tồn tại E2.2 Tiếp tục với bước 3 của main flow

Bảng 4 Usecase Đăng ký 4.2.2 Usecase Đăng nhập

Description Người dùng đăng nhập vào website với tài khoản đã đăng ký Actor Người dùng, Admin

Pre-Condition Tài khoản người dùng được tạo sẵn

Post-Condition Đăng nhập thành công

Giao diện sẽ quay lại trang chủ với tài khoản đã được đăng nhập

1 Người dùng click vào nút Đăng nhập tại trang chủ

2 Hệ thống hiển thị giao diện Đăng nhập

3 Người dùng nhập Email, mật khẩu và nhấn Đăng nhập [E1]

Chương 4: Phân tích và mô hình hóa yêu cầu

4 Hệ thống điều hướng đến trang chủ Alternative flow

E1 Thông tin đăng nhập sai E1.1 Hệ thống thông báo lỗi đăng nhập E1.2 Nhập lại thông tin đăng nhập

Bảng 5 Usecase Đăng nhập 4.2.3 Usecase Đăng xuất

Description Người dùng muốn đăng xuất website với tài khoản đã đăng nhập trước đó Actor Người dùng, Admin

Pre-Condition Người dùng đang đăng nhập vào hệ thống

Post-Condition Hệ thống ghi nhận người dùng đăng xuất khỏi hệ thống thành công

1 Người dùng nhấn vào avatar người dùng

2 Nhấn vào nút Đăng xuất

3 Hệ thống hiển thị giao diện xác nhận đăng xuất

4 Người dùng nhấn xác nhận

5 Hệ thống điều hướng về trang chủ Alternative flow

Description Người dùng không nhớ mật khẩu của tài khoản và thực hiện thay đổi mật khẩu để sử dụng mật khẩu mới cho việc đăng nhập

Chương 4: Phân tích và mô hình hóa yêu cầu

Để thay đổi mật khẩu, người dùng cần có tài khoản đã được tạo sẵn và phải đảm bảo rằng họ đã đăng xuất khỏi hệ thống hoặc phiên đăng nhập đã hết hạn Sau khi thực hiện các bước cần thiết, thông báo sẽ hiển thị rằng việc thay đổi mật khẩu đã thành công.

1 Người dùng click vào nút Đăng nhập

2 Hệ thống hiển thị giao diện Đăng nhập

3 Người dùng chọn Quên mật khẩu trên màn hình Đăng nhập

4 Người dùng nhập số điện thoại đã đăng ký và bấm xác nhận [E1]

5 Người dùng truy cập tin nhắn trên điện thoại và nhập mã OTP được gửi qua tin nhắn [E2]

6 Người dùng nhập mật khẩu mới

7 Hệ thống thông báo đặt lại mật khẩu thành công Alternative flow

E1 Số điện thoại không hợp lệ E1.1 Hệ thống thông báo Số điện thoại vừa nhập không hợp lệ E1.2 Tiếp tục với bước 4 của main flow

E2 Người dùng nhập mã xác nhận không khớp E1.1 Hệ thống thông báo mã xác nhận không chính xác E1.2 Tiếp tục với bước 5 của main flow

Bảng 7 Usecase Quên mật khẩu

4.2.5 Usecase Xem thông tin tài khoản

Name Xem thông tin tài khoản

Description Người dùng xem thông tin tài khoản Sneakery của bản thân

Pre-Condition Người dùng đã đăng nhập vào hệ thống

Post-Condition Hiển thị thông tin tài khoản: Email, Tên người dùng và Số điện thoại Main flow 1 Người dùng nhấn vào avatar người dùng ở góc phải màn hình

2 Người dùng nhấn vào tab Thông tin tài khoản

Chương 4: Phân tích và mô hình hóa yêu cầu

3 Hệ thống hiển thị giao diện Quản lý thông tin tài khoản Alternative flow

Bảng 8 Usecase Xem thông tin tài khoản

Description Người dùng đăng tải thông tin của sản phẩm lên sàn đấu giá

Pre-Condition Người dùng đã đăng nhập vào Website

Post-Condition Hiển thị sang màn hình Tạo thông tin đấu giá

1 Người dùng click vào nút Đăng sản phẩm tại trang chủ

2 Hệ thống hiển thị giao diện Chọn danh mục sản phẩm

3 Người dùng chọn danh mục và bấm xác nhận [A1]

4 Hệ thống hiển thị giao diện Nhập thông tin sản phẩm [A2]

5 Người dùng nhập tên, thuộc tính và điền mô tả của sản phẩm

6 Người dùng bấm mũi tên để qua giao diện Tạo thông tin đấu giá

7 Hệ thống hiển thị giao diện Tạo thông tin đấu giá

A1.1 Người dùng bấm nút đóng hoặc dấu X để hủy đăng sản phẩm

A2 Thay đổi danh mục sản phẩm A2.1 Người dùng bấm icon Tag tại góc phải A2.2 Tiếp tục với bước 2 của main flow Exception flow

Bảng 9 Usecase Đăng sản phẩm

Chương 4: Phân tích và mô hình hóa yêu cầu

4.2.7 Usecase Tạo thông tin đấu giá

Name Tạo thông tin đấu giá

Description Người dùng tạo thông tin đấu giá cho sản phẩm được đăng

Pre-Condition Người dùng đã nhập thông tin sản phẩm cần đăng

Người dùng ở tại giao diện Tạo thông tin đấu giá Post-Condition Hiển thị giao diện Thanh toán phí đăng sản phẩm

1 Người dùng nhập các trường bắt buộc: giá khởi điểm, bước giá và chọn thời điểm kết thúc đấu giá [E1]

2 Người dùng nhập các trường tùy chọn: chặn bid snipping và đặt ngưỡng giá tối thiểu

3 Người dùng nhấn mũi tên để qua giao diện Chọn hình ảnh sản phẩm

4 Hệ thống hiển thị giao diện Chọn hình ảnh

5 Người dùng đăng tải ảnh thumbnail

6 Người dùng đăng các ảnh khác cho sản phẩm [E2]

7 Người dùng bấm mũi tên để qua giao diện Thanh toán phí đăng sản phẩm

8 Hệ thống hiển thị giao diện Thanh toán phí đăng sản phẩm Alternative flow

E1 Thời điểm kết thúc đấu giá trước thời điểm hiện tại

E1.1 Thông báo thời điểm kết thúc đấu giá phải diễn ra sau thời điểm hiện tại

E1.2 Tiếp tục với bước 2 của main flow E2 Kích thước ảnh quá lớn

E2.1 Hệ thống báo lỗi đăng ảnh không thành công và yêu cầu người dùng thử lại

E2.2 Tiếp tục với bước 6 của main flow Bảng 10 Usecase Tạo thông tin đấu giá

Chương 4: Phân tích và mô hình hóa yêu cầu

4.2.8 Usecase Thanh toán phí đăng sản phẩm

Name Thanh toán phí đăng sản phẩm

Description Người dùng thanh toán phí đăng cho sản phẩm

Pre-Condition Người dùng đăng sản phẩm và tạo thông tin đấu giá cho sản phẩm Post-Condition Thanh toán sản phẩm thành công

Sản phẩm xuất hiện trên sàn đấu giá

1 Người dùng đang ở giao diện Thanh toán phí đăng sản phẩm

2 Người dùng chọn phương thức Thanh toán qua PayPal [A1]

3 Người dùng nhấn nút Thanh toán

4 Hệ thống điều hướng đến giao diện đăng nhập của PayPal

5 Người dùng nhập tài khoản và mật khẩu PayPal và nhấn Log in

6 Hệ thống hiển thị giao diện xác nhận thanh toán

7 Người dùng xác nhận qua việc nhấn Continue to Review Order

8 Hệ thống điều hướng về Sneakery và thông báo thanh toán thành công

A1 Thanh toán qua thẻ ngân hàng A1.1 Người dùng chọn Thanh toán qua Visa, Mastercard,… A1.2 Người dùng nhấn nút Thanh toán

A1.3 Hệ thống điều hướng đến giao diện thanh toán Stripe A1.4 Người dùng nhập số thẻ, ngày hết hạn và số CVV A1.5 Người dùng nhấn thanh toán

A1.6 Hệ thống điều hướng về Sneakery và thông báo thanh toán thành công

Bảng 11 Usecase Thanh toán phí đăng sản phẩm

Chương 4: Phân tích và mô hình hóa yêu cầu

4.2.9 Usecase Tìm kiếm sản phẩm

Name Tìm kiếm sản phẩm

Description Người dùng thực hiện tìm kiếm sản phẩm mong muốn

Post-Condition Giao diện hiển thị danh sách sản phẩm thỏa chuỗi ký tự tìm kiếm

1 Người dùng nhấn vào Thanh tìm kiếm ở đầu trang

2 Người dùng nhập từ khóa sản phẩm muốn tìm kiếm

3 Hệ thống hiển thị danh sách sản phẩm thỏa mãn chuỗi ký tự tìm kiếm theo thời gian thực

4 Người dùng chọn xem thêm để mở rộng kết quả tìm kiếm Alternative flow

Bảng 12 Usecase Tìm kiếm sản phẩm theo từ khóa

4.2.10 Usecase Lọc sản phẩm theo đặc điểm

Name Lọc sản phẩm theo đặc điểm

Description Người dùng lọc sản phẩm theo tiêu chí mong muốn

Post-Condition Hiển thị danh sách sản phẩm phù hợp với các các tiêu chí đã chọn

1 Người dùng vào giao diện hiển thị danh sách sản phẩm

2 Người dùng click chọn các tiêu chí như theo danh mục, theo giá

3 Hệ thống hiển thị danh sách sản phẩm thỏa mãn các tiêu chí người dùng lựa chọn

Chương 4: Phân tích và mô hình hóa yêu cầu

Bảng 13 Usecase Lọc sản phẩm theo đặc điểm

Description Người dùng thực hiện ra giá trên sản phẩm họ muốn mua

Pre-Condition Người dùng đã đăng nhập vào Website

Post-Condition Người dùng đấu giá sản phẩm thành công

Hệ thống hiển thị lần ra giá trên Lịch sử đấu giá của sản phẩm

1 Người dùng truy cập vào trang Chi tiết sản phẩm

2 Người dùng nhấn nút Đấu giá ngay

3 Người dùng nhập mức ra giá mong muốn

4 Người dùng nhấn nút Xác nhận

5 Hệ thống kiểm tra lượt ra giá [E1] [E2]

6 Hệ thống so sánh lịch sử đấu giá và giá được nhập [A1] [A2] [A3]

7 Hệ thống hiển thị ra giá thành công [A4]

8 Hệ thống cập nhật lịch sử đấu giá

Sản phẩm chưa có người ra giá trước đây, với hệ thống cập nhật giá hiện tại là giá khởi điểm và người ra giá là người giữ giá Giá đặt hiện tại chưa phải là giá cao nhất trong lịch sử đấu giá, vì hệ thống chỉ cập nhật giá đặt vào Tuy nhiên, nếu giá đặt trở thành giá cao nhất trong lịch sử đấu giá, điều này sẽ được ghi nhận trong hệ thống.

A3.1 Hệ thống cập nhật giá hiện tại là giá cao nhất của người chơi trước (giá vừa đủ thắng)

Hệ thống cập nhật người ra giá sẽ giữ giá cho sản phẩm, trong khi người đăng có thể cài đặt chế độ chặn đấu giá phút chót Trước khi phiên đấu giá kết thúc 3 phút, nếu có sự xuất hiện của người ra giá mới, hệ thống sẽ tự động cập nhật thông tin để đảm bảo tính công bằng và minh bạch trong quá trình đấu giá.

1 lượt đấu giá, hệ thống kéo dài thời gian đấu giá thêm 1 phút nữa

Chương 4: Phân tích và mô hình hóa yêu cầu

A4.2 Hệ thống cập nhật thời gian kếu thúc đấu giá thêm 1 phút

E1 Lượt ra giá thấp hơn giá hiện tại

E1.1 Hệ thống hiển thị thông báo “Vui lòng nhập bid cao hơn mức bid hiện tại cộng với bước giá ”

E1.2 Tiếp tục với bước 3 của main flow E2 Người đăng thực hiện đấu giá

E2.1 Hệ thống thông báo lỗi “Người bán không được phép tham gia đấu giá”

4.2.12 Usecase Cập nhật địa chỉ

Name Cập nhật địa chỉ

Description Người dùng cập nhật địa chỉ nhận hàng

Pre-Condition Người dùng đã đăng nhập vào website

Post-Condition Cập nhật địa chỉ nhận hàng thành công

Main flow 1 Người dùng nhấn vào avatar người dùng ở góc trên bên phải

2 Nhấn vào tab Cài đặt địa chỉ

3 Người dùng chọn quận, phường và số nhà, tên đường

4 Người dùng bấm Xác nhận [A1]

5 Hệ thống thông báo cập nhật địa chỉ thành công Alternative flow A1 Hủy cập nhật địa chỉ

A1.1 Người dùng bấm nút Đóng để hủy cập nhật địa chỉ Exception flow

Bảng 15 Usecase Cập nhật địa chỉ

Chương 4: Phân tích và mô hình hóa yêu cầu

4.2.13 Usecase Xem sản phẩm đã đăng

Name Xem sản phẩm đã đăng

Description Người dùng xem các sản phẩm bản thân đăng trên sàn

Pre-Condition Người dùng đã đăng nhập vào hệ thống

Post-Condition Giao diện hiển thị danh sách sản phẩm được bản thân đăng

Main flow 1 Người dùng nhấn vào avatar người dùng ở góc phải màn hình

2 Người dùng chọn tab Sản phẩm đã đăng

2 Hệ thống hiển thị danh sách các sản phẩm được người dùng đăng kèm trạng thái đấu giá

Bảng 16 Usecase Xem sản phẩm đã đăng

4.2.14 Usecase Thanh toán phí giao dịch

Name Thanh toán phí giao dịch

Description Người đăng thanh toán phí giao dịch thành công cho mỗi sản phẩm có người chiến thắng

Người dùng ở tại giao diện xem Sản phẩm đã đăng Sản phẩm cần thanh toán phí đã kết thúc phiên đấu giá và xuất hiện người chiến thắng

Post-Condition Hệ thống hiển thị thanh toán phí giao dịch thành công

1 Người dùng chọn sản phẩm cần thanh toán

2 Người dùng chọn nút Thanh toán phí tại ô sản phẩm tương ứng

3 Hệ thống hiển thị giao dịch thanh toán sản phẩm

4 Người dùng chọn phương thức Thanh toán qua PayPal [A1]

5 Người dùng nhấn nút Thanh toán

Chương 4: Phân tích và mô hình hóa yêu cầu

6 Hệ thống điều hướng đến giao diện đăng nhập của PayPal

7 Người dùng nhập tài khoản và mật khẩu PayPal và nhấn Log in

8 Hệ thống hiển thị giao diện xác nhận thanh toán

9 Người dùng xác nhận qua việc nhấn Continue to Review Order

10 Hệ thống điều hướng về trang Sneakery

A1 Thanh toán qua thẻ ngân hàng A1.1 Người dùng chọn Thanh toán qua Visa, Mastercard,… A1.2 Người dùng nhấn nút Thanh toán

A1.3 Hệ thống điều hướng đến giao diện thanh toán Stripe A1.4 Người dùng nhập số thẻ, ngày hết hạn và số CVV A1.5 Người dùng nhấn thanh toán

A1.6 Hệ thống điều hướng về trang Sneakery Exception flow

Bảng 17 Usecase Thanh toán sản phẩm đã thắng

Description Người dùng thêm một bình luận mới đối với một sản phẩm

Pre-Condition Người dùng đã đăng nhập vào website

Post-Condition Bình luận người dùng được hiển thị tại giao diện Chi tiết sản phẩm

1 Người dùng vào trang Chi tiết sản phẩm

2 Người dùng nhập nội dung bình luận vào phần textbox “Nhập bình luận của bạn” dưới sản phẩm muốn thêm bình luận

3 Người dùng nhấn nút Đăng [A1]

Exception flow A1 Nội dung bình luận trống

A1.1 Hệ thống ẩn nút đăng bình luận

Chương 4: Phân tích và mô hình hóa yêu cầu

4.2.16 Usecase Phản hồi bình luận

Name Phản hồi bình luận

Description Người dùng phản hồi một bình luận bất kì đã chọn

Pre-Condition Người dùng đã đăng nhập vào website

Tồn tại bình luận mà người dùng muốn phản hồi Post-Condition 1 Người dùng vào trang Chi tiết sản phẩm

2 Người dùng nhấn nút Trả lời dưới bình luận muốn phản hồi

3 Người dùng nhập nội dung muốn phản hồi vào phần textbox

“Nhập bình luận của bạn”

4 Người dùng nhấn nút Đăng Main flow

A1 Dừng phàn hổi bình luận A1.1 Người dùng nhấn nút Đóng hệ thống ẩn giao diện thêm bình luận phản hồi Exception flow

3.1 Nếu nội dung bình luận trống, hệ thống sẽ hiển thị “Không được để trống phần comment”

Bảng 19 Usecase Phản hồi bình luận

4.2.17 Usecase Đánh giá người đăng

Name Đánh giá người đăng

Description Người dùng chiến thắng phiên đấu giá để lại đánh giá về người đăng sản phẩm

Pre-Condition Người dùng đã đăng nhập vào website

Chương 4: Phân tích và mô hình hóa yêu cầu

Người dùng chiến thắng sản phẩm đấu giá Post-Condition Hiển thị đánh giá trên profile người đăng

1 Người dùng nhấn vào avatar người dùng ở góc phải màn hình

2 Người dùng chọn tab Sản phẩm đã thắng

3 Hệ thống hiển thị danh sách các sản phẩm người dùng đã thắng

4 Người dùng nhấn vào biểu tượng ngôi sao để tiến hành đánh giá [A1]

5 Người dùng chọn cảm xúc Hài lòng hoặc Không hài lòng và để lại đánh giá chi tiết

7 Hệ thống hiển thị đánh giá thành công Alternative flow

Bảng 20 Usecase Đánh giá người đăng

4.2.18 Usecase Xem thống kê doanh thu và sản phẩm

Name Xem thống kê doanh thu và sản phẩm

Description Admin muốn xem thống kê doanh thu và sản phẩm trên toàn hệ thống

Pre-Condition Admin đăng nhập vào admin site

Post-Condition Hệ thống hiển thị doanh thu và số lượng sản phẩm theo từng danh mục Main flow 1 Admin đang ở trang Tổng quan thông tin của sàn

2 Hệ thống hiển thị thống kê doanh thu của sàn và số lượng sản phẩm có trên sàn

Chương 4: Phân tích và mô hình hóa yêu cầu

Bảng 21 Usecase Thống kê doanh thu và sản phẩm

4.2.19 Usecase Khóa tài khoản người dùng

Name Khóa tài khoản người dùng

Description Admin muốn khóa tài khoản người dùng

Pre-Condition Admin đã đăng nhập vào admin site

Post-Condition Admin khóa tài khoản người dùng thành công

1 Admin chọn Quản lý người dùng

2 Hệ thống hiển thị danh sách người dùng cùng với trạng thái tài khoản người dùng

3 Admin chọn Hành động Vô hiệu hóa tài khoản Alternative flow

Bảng 22 Usecase Khóa tài khoản người dùng

4.2.20 Usecase Tạo danh mục mới

Name Tạo danh mục mới

Description Admin muốn tạo danh mục mới

Pre-Condition Admin đã đăng nhập vào admin site

Post-Condition Hệ thống hiển thị thông báo tạo danh mục thành công

1 Admin chọn mục Quản lý danh mục

2 Hệ thống hiển thị danh sách các danh mục hiện có

3 Admin chọn Hành động Thêm danh mục

4 Admin nhập tên danh mục

5 Admin chọn biểu tượng + để thêm các trường danh mục

6 Admin nhập tên trường và kiểu dữ liệu

Chương 4: Phân tích và mô hình hóa yêu cầu

Alternative flow A1 Hủy thêm danh mục

A1.1 Người dùng chọn Đóng để hủy thêm danh mục Exception flow

Bảng 23 Usecase Tạo danh mục mới

Name Tạo danh mục mới

Description Admin muốn tạo danh mục mới

Pre-Condition Admin đã đăng nhập vào admin site

Post-Condition Hệ thống hiển thị xóa danh mục thành công

Main flow 1 Admin chọn mục Quản lý danh mục

2 Hệ thống hiển thị danh sách các danh mục hiện có

3 Admin chọn hành động Xóa danh mục [A1]

Alternative flow A1 Danh mục đã có sản phẩm

A1.1 Hệ thống thông báo lỗi không thể xóa do tồn tại sản phẩm thuộc danh mục

Bảng 24 Usecase Xóa danh mục

Chương 4: Phân tích và mô hình hóa yêu cầu

Lược đồ Lớp

Chương 4: Phân tích và mô hình hóa yêu cầu

Lược đồ Tuần tự (Sequence diagram)

Chương 4: Phân tích và mô hình hóa yêu cầu

Chương 4: Phân tích và mô hình hóa yêu cầu

Hình 8 Sequence Quên mật khẩu

Chương 4: Phân tích và mô hình hóa yêu cầu

Hình 9 Sequence Đăng sản phẩm

Chương 4: Phân tích và mô hình hóa yêu cầu

4.4.5 Sequence Tạo thông tin đấu giá

Hình 10 Sequence Tạo thông tin đấu giá

Chương 4: Phân tích và mô hình hóa yêu cầu

4.4.6 Sequence Thanh toán phí đăng sản phẩm

Hình 11 Sequence Thanh toán phí đăng sản phẩm

Chương 4: Phân tích và mô hình hóa yêu cầu

4.4.7 Sequence Tìm kiếm sản phẩm

Hình 12 Sequence Tìm kiếm sản phẩm

Chương 4: Phân tích và mô hình hóa yêu cầu

Chương 4: Phân tích và mô hình hóa yêu cầu

Chương 4: Phân tích và mô hình hóa yêu cầu

4.4.10 Sequence Đánh giá người đăng

Hình 15 Sequence Đánh giá người đăng ss

Chương 4: Phân tích và mô hình hóa yêu cầu

4.4.11 Sequence Tạo danh mục mới

Hình 16 Sequence Tạo danh mục mới

Chương 5: Thiết kế hệ thống

THIẾT KẾ HỆ THỐNG

Lược đồ Cơ sở dữ liệu

Hình 17 Lược đồ Cơ sở dữ liệu

Chương 5: Thiết kế hệ thống

5.1.2 Mô tả danh sách thực thể

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 username String Tên người dùng

5 phoneNumber String Số điện thoại

6 isActive Boolean Trạng thái kích hoạt của tài khoản

7 roles Array Vai trò người dùng

8 createdDate LocalDateTime Thời gian tạo mới

9 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 25 Mô tả thuộc tính bảng User 5.1.2.2 Table Role

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 name String Tên vai trò

3 createdDate LocalDateTime Thời gian tạo mới

4 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 26 Mô tả thuộc tính bảng Role 5.1.2.3 Table Address

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

3 cityCode Integer Mã thành phố

Chương 5: Thiết kế hệ thống

7 createdDate LocalDateTime Thời gian tạo mới

8 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 27 Mô tả thuộc tính bảng Address 5.1.2.4 Table Category

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 name String Tên danh mục

3 property Map Thuộc tính của danh mục

4 products Array Sản phẩm thuộc danh mục

5 createdDate LocalDateTime Thời gian tạo mới

6 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 28 Mô tả thuộc tính bảng Category 5.1.2.5 Table Product

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 name String Tên sản phẩm

4 properties Map Thuộc tính sản phẩm

5 images Array< Object > Hình ảnh sản phẩm

6 description String Mô tả sản phẩm

9 createdDate LocalDateTime Thời gian tạo mới

10 lastModifiedDate LocalDateTime Thời gian cập nhật

Chương 5: Thiết kế hệ thống

Bảng 29 Mô tả thuộc tính bảng Product 5.1.2.6 Table Bid

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 closingDateTime LocalDateTime Thời gian kết thúc đấu giá

3 priceStart Long Giá khởi điểm

6 holder Object Người giữ đấu giá

7 reservePrice Long Ngưỡng giá tối thiểu

8 isBidSnipping Boolean Có sử dụng Bid Snipping hay không

9 numberOfBids Integer Số lượng đấu giá

10 bidOutcome Enum Kết quả đấu giá

11 sellerPaymentStatus Enum Trạng thái thanh toán của người bán

12 winnerPaymentStatus Enum Trạng thái thanh toán của người thắng

14 bidHistories Array Lịch sử đấu giá

15 transactions Array Các giao dịch

16 createdDate LocalDateTime Thời gian tạo mới

17 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 30 Mô tả thuộc tính bảng Bid 5.1.2.7 Table BidHistory

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 maxPrice Long Giá tối đa

Chương 5: Thiết kế hệ thống

3 actualPrice Long Giá thực tế

4 status Enum Trạng thái đấu giá

5 bid Array Đấu giá

6 user Object Người dùng liên kết

7 createdDate LocalDateTime Thời gian tạo mới

8 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 31 Mô tả thuộc tính bảng BidHistory 5.1.2.8 Table Media

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

3 isThumbnail Boolean Có phải ảnh đại diện hay không

4 createdDate LocalDateTime Thời gian tạo mới

5 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 32 Mô tả thuộc tính bảng Media 5.1.2.9 Table Transaction

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

3 type Enum Loại thanh toán

6 createdDate LocalDateTime Thời gian tạo mới

7 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 33 Mô tả thuộc tính bảng Transaction

Chương 5: Thiết kế hệ thống

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

2 commentText String Nội dung bình luận

5 parentComment Object Bình luận cha

6 replies Array Các phản hồi

7 createdDate LocalDateTime Thời gian tạo mới

8 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 34 Mô tả thuộc tính bảng Comment 5.1.2.11 Table Feedback

STT Thuộc tính Kiểu dữ liệu Ý nghĩa

3 feedbackText String Nội dung phản hồi

6 winner Object Người thắng đấu giá

7 createdDate LocalDateTime Thời gian tạo mới

8 lastModifiedDate LocalDateTime Thời gian cập nhật

Bảng 35.Mô tả thuộc tính bảng Feedback

Chương 5: Thiết kế hệ thống

Thiết kế giao diện

Hình 21 Giao diện Đăng ký

STT Đối tượng Định dạng Ý nghĩa

1 Khung nhập Tên đầy đủ Input Nơi nhập tên người dùng

2 Khung nhập số điện thoại

Input Nơi nhập số điện thoại người dùng

3 Khung nhập Email Input Nơi nhập email người dùng

4 Khung nhập Mật khẩu Input Nơi nhập mật khẩu người dùng

5 Khung nhập Xác nhận mật khẩu

Input Nơi người dùng nhập lại mật khẩu

6 Nút nhấn Đăng ký Button Đăng ký vào hệ thống

7 Nút nhấn Thoát Button Thoát khỏi giao diện Đăng ký

Chương 5: Thiết kế hệ thống

Bảng 36 Mô tả giao diện Đăng ký 5.2.2 Giao diện Đăng nhập

Hình 22 Giao diện Đăng nhập

Bảng 37 Mô tả giao diện Đăng nhập

5.2.3 Giao diện quên mật khẩu

STT Đối tượng Định dạng Ý nghĩa

1 Khung nhập Email Input Nơi nhập email người dùng

2 Khung nhập Mật khẩu Input Nơi nhập mật khẩu người dùng

3 Nút nhấn Đăng nhập Button Đăng nhập người dùng vào hệ thống

4 Nút nhấn Thoát Button Thoát khỏi giao diện Đăng nhập

Chương 5: Thiết kế hệ thống

Hình 23 Giao diện Đăng nhập

Bảng 38 Mô tả giao diện Quên mật khẩu

STT Đối tượng Định dạng Ý nghĩa

1 Khung nhập số điện thoại

Input Nơi nhập số điện thoại người dùng

2 Nút nhấn Xác nhận Button Xác nhận quên mật khẩu

4 Nút nhấn Thoát Button Thoát khỏi giao diện quên mật khẩu

Chương 5: Thiết kế hệ thống

Hình 24 Giao diện Trang chủ

Bảng 39 Mô tả giao diện Trang chủ

STT Đối tượng Định dạng Ý nghĩa

1 Logo Sneakery Icon Điều hướng đến trang chủ

2 Khung tìm kiếm Input Tìm kiếm sản phẩm

3 Danh mục sản phẩm Button Hiển thị các danh mục sản phẩm

4 Nút nhất Đăng ký Button Hiển thị giao diện Đăng ký

5 Nút nhấn Đăng nhập Button Hiển thị giao diện Đăng nhập

6 Nút nhấn mua ngay Button Vào trang danh sách sản phẩm

7 Nút nhấn đăng sản phẩm Button Vào giao diện đăng sản phẩm

Chương 5: Thiết kế hệ thống

5.2.5 Giao diện Danh sách sản phẩm và Lọc sản phẩm

Hình 25 Giao diện trang Danh sách sản phẩm và Lọc sản phẩm

Bảng 40 Mô tả giao diện Danh sách sản phẩm và Lọc sản phẩm

STT Đối tượng Định dạng Ý nghĩa

1 Lọc sản phẩm theo danh mục

Lọc ra sản phẩm theo danh mục cho trước

2 Lọc sản phẩm theo giá Slider Lọc ra sản phẩm nằm trong phạm vi giá

3 Phân trang Button Chọn trang hiển thị sản phẩm

Sắp xếp sản phẩm theo các tiêu chí: Giá cao đến thấp, Giá thấp đến cao, Mới nhất, Bảng chữ cái

5 Danh sách sản phẩm Product

Hiển thị các sản phẩm thỏa tiêu chí khi Lọc

Chương 5: Thiết kế hệ thống

5.2.6 Giao diện Chi tiết sản phẩm

Hình 26 Giao diện Chi tiết sản phẩm

Chương 5: Thiết kế hệ thống

STT Đối tượng Định dạng Ý nghĩa

1 Ảnh sản phẩm Carousel Carousel hiển thị ảnh của sản phẩm được chọn

2 Các ảnh khác của sản phẩm

Button Chọn ảnh để hiển thị trên carousel

3 Thông tin đấu giá của sản phẩm

Text Các thông tin của phiên đấu giá như tên sản phẩm, giá khởi điểm, bước giá

4 Nút đấu giá ngay Button Mở ra giao diện để người dùng nhập mức ra giá mong muốn

5 Các hình thức thanh toán

Image Mô tả các hình thức thanh toán của sản phẩm

6 Các lượt đấu giá gần đây

Text Liệt kê các lượt ra giá gần nhất cho sản phẩm

7 Xem thêm lượt đấu giá Button Hiển thị đầy đủ các lượt đấu giá của sản phẩm

8 Các thông tin khác Text Các thông tin đặc trưng của sản phẩm

9 Mô tả Text Mô tả của sản phẩm ( Nếu có )

10 Bình luận về sản phẩm Text Mục bình luận về sản phẩm

11 Thông tin về bình luận Text Thông tin về ngày bình luận và nội dung bình luận

12 Hành động về bình luận Button Sửa, xóa bình luận

13 Khung nhập bình luận mới

Text Input Cho phép người dùng nhập bình luận mới

14 Nút đăng bình luận Button Đăng bình luận đã nhập

15 Section sản phẩm tương tự

Text Section liệt kê các sản phẩm tương tự

16 Sản phẩm tương tự Card Thông tin về một sản phẩm tương tự

Chương 5: Thiết kế hệ thống

Bảng 41 Mô tả giao diện Chi tiết sản phẩm

5.2.8 Giao diện Đăng sản phẩm

Chương 5: Thiết kế hệ thống

Hình 27 Giao diện Đăng sản phẩm

STT Đối tượng Định dạng Ý nghĩa

1 Nút thanh đổi danh mục Button Cho phép người dùng thay đổi danh mục của sản phẩm

2 Khung nhập tên sản phẩm

Input Nơi nhập tên của sản phẩm

3 Khung nhập, chọn các thuộc tính cho sản phẩm

Dropdown Select, Input, Radio Button

Nơi chọn hoặc nhập các thuộc tính của sản phẩm

4 Khung nhập mô tả của sản phẩm

Input Nơi nhập mô tả về sản phẩm

5 Nút sang bước kế tiếp Button Sang bước kế tiếp của quá trình đăng sản phẩm

Chương 5: Thiết kế hệ thống

6 Khung nhập giá khởi điểm

Input Nơi nhập giá khởi điểm cho sản phẩm

7 Khung nhập ngày kết thúc đấu giá

Date picker Nơi nhập chọn thời điểm kết thúc phiên đấu giá

Input Nơi nhập reserve price mà người đăng mong muốn

9 Khung nhập bước giá Input Nơi nhập bước giá của sản phẩm

10 Nút bật / tắt chặn bid sniping

Radio button Nơi người đăng có thể chọn bật/tăt tính năng chặn bid sniping

11 Nút quay lại bước trước Button Quay lại bước trước đó

12 Nút đến bước tiếp theo Button Sang bước kế tiếp của quá trình đăng sản phẩm

13 Khung chọn thumbnail cho sản phẩm

Image picker Cho phép người dùng chọn thumbnail cho sản phẩm từ máy tính của họ

14 Khung chọn các ảnh khác cho sản phẩm

Cho phép người dùng chọn các ảnh khác cho sản phẩm từ máy tính của họ

15 Nút quay lại bước trước Button Quay lại bước trước đó

16 Nút đến bước tiếp theo Button Sang bước kế tiếp của quá trình đăng sản phẩm

17 Nút cập nhật Button Nút cập nhật địa chỉ giao hàng

18 Nút chọn phương thức thanh toán là Paypal

Button Chọn Paypal làm phương thức thanh toán cho phí đăng sản phẩm

19 Nút chọn phương thức thanh toán là Stripe

Button Chọn Stripe làm phương thức thanh toán cho phí đăng sản phẩm

20 Nút “Quay lại” Button Quay lại bước trước

21 Nút “Thanh toán” Button Bắt đầu thanh toán phí đăng sản phẩm

22 Thông tin thanh toán Text Mô tả thông tin sản phẩm cần thanh toán phí đăng

Chương 5: Thiết kế hệ thống

Bảng 42 Mô tả giao diện Đăng sản phẩm (Tiếp theo)

5.2.9 Giao diện Bình luận sản phẩm

Hình 28 Giao diện Bình luận sản phẩm

Bảng 43 Mô tả giao diện Bình luận sản phẩm

STT Đối tượng Định dạng Ý nghĩa

1 Nội dung bình luận Text Thể hiện người bình luận, ngày giờ bình luận và nội dung của bình luận

2 Các hành động trên bình luận

Các button Các nút cho phép người dùng có thể trả lời, xóa bình luận hoặc sửa bình luận

3 Khung nhập bình luận mới

Text Input Cho phép người dùng nhập bình luận mới

Nút đăng bình luận mới

Button Nút đăng bình luận mới

Chương 5: Thiết kế hệ thống

5.2.10 Giao diện Sản phẩm tương tự

Hình 39 Giao diện Sản phẩm tương tự

Bảng 44 Mô tả giao diện Sản phẩm tương tự

STT Đối tượng Định dạng Ý nghĩa

1 Nút sang trang trước Button Quay lại trang trước của các sản phẩm tương tự

2 Ảnh thumbnail của sản phẩm

Image Thể hiện hình ảnh thumbnail của sản phẩm

3 Thông tin của sản phẩm

Text Thể hiện các thông tin bao gồm tên, số lượt đấu giá và giá hiện tại của sản phẩm

4 Nút sang trang sau Button Sang trang tiếp theo của các sản phẩm tương tự

Chương 5: Thiết kế hệ thống

5.2.11 Giao diện Lịch sử đấu giá của sản phẩm

Hình 30 Giao diện Lịch sử đấu giá của sản phẩm

Chương 5: Thiết kế hệ thống

Bảng 45 Mô tả giao diện Lịch sử đấu giá của sản phẩm

STT Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện lịch sử đấu giá của sản phẩm

2 Tên người ra lượt đấu giá

Text Thể hiện tên người ra lượt đấu giá

3 Mức ra giá Text Thể hiện mức ra giá của người ra lượt đấu giá

4 Ngày ra giá Text Thể hiện ngày ra lượt đấu giá của người ra

5 Trạng thái Text Thể hiện trạng thái của lượt ra giá (

Thành công hoặc thất bại )

Chương 5: Thiết kế hệ thống

5.2.12 Giao diện Sản phẩm đã thắng

Hình 31 Giao diện Sản phẩm đã thắng

Chương 5: Thiết kế hệ thống

Bảng 46 Mô tả giao diện Lịch sử đấu giá của sản phẩm

STT Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện sản phẩm bạn đã thắng

2 Tên sản phẩm Text Thể hiện tên của sản phẩm

3 Thời điểm kết thúc phiên đấu giá

Text Thể hiện ngày, tháng, thời gian phiên đấu giá kết thúc

4 Giá khởi điểm Text Thể hiện giá khởi điểm của sản phẩm do người đăng đặt ra

5 Giá chiến thắng Text Thể hiện giá chiến thắng cuối cùng của phiên đấu giá

6 Thông báo bước tiếp theo

Text Thông báo bước tiếp theo rằng người đăng sẽ liên hệ trực tiếp để hoàn tất giao dịch

7 Nút đánh giá sản phẩm

Button Mở ra giao diện đánh giá điểm cho sản phẩm kèm với nội dung đánh giá

Chương 5: Thiết kế hệ thống

5.2.13 Giao diện Quản lý thông tin tài khoản

Hình 32 Giao diện Quản lý thông tin tài khoản

Bảng 47 Mô tả giao diện Xem thông tin tài khoản

STT Đối tượng Định dạng Ý nghĩa

1 Tên của bạn Input Xem tên của tài khoản

2 Email Input Xem email của tài khoản

3 Số điện thoại Input Xem thông tin số điện thoại của bạn

3 Đóng Button Nút đóng giao diện

Chương 5: Thiết kế hệ thống

5.2.14 Giao diện Quản lý địa chỉ

Hình 33 Giao diện Quản lý địa chỉ

STT Đối tượng Định dạng Ý nghĩa

Chọn quận của người dùng

Chọn phường của người dùng

3 Số nhà, tên đường Input Nhập số nhà, tên đường của người dùng

4 Nút đóng Button Đóng giao diện quản lý địa chỉ

5 Nút xác nhận Button Xác nhận cập nhật thông tin địa chỉ của người dùng

Chương 5: Thiết kế hệ thống

Bảng 48 Mô tả giao diện Quản lý địa chỉ

5.2.15 Giao diện Lịch sử đấu giá của bạn

Chương 5: Thiết kế hệ thống

Hình 34 Giao diện Lịch sử đấu giá của bạn

Bảng 49 Mô tả giao diện Lịch sử đấu giá của bạn

STT Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện lịch sử đấu giá của bạn

2 Tên sản phẩm Text Tên sản phẩm mà bạn đã đấu giá

3 Mức đặt Text Mức đặt mà bạn đã đưa ra

4 Thời điểm ra giá Text Thời điểm mà bạn đã ra mức đặt của mình cho sản phẩm

5 Trạng thái của lượt ra giá

Text Thể hiện sự thành công hay thất bại của lượt ra giá của bạn

Chương 5: Thiết kế hệ thống

5.2.16 Giao diện Sản phẩm đã đăng

Hình 35 Giao diện Sản phẩm đã đăng

Chương 5: Thiết kế hệ thống

Bảng 50 Mô tả giao diện Sản phẩm đã đăng

STT Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện sản phẩm người dùng đã đăng

2 Tên sản phẩm Text Tên sản phẩm mà người dùng đã đăng

3 Thời điểm kết thúc phiên

Text Thời điểm kết thúc phiên đấu giá mà người đăng đã chọn

4 Trạng thái phiên đấu giá

Text Trạng thái hiện tại của phiên đấu giá, đã kết thúc hay chưa, có hay không có người chiến thắng,

Text Trạng thái thanh toán phí đấu giá sau khi phiên kết thúc

6 Nút thanh toán phí đấu giá

Button Mở ra giao diện để người đăng có thể thanh toán phí đấu giá

Chương 5: Thiết kế hệ thống

5.2.17 Giao diện Đánh giá người bán

Hình 36 Giao diện Đánh giá người bán

STT Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện đánh giá người bán

2 Nút chọn hài lòng Button Chọn trạng thái hài lòng về sản phẩm

3 Nút chọn không hài lòng

Button Chọn trạng thái không hài lòng về sản phẩm

4 Khun đánh giá chi tiết

Text Input Nhập thêm đánh giá chi tiết về sản phẩm

5 Nút hủy bỏ Button Đóng giao diện, hủy bỏ hành động đánh giá

6 Nút xác nhận Button Xác nhận đánh giá và gửi đánh giá đi

Chương 5: Thiết kế hệ thống

Bảng 51 Mô tả giao diện Đánh giá người bán 5.2.18 Giao diện Modal Đăng xuất

Hình 37 Giao diện Đăng xuất

Bảng 52 Mô tả giao diện Đăng xuất

5.2.19 Giao diện Tổng quan thông tin (Admin)

STT Đối tượng Định dạng Ý nghĩa

1 Đóng Button Đóng giao diện đăng xuất

2 Xác nhận Button Đăng xuất người dùng ra khỏi hệ thống

Chương 5: Thiết kế hệ thống

Hình 38.Giao diện Tổng quan thông tin (Admin)

Chương 5: Thiết kế hệ thống

Bảng 53 Mô tả giao diện Tổng quan thông tin (Admin)

STT Đối tượng Định dạng Ý nghĩa

1 Admin Profile Button Hiện ra giao diện chức năng cho Admin

2 Tổng quan Button Navigate đến trang tổng quan thông tin trang web

3 Quản lý người dùng Button Navigate đến trang quản lý người dùng

4 Quản lý danh mục Button Navigate đến trang quản lý danh mục

5 Quản lý sản phẩm Button Navigate đến trang quản lý sản phẩm

6 Quản lý thanh toán Button Navigate đến trang quản lý thanh toán

7 Tổng lợi nhuận của sàn

Text Thể hiện tổng lợi nhuận của trang web

8 Lợi nhuận trung bình trên sản phẩm

Text Thể hiện lợi nhuận trung bình trên một sản phẩm của sàn

9 Lợi nhuận chiết khấu Text Thể hiện lợi nhuận từ phí chiết khấu sau khi sản phẩm có người chiến thắng

10 Lợi nhuận từ phí đăng

Text Thể hiện lợi nhuận từ phí đăng sản phẩm

11 Biểu đồ tỉ lệ doanh thu

Pie Chart Thể hiện tỉ lệ doanh thu từ việc thu phí chiết khấu và việc thu phí đăng sản phầm

12 Biểu đồ sản phẩm theo danh mục

Biểu đồ cột thể hiện số lượng sản phẩm theo từng danh mục đang có mặt trên sàn

Chương 5: Thiết kế hệ thống

5.2.20 Giao diện Quản lý danh mục (Admin)

Hình 39 Giao diện Quản lý danh mục(Admin)

Chương 5: Thiết kế hệ thống

Bảng 54 Mô tả giao diện Quản lý danh mục (Admin)

5.2.21 Giao diện Thêm danh mục (Admin)

T Đối tượng Định dạng Ý nghĩa

1 Admin Profile Button Hiện ra giao diện chức năng cho Admin

2 Nút thêm danh mục Button Mở ra giao diện thêm danh mục

3 Tổng quan Button Navigate đến trang tổng quan thông tin trang web

4 Quản lý người dùng Button Navigate đến trang quản lý người dùng

5 Quản lý danh mục Button Navigate đến trang quản lý danh mục

6 Quản lý sản phẩm Button Navigate đến trang quản lý sản phẩm

7 Quản lý thanh toán Button Navigate đến trang quản lý thanh toán

8 ID Text Thể hiện Id của danh mục trên hệ thống

9 Tên người dung Text Thể hiện tên danh mục trên hệ thống

10 Các trường Text Thể hiện các trường ( thuộc tính ) của danh mục

11 Hành động Button Mở ra giao diện các hành danh mục như xóa danh mục, chỉnh sửa danh mục

Chương 5: Thiết kế hệ thống

Hình 40 Giao diện Thêm danh mục (Admin)

Bảng 55 Mô tả giao diện Thêm danh mục (Admin)

5.2.22 Giao diện Quản lý các thuộc tính của danh mục (Admin)

T Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện thêm danh mục

2 Khung nhập tên danh mục

Input Cho phép nhập tên danh mục cần tạo

3 Tên trường Input Nhập tên trường ( thuộc tính ) của danh mục

Chọn kiểu dữ liệu cho trường ( thuộc tính ): Text, Number, Bolean

5 Hành động Button Cho phép xóa đi trường đã chọn trong danh mục

6 Nút thêm trường ( thuộc tính )

Button Thêm 1 trường, thuộc tính rỗng vào trong danh mục

7 Nút đóng giao diện Button Đóng giao diện thêm danh mục

8 Nút cập nhật Button Xác nhận cập nhật danh mục

Chương 5: Thiết kế hệ thống

T Đối tượng Định dạng Ý nghĩa

1 Nút đóng giao diện Button Đóng giao diện thêm danh mục

2 Khung nhập tên danh mục

Input Cho phép nhập tên danh mục cần tạo

3 Tên trường Input Nhập tên trường ( thuộc tính ) của danh mục

Chọn kiểu dữ liệu cho trường ( thuộc tính ):

Button Mở ra giao diện thêm các option cho trường ( không bắt buộc )

6 Hành động Button Cho phép xóa đi trường đã chọn trong danh mục

7 Nút thêm trường ( thuộc tính )

Button Thêm 1 trường, thuộc tính rỗng vào trong danh mục

8 Nút đóng giao diện Button Đóng giao diện thêm danh mục

9 Nút cập nhật Button Xác nhận cập nhật danh mục

Chương 5: Thiết kế hệ thống

Bảng 56 Mô tả giao diện quản lý thuộc tính của danh mục (Admin)

5.2.23 Giao diện Quản lý người dùng (Admin)

Hình 42.Giao diện Quản lý người dùng (Admin)

Chương 5: Thiết kế hệ thống

Bảng 57 Mô tả giao diện Quản lý người dùng (Admin)

T Đối tượng Định dạng Ý nghĩa

1 Admin Profile Button Hiện ra giao diện chức năng cho Admin

Button Chuyển qua trang dữ liệu khác của danh sách người dùng

3 Tổng quan Button Navigate đến trang tổng quan thông tin trang web

4 Quản lý người dùng Button Navigate đến trang quản lý người dùng

5 Quản lý danh mục Button Navigate đến trang quản lý danh mục

6 Quản lý sản phẩm Button Navigate đến trang quản lý sản phẩm

7 Quản lý thanh toán Button Navigate đến trang quản lý thanh toán

8 ID Text Thể hiện Id của người dung trên hệ thống

9 Tên người dung Text Thể hiện tên người dung trên hệ thống

10 Trạng thái Text Thể hiện trạng thái tài khoản của người dùng ( Đã bị khóa hoặc Đang hoạt động )

11 Hành động Button Mở ra giao diện các hành động trên người dung như kích hoạt tài khoản, khóa tài khoản,

Chương 5: Thiết kế hệ thống

5.2.21 Giao diện Quản lý sản phẩm (Admin)

Hình 43.Giao diện Quản lý sản phẩm (Admin)

Chương 5: Thiết kế hệ thống

Bảng 58 Mô tả giao diện Quản lý sản phẩm (Admin)

T Đối tượng Định dạng Ý nghĩa

1 Admin Profile Button Hiện ra giao diện chức năng cho Admin

2 Tổng quan Button Navigate đến trang tổng quan thông tin trang web

3 Quản lý người dùng Button Navigate đến trang quản lý người dùng

4 Quản lý danh mục Button Navigate đến trang quản lý danh mục

5 Quản lý sản phẩm Button Navigate đến trang quản lý sản phẩm

6 Quản lý thanh toán Button Navigate đến trang quản lý thanh toán

7 ID Text Thể hiện Id của người dung trên hệ thống

Button Chuyển qua trang dữ liệu khác của danh sách sản phẩm

9 Tên sản phẩm Text Thể hiện tên của sản phẩm trên hệ thống

10 Giá hiện tại Text Thể hiện giá hiện tại của sản phẩm trên phiên đấu giá

11 Hình ảnh Image Thể hiện thumbnail của sản phẩm

12 Người đang giữ giá Text Thể hiện người đang giữ giá trên phiên đấu giá của sản phẩm

13 Hành động Button Cho phép admin thực hiện các hành động trên sản phẩm

Chương 5: Thiết kế hệ thống

5.2.22 Giao diện Quản lý thanh toán(Admin)

Hình 44.Giao diện Quản lý thanh toán (Admin)

Chương 5: Thiết kế hệ thống

Bảng 59 Mô tả giao diện Quản lý thanh toán (Admin)

T Đối tượng Định dạng Ý nghĩa

1 Admin Profile Button Hiện ra giao diện chức năng cho Admin

2 Tổng quan Button Navigate đến trang tổng quan thông tin trang web

3 Quản lý người dùng Button Navigate đến trang quản lý người dùng

4 Quản lý danh mục Button Navigate đến trang quản lý danh mục

5 Quản lý sản phẩm Button Navigate đến trang quản lý sản phẩm

6 Quản lý thanh toán Button Navigate đến trang quản lý thanh toán

7 ID Text Thể hiện Id của lượt thanh toán trên hệ thống

8 Tên sản phẩm Button Thể hiện tên sản phẩm được thanh toán

Image Thể hiện thumbnail của sản phẩm được thanh toán

10 Số tiền thanh toán Text Thể hiện số tiền cho lượt thanh toán

11 Giá chiến thắng Text Thể hiện giá chiến thắng của sản phẩm trên phiên đấu giá

12 Người chiến thắng Text Thể hiện tên của người chiến thắng phiên đấu giá cho sản phẩm

13 Ngày chiến thắng Text Thể hiện thời điểm mà phiên đấu giá cho sản phẩm kết thúc và có người chiến thắng

Text Thể hiện trạng thái của lượt thanh toán phí đấu giá cho sản phẩm.

CÀI ĐẶT VÀ KIỂM THỬ

Hướng dẫn triển khai cài đặt hệ thống

- B1: Download source code FE và tiến hành giải nén folder code

- B2: Vào visual code và tiến hành mở folder vừa giải nén

- B3: Để chạy được code tiến hành cài đặt Node.js

- B4: Từ folder tiến hành mở command line từ folder đó

- B5: Khi mở cmd với folder tiến hành chạy lệnh: npm install

- B6: Chạy localhost bằng lệnh: npm run dev

- B1 Download IDE IntelliJ IDEA Ultimate Edition (Hệ điều hành Windows) theo đường dẫn: https://www.jetbrains.com/idea/download/download- thanks.html?platform=windows

- B2 Download JDK 8 theo đường dẫn (Hệ điều hành Windows) theo đường dẫn: https://www.oracle.com/java/technologies/javase/javase8-archive- downloads.html#license-lightbox

- B3 Giải nén file SneakeryAuction.zip và mở project trên IntelliJ IDEA, nhấn chọn "Trust Project"

B5 Chọn file pom.xml -> Bấm nút Download Plugins khi IntelliJ hiện thông báo -

B6 Nhấn chọn Enable Lombok processing khi IntelliJ hiện thông báo

B7 Mở CMD -> cd đến thư mục project hiện tại

B8 Tại CMD: Chạy lệnh mvn jasypt:decrypt -

To decrypt the encrypted properties in the application.properties file, use the command `Djasypt.encryptor.password=hungishere` for the attributes spring.datasource.password and spring.mail.password In the CMD, copy the decrypted content from the DEC() function for both spring.datasource.password and spring.mail.password attributes.

Chương 6: Cài đặt và kiểm thử

B10 Dán vào 2 thuộc tính trên tại file application.properties tại IDE

B11 Mở file SneakeryApplication.java -> Chạy (Shift + F10)

6.1.2.1 Triển khai giao diện Website đấu giá và Admin

Tên trang Web đấu giá được deploy: https://sneakery.vercel.app/

Tên Admin trang Web đấu giá được deploy: https://aunction-react-js.vercel.app/ B1 Tạo tài khoản trên vercel.com bằng account github

B2 Vào trang overview connect tài khoản với github

B3 Import Git Repository cần deploy

B4 Chọn branch để deploy app và kiểm soát CI/CD ( Khi commit và push code lên branch main thì vercel sẽ tự động deploy và cập nhật app )

B5 Bấm nút deploy để vercel tiến hành build và deploy

6.1.2.1 Triển khai BackEnd Host cloud

Website document API: https://sneakery-develop-

4ba9beca2712.herokuapp.com/swagger-ui.html#/

B1 Cung cấp họ và tên với Email để tạo tài khoản Heroku

B2 Vào Dashboard Heroku với tài khoản vừa tạo

B3 Bấm chọn New và chọn Create new app

B4 Điền tên app là sneakery và bấm Create app

B5 Bấm vào app vừa tạo, vào Overview bấm Configure App – on chọn App – on là DBClear

B6 Bấm vào tab deploy chọn deploy method là github

B7 Chọn tên người dùng và Repository theo đường dẫn sau: https://github.com/Chan-Hung/SneakeryAuction

B9 Muc Automatic deploys nhấn chọn Enable

B10 Sau mỗi lần commit, Heroku sẽ tự động Compile và Deploy lên app

Chương 6: Cài đặt và kiểm thử

Kiểm thử

6.2.1 Kiểm thử chức năng Đăng ký

Test Case ID: TCDK_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): High Test Designed date: 07/10/2023

Module Name: Đăng ký Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đăng ký với email không hợp lệ

Step Test Steps Test Data Excepted

1 Nhập username Username = “sieutran” Thông tin đã được nhập

Thông tin đã được nhập

6 Click Đăng ký Hiển thị lỗi:

Chương 6: Cài đặt và kiểm thử

Test Case ID: TCDK_002 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): High Test Designed date: 07/10/2023

Module Name: Đăng ký tài khoản Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đăng ký với email bị trùng lặp

Step Test Steps Test Data Excepted

1 Nhập username Username = “sieutran” Thông tin đã được nhập

Thông tin đã được nhập

“Email is already in use”

“Email is already in use”

Test Case ID: TCDK_003 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): High Test Designed date: 07/10/2023

Chương 6: Cài đặt và kiểm thử

Module Name: Đăng ký tài khoản Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đăng ký trùng username bị trùng lặp

Step Test Steps Test Data Excepted

1 Nhập username Username = “sieutran” Thông tin đã được nhập

Thông tin đã được nhập

Chương 6: Cài đặt và kiểm thử

Step Test Steps Test Data Excepted

1 Nhập username Username = “sieutran” Thông tin đã được nhập

Thông tin đã được nhập

“Xác nhận mật khẩu phải khớp”

“Xác nhận mật khẩu phải khớp”

Test Case ID: TCDK_004 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 07/10/2023

Module Name: Đăng ký tài khoản Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra trường Xác nhận mật khẩu khi người dùng cung cấp mật khẩu không khớp trường Mật khẩu

Chương 6: Cài đặt và kiểm thử

Test Case ID: TCDK_005 Test Designed by: Đoàn Chấn Hưng Test Priority (Low/Medium/High): high Test Designed date: 07/10/2023

Module Name: Đăng ký tài khoản Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng xác nhận email Test Executed date: 07/10/2023

Step Test Steps Test Data Excepted

Username = “Jinkky” Thông tin đã được nhập

Thông tin đã được nhập

“chúc mừng bạn đã đăng ký thành công”

“chúc mừng bạn đã đăng ký thành công”

7 Hệ thống gửi email xác nhận và bấm

“xác nhận email thành công, ”

“xác nhận email thành công, ”

Chương 6: Cài đặt và kiểm thử

6.2.2 Kiểm thử chức năng Đăng nhập

Test Case ID: TCDN_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 30/05/2024

Module Name: Đăng nhập tài khoản Test Executed by: Đoàn Chấn Hưng

Description: kiểm tra chức năng đăng nhập với email không hợp lệ

Step Test Steps Test Data Excepted

Thông tin đã được nhập

Thông tin đã được nhập

Hiển thị thông báo: “Email không hợp lệ” Ứng dụng không hiển thị lỗi nhưng hiển thị status code:500

Test Case ID: TCDN_002 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 30/05/2024

Module Name: Đăng nhập tài khoản Test Executed by: Đoàn Chấn Hưng

Description: kiểm tra chức năng đăng nhập với email chưa được xác nhận

Chương 6: Cài đặt và kiểm thử

Step Test Steps Test Data Excepted

Thông tin đã được nhập

Thông tin đã được nhập

Hiển thị thông báo: “User hasn’t been actived”

Hiển thị thông báo: “User hasn’t been actived”

Test Case ID: TCDN_003 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 30/05/2024

Module Name: Đăng nhập tài khoản Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đăng nhập với email đã được xác nhận

Step Test Steps Test Data Excepted

Thông tin đã được nhập

Thông tin đã được nhập

Chương 6: Cài đặt và kiểm thử

Test Case ID: TCDN_004 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 30/05/2024

Module Name: Đăng nhập tài khoản Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đăng nhập khi người dùng nhập sai mật khẩu

Step Test Steps Test Data Excepted

Thông tin đã được nhập

Thông tin đã được nhập

3 Click nút đăng ký Hiển thị thông báo:

6.2.3 Kiểm thử chức năng Bình luận

Test Case Bình luận trên sản phẩm

Test Case ID: TCBL_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): low Test Designed date: 09/10/2023

Module Name: Bình luận cho sản phẩm Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng bình luận cho sản phẩm

Chương 6: Cài đặt và kiểm thử

Step Test Steps Test Data Excepted

1 Vào trang sản phẩm chi tiết

2 Nhập bình luận cho sản phẩm

3 Bấm nút đăng Hiển thị thông báo:

6.2.4 Kiểm thử chức năng Đánh giá

Test Case ID: TCDG_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 09/10/2023

Module Name: Đánh giá cho người đăng Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đánh giá cho người đăng sau khi chiến thắng phiên đấu giá

Test Data Excepted Results Actual

1 Bấm vào mục tài khoản

Chương 6: Cài đặt và kiểm thử phẩm đã thắng

3 Bấm vào icon đánh giá trên sản phẩm

Hiển thị giao diện đánh giá người đăng

Hiển thị giao diện đánh giá người đăng”

4 Nhập đánh giá chi tiết

“Người đăng uy tín, đã giao sản phẩm đến cho tôi”

Thông tin được nhập Thông tin được nhập

Trạng thái “hài lòng” được chọn

Trạng thái “hài lòng” được chọn

Hiển thị thông báo: “Đánh giá thành công”

6.2.5 Kiểm thử chức năng thanh toán phí đấu giá

Test Case Thanh toán phí đấu giá

Test Case ID: TCIWallet_002 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): high Test Designed date: 09/10/2023

Module Name: Nạp tiền vào ví Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng nạp tiền vào ví với input là 0

Step Test Steps Test Data Excepted

Chương 6: Cài đặt và kiểm thử

1 Bấm vào mục tài khoản

2 Bấm vào sản phẩm đã đăng

3 Bấm vào nút thanh toán cho sản phẩm đã có người chiến thắng và chưa được thanh toán

Navigate sang trang “Thanh toán phí đấu giá”

Navigate sang trang “Thanh toán phí đấu giá”

4 Chọn phương thức thanh toán Stripe

Cửa số thanh toán của stripe được hiện ra

Cửa số thanh toán của stripe được hiện ra

5 Nhập thông tin thanh toán ở cửa số của Stripe

5 Bấm vào nút thanh toán

Hiển thị thanh toán thành công sau đó được tự động đưa lại về trang Sneakery

Hiển thị thanh toán thành công sau đó được tự động đưa lại về trang Sneakery

6.2.6 Kiểm thử chức năng Đấu giá sản phẩm

Test Case Đấu giá sản phẩm

Test Case ID: TCBid_002 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): Medium Test Designed date: 30/05/2024

Module Name: Đấu giá sản phẩm Test Executed by: Đoàn Chấn Hưng

Chương 6: Cài đặt và kiểm thử

Description: Kiểm tra chức năng đấu giá sản phẩm khi đấu giá với đúng giá của sản phẩm hiện tại

Step Test Steps Test Data Excepted

1 Chọn sản phẩm có giá hiện tại là

Chuyển đến trang của sản phẩm

Chuyển đến trang của sản phẩm

Hiển thị bảng nhập mức giá

Hiển thị bảng nhập mức giá

Mức giá = “450” Thông tin được nhập

4 Chọn xác nhận Hiển thị thông báo “Vui lòng nhập bid cao hơn mức bid hiện tại cộng với bước giá !”

Hiển thị thông báo “Vui lòng nhập bid cao hơn mức bid hiện tại cộng với bước giá !”

Test Case Đấu giá sản phẩm

Test Case ID: TCBid_003 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High):

Module Name: Đấu giá sản phẩm Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đấu giá khi bid giá hiện tại cộng với bước giá

Chương 6: Cài đặt và kiểm thử

Step Test Steps Test Data Excepted

1 Chọn sản phẩm có giá hiện tại là

Chuyển đến trang của sản phẩm

Chuyển đến trang của sản phẩm

Hiển thị bảng nhập mức giá

Hiển thị bảng nhập mức giá

Mức giá = “478” Thông tin được nhập

4 Chọn xác nhận Hiển thị thông báo “Bid sản phẩm thành công”

Hiển thị thông báo “Bid sản phẩm thành công”

Test Case Đấu giá sản phẩm

Test Case ID: TCBid_004 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High):

Module Name: Đấu giá sản phẩm Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng bid sản phẩm khi người bid là chủ sở hữu sản phẩm

Step Test Steps Test Data Excepted

1 Chọn sản phẩm có giá hiện tại là

791$ và được bán bởi “Hung”

Chuyển đến trang của sản phẩm

Chuyển đến trang của sản phẩm

Chương 6: Cài đặt và kiểm thử

Hiển thị bảng nhập mức giá

Hiển thị bảng nhập mức giá

Mức giá = “900” Thông tin được nhập

4 Chọn xác nhận Không hiển thị Hiển thị lỗi

“Seller can not place a bid on own product”

6.2.7 Kiểm thử chức năng Thêm sản phẩm đấu giá

Test Case Thêm sản phẩm đấu giá

Test Case ID: TCCBid_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): High Test Designed date: 30/05/2024

Module Name: Đăng sản phẩm Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng đăng sản phẩm khi nhập thời gian kết thúc trước giờ hiện tại

Step Test Steps Test Data Excepted

Chương 6: Cài đặt và kiểm thử

5 Chọn thương hiệu Thương hiệu =

6 Chọn danh mục Danh mục =

7 Chọn màu Màu = “ Trắng” Thông tin được nhập

8 Nhập Bước giá Bước giá = “50” Thông tin được nhập

“Thời gian phải hợp lệ và phải chọn sau thời gian hiện tại”

“Thời gian phải hợp lệ và phải chọn sau thời gian hiện tại”

10 Chọn Thumbnail Thumbnail = “file hình ảnh”

Hỉnh ảnh được tải lên

Hỉnh ảnh được tải lên

11 Chọn các ảnh khác ảnh khác = “file hình ảnh”

Hỉnh ảnh được tải lên

Hỉnh ảnh được tải lên

12 Nhập số điện thoại sdt =

13 Nhập Quận Quận = “Quận 5” Thông tin được nhập

15 Nhập số nhà, tên đường

5 Tản Đà Thông tin được nhập

16 Bấm cập nhật Hiển thị thông báo: “Cập nhật địa chỉ của bạn thành công”

Hiển thị thông báo: “Cập nhật địa chỉ của bạn thành công”

Chương 6: Cài đặt và kiểm thử

Hiển thị lỗi “” Hiển thị lỗi “” Pass

6.2.8 Kiểm thử chức năng Tìm kiếm sản phẩm

Test Case Tìm kiếm sản phẩm

Test Case ID: TCSearch_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High):

Module Name: Tìm kiếm sản phẩm Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng tìm kiếm sản phẩm theo tên hãng

Step Test Steps Test Data Excepted

Hiển thị các đôi giày có hãng là Nike

Hiển thị các đôi giày có hãng là Nike

Hiển thị các đôi giày có hãng là Adidas

Hiển thị các đôi giày có hãng là Adidas

Hiển thị các đôi giày có hãng là Chanel

Hiển thị các đôi giày có hãng là Chanel

Test Case Tìm kiếm sản phẩm

Chương 6: Cài đặt và kiểm thử

Test Case ID: TCSearch_002 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High):

Module Name: Tìm kiếm sản phẩm Test Executed by: Đoàn Chấn Hưng

Description: Kiểm tra chức năng tìm kiếm sản phẩm theo ký tự bất kỳ

Step Test Steps Test Data Excepted

2 Nhập ký tự a Tìm kiếm = “a” Hiển thị tên các đôi giày có chứa ký tự a

Hiển thị tên các đôi giày có chứa ký tự a

Không hiển thị gì cả

Không hiển thị gì cả

Không hiển thị gì cả

Không hiển thị gì cả

Không hiển thị gì cả

Không hiển thị gì cả

6.2.8 Kiểm thử chức năng Lọc sản phẩm theo đặc điểm

Test Case Lọc sản phẩm theo đặc điểm

Test Case ID: TCFiler_001 Test Designed by: Đoàn Chấn Hưng

Test Priority (Low/Medium/High): Medium Test Designed date: 30/05/2024

Module Name: Lọc sản phẩm theo đặc điểm Test Executed by: Đoàn Chấn Hưng

Chương 6: Cài đặt và kiểm thử

Description: Kiểm tra chức năng lọc sản phẩm với tùy chọn là theo danh mục

Step Test Steps Test Data Excepted

Nam trên thanh tìm kiếm

Chuyển sang trang lọc sản phẩm và hiện ra các giày dành cho Nam

Chuyển sang trang lọc sản phẩm và hiện ra các giày dành cho Nam

2 Chọn vào mục Nữ Hiển thị ra các giày dành cho nữ

Hiển thị ra các giày dành cho nữ

Hiển thị ra các giày Unisex

Hiển thị ra các giày Unisex

Ngày đăng: 19/12/2024, 15:50

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w