1. Trang chủ
  2. » Luận Văn - Báo Cáo

Ứng dụng mern stack xây dựng wesite bán giày

164 198 0

Đ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 đề Ứng Dụng MERN Stack Xây Dựng Website Bán Giày
Định dạng
Số trang 164
Dung lượng 8,21 MB

Cấu trúc

  • PHẦN 1. MỞ ĐẦU (10)
    • 1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI (10)
    • 2. MỤC TIÊU CỦA ĐỀ TÀI (10)
    • 3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU (10)
    • 4. DỰ KIẾN KẾT QUẢ ĐẠT ĐƯỢC (11)
    • 5. KẾT CẤU CỦA ĐỀ TÀI (11)
  • PHẦN 2: NỘI DUNG (13)
    • 1. CHƯƠNG KHẢO SÁT HIỆN TRẠNG (0)
      • 1.1. PHÂN TÍCH ƯU ĐIỂM, NHƯỢC ĐIỂM CỦA MỘT SỐ WEBSITE (13)
        • 1.1.1. Website https://bitis.com.vn/ (13)
        • 1.1.2. Website https://vinagiay.vn/ (16)
        • 1.1.3. Website http://www.buywholesalefootwear.com/ (18)
        • 1.1.4. Website https://www.adidas.com (20)
      • 1.2. ĐÁNH GIÁ CHUNG (23)
    • 2. CHƯƠNG 2: CƠ SỞ LÝ THUYẾT (25)
      • 2.1. TỔNG QUAN VỀ CÔNG NGHỆ SỬ DỤNG (25)
        • 2.1.1. Khái quát về Technical Stack (25)
        • 2.1.2. Khái quát về MERN Stack (25)
      • 2.2. GIỚI THIỆU VỀ HỆ QUẢN TRỊ CSDL MONGODB (26)
        • 2.2.1. Khái quát về NoSQL (26)
        • 2.2.2. Khái quát về MongoDB (27)
        • 2.2.3. Mongoose (27)
      • 2.3. GIỚI THIỆU VỀ NODEJS (27)
        • 2.3.1. Khái quát về NodeJS (27)
        • 2.3.2. Đặc điểm của NodeJS (27)
        • 2.3.3. NPM (NodeJS Package Manager) (29)
        • 2.3.4. Nhược điểm của NodeJS (29)
      • 2.4. GIỚI THIỆU VỀ EXPRESSJS (30)
        • 2.4.1. Khái quát về ExpressJS (30)
        • 2.4.2. Đặc điểm của ExpressJS (30)
        • 2.4.3. Restful API (30)
        • 2.4.4. Tại sao sử dụng Express trong việc quản lý Rest API (30)
      • 2.5. GIỚI THIỆU VỀ REACTJS (30)
        • 2.5.1. Khái quát về ReactJS (30)
        • 2.5.2. Đặc điểm của ReactJS (30)
        • 2.5.3. Tại sao lại sử dụng ReactJS làm Front-end framework? (31)
    • 3. CHƯƠNG 3: XÁC ĐỊNH VÀ MÔ HÌNH HÓA YÊU CẦU (32)
      • 3.1. XÁC ĐỊNH YÊU CẦU (32)
      • 3.2. MÔ HÌNH HÓA YÊU CẦU (41)
        • 3.2.1. Các lược đồ Use case (41)
        • 3.3.2. Đặc tả, luồng xử lý Use case (46)
    • 4. CHƯƠNG 4: THIẾT KẾ PHẦN MỀM (57)
      • 4.1. THIẾT KẾ HỆ THỐNG (57)
        • 4.1.1. Lược đồ Sequence (57)
      • 4.2. THIẾT KẾ CỞ SỞ DỮ LIỆU (66)
        • 4.2.1. Lược đồ quan hệ (66)
        • 4.2.2. Các Collection (66)
        • 4.2.4. Mô tả dữ liệu (67)
      • 4.3. THIẾT KẾ GIAO DIỆN (71)
        • 4.3.1. Màn hình đăng nhập (71)
        • 4.3.2. Màn hình đăng ký (73)
        • 4.3.3. Màn hình quên mật khẩu (75)
        • 4.3.4. Màn hình trang chủ (77)
        • 4.3.5. Màn hình Quản lý tài khoản (83)
        • 4.3.6. Màn hình thông tin cá nhân (84)
        • 4.3.7. Màn hình Thay đổi thông tin cá nhân (86)
        • 4.3.8. Màn hình Đổi mật khẩu (88)
        • 4.3.9. Màn hình Quản lý danh sách sản phẩm yêu thích (90)
        • 4.3.10. Màn hình Lịch sử đơn hàng (92)
        • 4.3.11. Màn hình Danh mục sản phẩm (94)
        • 4.3.12. Màn hình Chi tiết sản phẩm (97)
        • 4.3.13. Màn hình Liên hệ (101)
        • 4.3.14. Màn hình Tìm kiếm sản phẩm (103)
        • 4.3.15. Màn hình Tin nhắn (104)
        • 4.3.16. Màn hình Giỏ hàng (105)
        • 4.3.17. Màn hình Xác nhận đơn hàng và thanh toán (107)
        • 4.3.18. Màn hình Dashboard Admin (116)
        • 4.3.19. Màn hình Quản lý User (120)
        • 4.3.20. Màn hình Thêm user (122)
        • 4.3.21. Màn hình Sửa user (123)
        • 4.3.22. Màn hình Quản lý sản phẩm (125)
        • 4.3.23. Màn hình Thêm sản phẩm (127)
        • 4.3.24. Màn hình Chỉnh sửa thông tin sản phẩm (129)
        • 4.3.25. Màn hình Xác nhận xóa (131)
        • 4.3.26. Màn hình Quản lý danh mục sản phẩm (132)
        • 4.3.27. Màn hình Chi tiết danh mục sản phẩm (134)
        • 4.3.28. Màn hình Thêm danh mục sản phẩm (136)
        • 4.3.29. Màn hình Chỉnh sửa danh mục sản phẩm (138)
        • 4.3.30. Màn hình Quản lý đơn hàng (141)
        • 4.3.31. Màn hình Chi tiết đơn hàng (143)
        • 4.3.32. Màn hình Cập nhật trạng thái đơn hàng (144)
        • 4.3.32. Màn hình Quản lý tin nhắn (145)
        • 4.3.33. Màn hình Thêm tin nhắn (147)
        • 4.3.34. Màn hình Chat (148)
    • 5. CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ PHẦN MỀM (150)
      • 5.1. CÀI ĐẶT (150)
        • 5.1.1. Chuẩn bị môi trường (150)
        • 5.1.2. Các bước tiến hành (150)
      • 5.2. KIỂM THỬ PHẦN MỀM (151)
        • 5.2.1. Chiến lược và kế hoạch kiểm thử (151)
        • 5.2.2. Một số kỹ thuật kiểm thử dùng trong dự án (152)
        • 5.2.3. Quy trình kiểm thử (152)
        • 5.2.4. Test case (154)
  • PHẦN 3: KẾT LUẬN (162)
    • 1. KẾT QUẢ ĐẠT ĐƯỢC (162)
    • 2. ƯU ĐIỂM (162)
    • 3. NHƯỢC ĐIỂM (163)
    • 4. HƯỚNG PHÁT TRIỂN (163)

Nội dung

Ứng dụng mern stack xây dựng wesite bán giày Ứng dụng mern stack xây dựng wesite bán giày Ứng dụng mern stack xây dựng wesite bán giày Ứng dụng mern stack xây dựng wesite bán giày Ứng dụng mern stack xây dựng wesite bán giày Ứng dụng mern stack xây dựng wesite bán giày

NỘI DUNG

CHƯƠNG 2: CƠ SỞ LÝ THUYẾT

2.1.1 Khái quát về Technical Stack

"Technical Stack", "Technology Stack", "Solution Stack" hay đơn giản là "Tech Stack" là những thuật ngữ chỉ tập hợp các nền tảng, phần mềm, cơ sở dữ liệu và công nghệ cần thiết cho việc phát triển phần mềm Một Technical Stack thường bao gồm nhiều bộ công nghệ phối hợp với nhau, với một số Technical Stack phổ biến như:

 LAMP Stack (Linux, Apache, mySQL, PHP)

 LAM Stack (AWS Lambda, Angular, MongoDB)

 MERN Stack (MongoDB, ExpressJS, ReacJS, NodeJS)

 WISA Stack (Window, IIS, SQL Server, ASP.NET) [1]

2.1.1.2 Các thành phần cơ bản của Technical Stack

Một Technical Stack thường bao gồm:

 Ngôn ngữ lập trình (hoặc là Framework) Front-end

 Ngôn ngữ lập trình (hoặc là Framework) Back-end

Lấy LAMP Stack làm ví dụ, ta có:

 PHP, python (ngôn ngữ lập trình)

2.1.2 Khái quát về MERN Stack

MERN STACK là một framework JavaScript toàn diện, dễ sử dụng, giúp phát triển các trang web và ứng dụng động Đây là một giải pháp mã nguồn mở và hoàn toàn miễn phí.

MERN là một công nghệ mạnh mẽ cho phép xây dựng ứng dụng Single Page Application (SPA) bằng JavaScript, mang lại hiệu quả và tính hiện đại trong phát triển web.

2.1.2.2 Các thành phần cơ bản của MERN Stack

MongoDB là một cơ sở dữ liệu NoSQL nổi bật với các đặc điểm không ràng buộc, phân tán và mã nguồn mở Nó cho phép khả năng mở rộng theo chiều ngang và có khả năng lưu trữ, xử lý dữ liệu lên đến hàng petabytes.

ExpressJS là một web application framework cho NodeJS, cung cấp các tính năng mạnh mẽ cho việc xây dựng một ứng dụng web đúng nghĩa

ReactJS là một thư viện JavaScript đang ngày càng phổ biến nhờ vào sự đơn giản và khả năng tích hợp dễ dàng với các thư viện JavaScript khác Thư viện này không chỉ hoạt động trên phía client mà còn hỗ trợ render trên server, cho phép kết nối linh hoạt giữa các thành phần.

 NodeJS - Web server (Back-end):

NodeJS nổi bật trong việc phát triển các ứng dụng web nhanh chóng và có khả năng mở rộng, đặc biệt là các ứng dụng thời gian thực Một trong những điểm mạnh nhất của Node.js là khả năng sử dụng JavaScript cho cả phần front-end và back-end.

2.2 GIỚI THIỆU VỀ HỆ QUẢN TRỊ CSDL MONGODB

Cơ sở dữ liệu NoSQL, được giới thiệu lần đầu vào năm 1998, đánh dấu sự phát triển của thế hệ cơ sở dữ liệu mới với đặc điểm phân tán và không ràng buộc.

NoSQL Database ra đời, giải quyết được những khuyết điểm của RDBMS:

 Dữ liệu được lưu dưới dạng document, object Truy vấn dễ dàng và nhanh hơn RDBMS nhiều

 NoSQL có thể làm việc hoàn toàn thuận tiện với dữ liệu dạng không có cấu trúc

 Việc đổi cấu trúc dữ liệu rất dễ dàng và nhanh gọn trong NoSQL

 Vì không đặt nặng tính ACID của transactions và tính nhất quán của dữ liệu, NoSQL DB có thể mở rộng, chạy trên nhiều máy một cách dễ dàng [4][5]

MongoDB là một cơ sở dữ liệu mã nguồn mở thuộc loại NoSQL, được phát triển bằng ngôn ngữ C++ Nó lưu trữ dữ liệu theo định dạng tài liệu (document) với cấu trúc tương tự JSON, giúp tăng tốc độ truy vấn dữ liệu một cách đáng kể.

MongoDB mang lại nhiều lợi thế như ít yêu cầu về schema, cấu trúc đối tượng rõ ràng, không cần sử dụng các phép Join phức tạp và khả năng mở rộng vượt trội Điều này khiến MongoDB trở thành lựa chọn lý tưởng cho các ứng dụng thời gian thực.

Mongoose là một thư viện Object Data Modeling (ODM) được phát triển cho MongoDB, sử dụng NodeJS để mô hình hóa và đối tượng hóa dữ liệu, giúp lập trình viên dễ dàng làm việc với dữ liệu theo hướng đối tượng.

Hình 2.1: Mô hình họa động của Mongoose

Mongoose cung cấp các hàm hỗ trợ Express trong việc thực hiện các tác vụ cơ bản giữa máy chủ web và cơ sở dữ liệu, bao gồm kết nối cơ sở dữ liệu qua connection string, truy vấn dữ liệu, cũng như tạo mới, lưu trữ, xóa và cập nhật thông tin.

NodeJS is an open-source runtime environment that enables JavaScript to run on the server-side Built on the Google V8 JavaScript engine, NodeJS utilizes an event-driven, non-blocking I/O model to execute code efficiently.

 Nhanh: Được thực thi trên Google V8 engine, mã JavaScript được build thẳng ra mã

Assembly nên tốc độ xử lý của các ứng dụng NodeJS nhanh hơn Java, Python, PHP [10]

NodeJS là một môi trường thực thi cho JavaScript, vì vậy các lập trình viên Front-end đã quen thuộc với JavaScript có thể nhanh chóng học và sử dụng NodeJS.

 Hiệu năng cao: Nhờ vào cơ chế Single Thread và Event Loop, mà JavaScript tiết kiệm tài nguyên hơn cho hệ thống

Mutil thread trên hệ thống cũ:

Hình 2.2: Multi thread trên hệ thống cũ

Các hệ thống cũ thường gặp vấn đề khi mỗi lần server nhận một yêu cầu, nó sẽ tạo ra một Thread mới để xử lý, dẫn đến việc tiêu tốn tài nguyên và có nguy cơ quá tải server.

Single thread trên những hệ thống mới:

NodeJS hoạt động dựa trên cơ chế Single Thread, nhưng bên trong, các tác vụ được xử lý theo phương thức đa luồng bất đồng bộ (asynchronous).

CHƯƠNG 3: XÁC ĐỊNH VÀ MÔ HÌNH HÓA YÊU CẦU

Yêu cầu chức năng nghiệp vụ:

+ Thông tin tài khoản khách hàng và quản trị viên

+ Thông tin danh mục sản phẩm, chi tiết sản phẩm

+ Thông tin về đơn hàng

+ Các chức năng cần thiết cho khách hàng: thông tin sản phẩm yêu thích, lịch sử truy cập sản phẩm

+ Các số liệu thống kê về sản phẩm

Khách hàng có thể dễ dàng tra cứu thông tin cá nhân, danh mục sản phẩm, chi tiết từng sản phẩm, cũng như bình luận về sản phẩm Bên cạnh đó, họ còn có thể xem danh sách sản phẩm yêu thích và lịch sử mua hàng của mình.

Quản trị viên có khả năng tra cứu thông tin chi tiết về người dùng, danh mục sản phẩm, sản phẩm cụ thể, đơn hàng, cũng như thống kê theo ngày hoặc theo khoảng thời gian đã được xác định trước.

+ Tính toán phí ship, tiền đơn hàng

+ Tính toán các số liệu thống kê

+ Thống kê số liệu từ Google Analytics

+ Sản phẩm bán chạy, không bán chạy

+ Sản phẩm được xem và đặt hàng nhiều nhất theo các mốc thời gian

+ Thống kê khách hàng mua hàng thường xuyên, truy cập website thường xuyên

Yêu cầu chức năng hệ thống:

+ Guest: Xem trang chủ, xem các thông tin về website, xem danh mục sản phẩm, thông tin sản phẩm; tìm kiếm sản phẩm

Khách hàng không chỉ có thể sử dụng các chức năng của Guest mà còn được phép quản lý tài khoản cá nhân, theo dõi sản phẩm yêu thích, xem lịch sử mua sắm, nhận tin nhắn, trò chuyện với quản trị viên, cũng như quản lý giỏ hàng và thực hiện thanh toán.

+ Admin: Quản lý người dùng, quản lý danh mục sản phẩm, quản lý sản phẩm, quản lý đơn hàng, Gửi tin nhắn, Chat, Xem các thống kê

3.1.2 Yêu cầu phi chức năng Đối với người dùng:

+ Giao diện thân thiện với người dùng, các đối tượng trên giao diện được bố trí hợp lý, màu sắc phải phù hợp, hài hòa, dễ dàng quan sát

+ Dễ dàng đăng ký, đăng nhập

+ Thao tác tìm kiếm đơn giản, hiệu quả

+ Quá trình mua hàng dễ dàng, thao tác dễ dàng, không phức tạp

+ Có thể liên hệ để hỗ trợ giải quyết khó khăn

+ Thông tin sản phẩm hiển thị đúng đắn

+ Giá cả, chi phí của đơn hàng tính toán phải hợp lý, chính xác

+ Xử lý các thao tác phải nhanh chóng

+ Thông báo lỗi cụ thể khi xảy ra lỗi

+ Về cơ bản, phải sử dụng được website trên máy tính và smartphone

Nâng cấp hệ thống dễ dàng và tích hợp nhiều chức năng nâng cao như trí tuệ nhân tạo hoặc mô hình tích lũy điểm sẽ giúp tăng cường hiệu quả và thu hút khách hàng Điều này đặc biệt có lợi cho lập trình viên trong việc phát triển ứng dụng.

Dễ bảo trì là một ưu điểm quan trọng, cho phép sửa chữa các lỗi liên quan đến giao diện và hệ thống dữ liệu một cách nhanh chóng và hiệu quả Điều này giúp giảm thiểu chi phí sửa chữa khi sự cố xảy ra, đảm bảo hoạt động liên tục và ổn định cho hệ thống.

Website thương mại điện tử ngày nay đang trở nên phổ biến và đáp ứng nhu cầu của nhiều doanh nghiệp và cá nhân Việc tái sử dụng các nền tảng để xây dựng website kinh doanh với nhiều loại mặt hàng khác nhau trở nên dễ dàng hơn bao giờ hết Ngoài ra, chúng ta có thể phát triển các website đa năng tương tự như Lazada, Tiki, hay Shopee.

3.1.3 Xác định và mô tả chức năng của các Actor

Có 3 hình thức đăng nhập: đăng nhập thông qua tài khoản Facebook, thông qua tài khoản Google hoặc đăng nhập bằng tài khoản đã được đăng ký trực tiếp trên website Ở 2 hình thức đầu chỉ cần chọn đúng chức năng được hiển thị trên giao diện và cấp quyền truy cập thì sẽ đăng nhập thành công Còn đối với đăng nhập qua tài khoản đã đăng ký trên website thì khách hàng nhập Email hoặc Số điện thoại và Password đúng như thông tin lúc đăng ký thì khách hàng sẽ đăng nhập thành công Khi đăng nhập thành công, từ trang đăng nhập sẽ chuyển hướng đến trang chủ

Người dùng phải nhập đầy đủ thông tin cần thiết như: Email, số điện thoại, mật khẩu, xác nhận mật khẩu, Họ tên, ngày tháng năm sinh

Khi người dùng nhập sai thông tin, hệ thống sẽ hiển thị thông báo lỗi cụ thể, chẳng hạn như mật khẩu không khớp, bỏ trống các trường bắt buộc, email không hợp lệ, hoặc mật khẩu không đủ số lượng ký tự yêu cầu.

Khi người dùng đăng ký tài khoản thành công, thông tin đăng ký sẽ được lưu trữ an toàn trong cơ sở dữ liệu, và mật khẩu sẽ được mã hóa nhằm bảo vệ tính bảo mật cho khách hàng.

3 Quên mật khẩu Lưu trữ

Khi khách hàng quên mật khẩu và sử dụng chức năng "quên mật khẩu", hệ thống sẽ yêu cầu nhập Email Sau đó, một email chứa mã xác nhận sẽ được gửi đến khách hàng Khách hàng cần đăng nhập vào tài khoản email và nhập mã xác nhận trên giao diện Nếu mã nhập đúng, hệ thống sẽ cho phép khách hàng xác nhận và thiết lập mật khẩu mới Sau khi cập nhật mật khẩu mới thành công, hệ thống sẽ chuyển hướng đến trang chủ của website.

4 Xem trang chủ Tra cứu

Để truy cập trang chủ của website và xem thông tin sản phẩm, khách hàng chỉ cần nhấn vào menu trang chủ hoặc click vào logo của website.

Website cung cấp thông tin cần thiết để khách hàng dễ dàng liên hệ khi có thắc mắc hoặc muốn trao đổi thông tin với cửa hàng Khách hàng chỉ cần chọn vào menu "Liên hệ" để xem đầy đủ thông tin, bao gồm vị trí cửa hàng trên bản đồ, địa chỉ, số điện thoại và email.

6 Xem danh mục sản phẩm

Trên menu chính của website, có ba loại hàng chính: giày nam, giày nữ và giày trẻ em Khách hàng chỉ cần nhấp chuột vào danh mục mong muốn để xem sản phẩm Các phân loại hàng nhỏ hơn được hiển thị trong menu phụ trên trang chủ.

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

Khi khách hàng nhấp vào một sản phẩm, thông tin chi tiết của sản phẩm đó sẽ được hiển thị Sản phẩm có thể xuất hiện trên trang chủ, trang tìm kiếm, trang danh mục và trang danh sách yêu thích.

8 Tìm kiếm sản phẩm Tra cứu

Nhập từ khóa vào ô tìm kiếm nằm trên menu chính của website, hệ thống sẽ tiến hành tìm kiếm và hiển thị danh sách sản phẩm liên quan đến từ khóa đó.

Bảng 3.1: Xác định và mô tả chức năng của Actor Guest

6 Xem danh mục sản phẩm

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

9 Xem thông tin cá nhân

CHƯƠNG 4: THIẾT KẾ PHẦN MỀM

4.1.1.1 Sequence Diagram cho use case Đăng nhập qua Facebook/Google

Hình 4.1: Sequence Diagram Đăng nhập qua Facebook/Google

4.1.1.2 Sequence Diagram cho use case Đăng nhập bằng Email/SĐT

Hình 4.2: Sequence Diagram Đăng nhập bằng Email/SĐT

4.1.1.3 Sequence Diagram cho use case Đăng ký

Hình 4.3: Sequence Diagram Đăng ký

4.1.1.4 Sequence Diagram cho use case Quên mật khẩu

Hình 4.4: Sequence Diagram Quên mật khẩu

4.1.1.5 Sequence Diagram cho use case Thay đổi thông tin

Hình 4.5: Sequence Diagram Thay đổi thông tin

4.1.1.6 Sequence Diagram cho use case Đổi mật khẩu

Hình 4.6: Sequence Diagram Đổi mật khẩu

4.1.1.7 Sequence Diagram cho use case Hủy đơn hàng

Hình 4.7: Sequence Diagram Hủy đơn hàng

4.1.1.8 Sequence Diagram cho use case Xác nhận đơn hàng và thanh toán

Hình 4.8: Sequence Diagram Xác nhận đơn hàng và thanh toán

4.1.1.9 Sequence Diagram cho use case Thêm user

Hình 4.9: Sequence Diagram Thêm user

4.1.1.10 Sequence Diagram cho use case Sửa user

Hình 4.10: Sequence Diagram Sửa user

4.1.1.11 Sequence Diagram cho use case Xóa user

Hình 4.11: Sequence Diagram Xóa user

4.1.1.12 Sequence Diagram cho use case Tìm kiếm user

Hình 4.12: Sequence Diagram Tìm kiếm user

4.1.1.13 Sequence Diagram cho use case Thêm Sự kiện sale

Hình 4.13: Sequence Diagram Thêm Sự kiện sale

4.2 THIẾT KẾ CỞ SỞ DỮ LIỆU

Hình 4.14: Lượt đồ Quan hệ

The article discusses the essential elements of an email collection system, which includes user information such as first name, last name, phone number, address, date of birth, and password It also highlights key features like favoritelist, historylist, and cart management, along with user roles and visit/order tracking Additionally, it covers product details including ID, name, quantity, costs, images, descriptions, sizes, ratings, comments, and categories The content emphasizes the importance of creation dates, views, orders, and product status, while also addressing sale events and the management of user-generated content through sender information and timestamps.

Bảng 4.1: Thuộc tính của các collection users, products, productcategories,messages

The article outlines essential data points for managing order information, including collection chats, user details such as email, full name, phone number, and address, as well as financial metrics like total product cost, shipping cost, and payment details It emphasizes the importance of tracking the status of orders, payment methods (including PayPal and Stripe), and timestamps for each interaction Additionally, it highlights the need for monitoring product views and order details to enhance customer experience and streamline operations.

Bảng 4.2: Thuộc tính của các collection orders, statistics,chats

STT Tên thuộc tính Mô tả Kiểu dữ liệu

1 id Mỗi user sẽ có một id riêng để phân biệt với user khác Id của user được sinh tự động ObjectId

2 firstname Họ của cá nhân đăng ký tài khoản String

3 lastname Tên của cá nhân đăng ký tài khoản String

4 email Email dùng để đăng ký tài khoản, được sử dụng để lấy lại tài khoản khi quên mật khẩu String

5 numberPhone Số điện thoại của cá nhân đăng ký tài khoản String

7 dob Ngày tháng năm sinh của cá nhân đăng ký tài khoản String

8 password Mật khẩu người dùng đặt để đăng nhập vào website, được lưu vào CSDL sau khi mã hóa String

9 favoritelist Danh sách sản phẩm yêu thích của khách hàng Array

10 historylist Danh sách các sản phẩm đã xem của khách hàng Array

11 cart Danh sách các sản phẩm mà khách hàng đã thêm vào giỏ hàng

12 role Phân quyền người dùng mang giá trị user hoặc admin String

13 qvisit Tổng số lần truy cập website Number

14 qorder Tổng số lần đặt hàng Number

Danh sách danh mục sản phẩm cùng với số lượng mà khách hàng đã đặt hàng các sản phẩm có trong danh mục đó

16 currentVoucher Danh sách voucher mà khách hàng đang sở hữu Array

17 isDeleted Mang giá trị true nghĩa là tài khoản đã được xóa hoặc false nghĩa là tài khoản đang được sử dụng Boolean

Bảng 4.3: Mô tả dữ liệu collection users

STT Tên thuộc tính Mô tả Kiểu dữ liệu

Mỗi danh mục sản phẩm sẽ có một id riêng biệt để phân biệt với các danh mục sản phẩm khác, id này được sinh tự động

2 name Tên của danh mục sản phẩm String

3 displayName Tên hiển thị của danh mục sản phẩm String

4 quanty Số lượng sản phẩm của danh mục Number

5 description Mô tả về danh mục sản phẩm String

6 listProduct Danh sách sản phẩm thuộc danh mục array

7 image Hình ảnh về danh mục sản phẩm String

Danh sách các sự kiện khuyến mãi được thêm bởi admin để giảm giá các sản phẩm thuộc Danh mục cụ thể

Trạng thái 'sale' nghĩa là danh mục đang trong thời gian khuyến mãi giảm giá, ngược lại danh mục mang trạng thái 'normal' (bình thường)

Bảng 4.4: Mô tả dữ liệu collection productcategories

STT Tên thuộc tính Mô tả Kiểu dữ liệu

1 id Mỗi sản phẩm sẽ có một id riêng biệt để phân biệt với các sản phẩm khác, id này được sinh tự động ObjectId

2 name Tên của sản phẩm String

3 quanty Số lượng sản phẩm Number

4 costs Giá của sản phẩm Number

5 image Hình ảnh về sản phẩm object

6 desciption Mô tả về sản phẩm String

7 sizes Kích cỡ của sản phẩm array

8 ratings Thông tin số lượng đánh giá sản phẩm Array

Object comments Bình luận về sản phẩm Array

Object category Danh sách id các category mà sản phẩm đang thuộc

60 createat Thời gian sản phẩm được thêm, tính bằng đơn vị miliseconds Number views Số lượt xem của sản phẩm Number

9 orders Số lượt đặt hàng của sản phẩm Number

Mang giá trị 'sale1' khi sản phẩm đang được giảm 15%, 'sale2' khi sản phẩm đang được giảm 25%, ngược lại sản phẩm mang giá trị 'normal' (bình thường)

Mang giá trị true nghĩa là sản phẩm đã được xóa bởi admin, ngược lại sản phẩm đang được bán bình thường mang giá trị false

Bảng 4.5: Mô tả dữ liệu collection products

STT Tên thuộc tính Mô tả Kiểu dữ liệu

Mỗi đơn hàng sẽ có một id riêng biệt để phân biệt với các đơn hàng khác, id này được sinh tự động

2 email Email của người mua hàng String

3 time Thời gian đơn hàng được tạo String

4 timestamp Dấu thời gian Number

5 fullname Họ và tên của khách hàng String

6 phonenumber Số điện thoại liên hệ của khách hàng String

7 address Địa chỉ giao hàng mà khách hàng đã nhập String

8 sumproductcost Tổng giá tiền đơn hàng Number

9 sumshipcost Tổng phí ship của đơn hàng Number

10 listproduct Danh sách sản phẩm của đơn hàng array

11 status Trạng thái giao hàng của đơn hàng String

12 code Mã code xác nhận của đơn hàng Number

Mang giá trị true khi đơn hàng đã được thanh toán (online hoặc shipcode), ngược lại mang giá trị false

14 costVoucher Mang giá trị của voucher nếu sử dụng voucher giảm giá cho đơn hàng, ngược lại mang giá trị 0 Number

Khi chọn phương thức thanh toán khi nhận hàng, giá trị sẽ là 'cash' Ngược lại, nếu thanh toán trực tuyến, giá trị sẽ phụ thuộc vào cổng thanh toán và có thể là 'paypal', 'stripe', 'vnpay' hoặc 'zalopay'.

16 paypalSale Lưu id sale để phục vụ cho việc hoàn tiền khi thanh toán qua paypal String

17 stripeChargeId Lưu stripe charge id để phục vụ cho việc hoàn tiền khi thanh toán qua stripe String

Bảng 4.6: Mô tả dữ liệu collection orders

STT Tên thuộc tính Mô tả Kiểu dữ liệu

1 id Mỗi tin nhắn sẽ có một id riêng biệt để phân biệt với các tin nhắn khác, id này được sinh tự động ObjectId

2 index Tiêu đề của tin nhắn String

3 content Nội dung của tin nhắn String

4 datetime Thời gian tin nhắn được tạo String

5 sender Người gửi tin nhắn String

Bảng 4.7: Mô tả dữ liệu collection messages

STT Tên thuộc tính Mô tả Kiểu dữ liệu id id để phân biệt các ngày thống kê ObjectID

Chuỗi kết hợp ngày tháng năm theo định dạng

"ddMMyyyy" để phân biệt ngày này với ngày khác

2 viewproduct Mảng này lưu id sản phẩm và số lần xem sản phẩm tương ứng array

3 orderproduct Mảng này lưu id sản phẩm và số lượng sản phẩm khi khách hàng đã xác nhận mua sản phẩm array

Bảng 4.8: Mô tả dữ liệu collection statistics

STT Tên thuộc tính Mô tả Kiểu dữ liệu

1 id id để phân biệt giữa các tin nhắn với nhau ObjectID

2 sender Chứa thông tin người gửi mang giá trị của email hoặc số điện thoại String

3 receiver Mặc định là admin String

4 content Nội dung tin nhắn gửi đi String

5 timestamp Thời điểm gửi tin nhắn, đơn vị là miliseconds Number

Mang giá trị text nếu tin nhắn gửi đi là tin nhắn văn bản, mang giá trị emoji nếu tin nhắn gửi đi là icon

7 day Ngày giờ gửi tin nhắn String

8 seen Mang giá trị true khi tin nhắn đã được người nhận xem, ngược lại mang giá trị false Boolean

Bảng 4.9: Mô tả dữ liệu collection chats

- Thiết kế giao diện với tính đúng đắn:

Hình 4.15: Đối tượng trên màn hình Đăng nhập Ý nghĩa: Đăng nhập tài khoản, chuyển vai trò từ Guest thành User hoặc Admin Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

2 Nút đăng nhập với Facebook Button

3 Nút đăng nhập với Google Button

4 Input nhập Email/SDT Thẻ Input

5 Input nhập mật khẩu Thẻ Input

7 Link chuyển đến đăng ký Thẻ a

8 Link chuyển đến quên mật khẩu Thẻ a

Bảng 4.10: Bảng mô tả đối tượng màn hình Đăng nhập

Hình 4.16: Xử lý trên màn hình Đăng nhập

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Khi bạn đăng nhập lần đầu với tài khoản Facebook hiện tại, Facebook sẽ yêu cầu bạn cấp quyền truy cập để thu thập thông tin và lưu vào cơ sở dữ liệu Nếu không, hệ thống sẽ sử dụng thông tin đã được lưu trong cơ sở dữ liệu để xác nhận quá trình đăng nhập.

Khi đăng nhập lần đầu với tài khoản Google, người dùng sẽ cần cấp quyền truy cập để Google thu thập thông tin và lưu vào cơ sở dữ liệu Nếu không, Google sẽ sử dụng thông tin đã có trong cơ sở dữ liệu để xác nhận quá trình đăng nhập.

3 Đăng nhập với Emai/SDT và Password

Nếu đúng tài khoản và mật khẩu thì sẽ đưa đến trang chủ tương ứng với quyền truy cập của tài khoản đó, ngược lại báo lỗi:

“Email/SDT hoặc mật khẩu không đúng”

Click vào link "Đăng ký" Đi đến trang đăng ký tài khoản

Click vào link "Quên mật khẩu" Đi đến trang quên mật khẩu để thực hiện các bước để lấy lại mật khẩu

Bảng 4.11: Bảng mô tả xử lý trên màn hình Đăng nhập

- Thiết kế giao diện với tính đúng đắn:

Hình 4.17: Đối tượng trên màn hình Đăng ký Ý nghĩa: Đăng ký tài khoản để đăng nhập vào hệ thống

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

6, 7 Input nhập dữ liệu các trường Thẻ input

8 Tiêu đề ngày sinh Thẻ input

9, 10, 11 Combobox chọn ngày, tháng, năm sinh Thẻ select

Bảng 4.12: Bảng mô tả đối tượng màn hình Đăng ký

Hình 4.18: Xử lý trên màn hình Đăng ký

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Click vào button "Đăng ký"

Nếu chưa nhập đầy đủ những trường thì hệ thống sẽ yêu cầu bạn hoàn thành

Nếu nhập mật khẩu không khớp thì hệ thống sẽ yêu cầu bạn nhập lại

Kiểm tra Email/SDT có tồn tại trong hệ thống không, nếu có thông báo

“Emai/SDT đã tồn tại”

Nếu kiểm tra hợp hệ thì hệ thống sẽ cập nhật tài khoản đăng ký vào CSDL và chuyển đến trang đăng nhập

Bảng 4.13: Bảng mô tả xử lý trên màn hình Đăng ký

4.3.3 Màn hình quên mật khẩu

- Thiết kế giao diện với tính đúng đắn:

Hình 4.19: Đối tượng trên màn hình Quên mật khẩu Ý nghĩa: Dùng để đổi mật khẩu mới khi quên mật khẩu đăng nhập

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Input nhập Email Thẻ input

4, 5 Link đến Gmail, YahooMail Thẻ a

6 Link gửi lại mã Thẻ a

7 Input nhập mã xác nhận Thẻ input

9, 10 Input nhập mật khẩu, xác nhận mật khẩu Thẻ input

11 Nút cập nhật mật khẩu Button

Bảng 4.14: Bảng mô tả đối tượng màn hình Quên mật khẩu

Hình 4.20: Xử lý trên màn hình Quên mật khẩu

STT Tên xử lý Điều kiện gọi thực hiện

Hiển thị form nhập mã xác nhận

Click vào button "Tiếp tục"

Hệ thống sẽ xác thực địa chỉ email hoặc số điện thoại đã nhập và gửi mã code xác nhận đến email hoặc số điện thoại đó, sau đó chuyển đến form xác nhận.

2 Đi đến hộp thư Gmail

Click vào link "Đi đến Gmail"

Mở hộp thư Gmail trong một cửa sổ mới

3 Đi đến hộp thư Yahoomail

Click vào link "Đi đến YahooMail"

Mở hộp thư YahooMail trong một cửa số mới

Click vào link "Gửi lại mã"

Gửi lại một mã code vào email hoặc số điện thoại và yêu cầu xác nhận lại

Hiển thị form đổi mật khẩu mới

Click vào button "Tiếp tục"

Nếu mã code được nhập không đúng sẽ thông báo lỗi và yêu cầu nhập lại, ngược lại form đổi mật khẩu mới hiển thị

Click vào button "Cập nhật mật khẩu"

Nếu mật khẩu và xác nhận mật khẩu khớp thì hệ thống sẽ cập nhật mật khẩu mới đã mã hóa vào CSDL và đi đến trang đăng nhập

Bảng 4.15: Bảng mô tả xử lý trên màn hình Quên mật khẩu

- Thiết kế giao diện với tính đúng đắn:

Hình 4.21: Đối tượng trên màn hình Trang chủ Ý nghĩa: Hiển thị menu, các danh mục sản phẩm cùng với các sản phẩm đại diện cho những danh mục đó

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

4 Input tìm kiếm Thẻ Input

6 Icon link đến facebook Thẻ a, i

7 Danh sách menu chính Thẻ ul, li

10 Số lượng sản phẩm trong giỏ hàng Thẻ span

11 Icon danh mục sản phẩm Thẻ i

12 Tiêu đề danh mục Thẻ h2

13 Danh mục sản phẩm Thẻ a, i

15 Nút về đầu trang Thẻ a

16 Menu chức năng user Thẻ li, a

18 Tiêu đề mục sản phẩm Thẻ h2

19 Ảnh sản phẩm Thẻ img

20 Sao đánh giá sản phẩm Thẻ div, i

22 Giá sản phẩm Thẻ span

24 Các icon thông tin liên hệ Thẻ div, i

25 Thông tin liên hệ Thẻ p

27 Bản đồ vị trí kho hàng Thẻ div, iframe

Bảng 4.16: Bảng mô tả đối tượng màn hình Trang chủ Guest

Hình 4.22: Xử lý trên màn hình Trang chủ

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

1 Đi đến trang đăng nhập

Click vào link "Đăng nhập"

Chuyển đến trang đăng nhập

2 Đi đến trang đăng ký

Click vào link "Đăng ký"

Chuyển đến trang đăng ký tài khoản

Lưu cục bộ lại nội dung search và chuyển đến trang search

4 Đi đến facebook của website

Chuyển đến trang của cửa hàng trên facebook

Click vào giỏ hàng Chuyển đến trang thanh toán các sản phẩm có trong giỏ hàng

"Trang chủ" Chuyển đến trang chủ của Guest

Click vào các mục menu "Giày nam"

Chuyển đến danh mục các sản phẩm giày nam

Click vào các mục menu "Giày nữ"

Chuyển đến danh mục các sản phẩm giày nữ

Click vào các mục menu "Trẻ em"

Chuyển đến danh mục các sản phẩm trẻ em

10 Đi đến trang liên hệ

Click vào menu "Liên hệ"

Chuyển đến trang hiển thị thông tin liên hệ của cửa hàng

Click vào logo website Chuyển đến trang chủ

Chuyến đến danh mục hiển thị các sản phẩm khuyến mãi

Chuyến đến danh mục hiển thị các sản phẩm Adidas

Chuyến đến danh mục hiển thị các sản phẩm Nike

Clik vào nút có mũi tên hướng lên Trượt quay về đầu trang

Lấy danh sách sản phẩm

Lấy danh sách sản phẩm theo từng danh mục và hiển thị một vài sản phẩm làm đại diện

Click vào menu "Tin nhắn"

Chuyển đến trang hiển thị danh sách tin nhắn từ quản trị viên

18 Đến trang Lịch sử đơn hàng

Click vào menu "Đơn hàng"

Chuyển đến trang hiển thị danh sách đơn hàng đã đặt bởi user

19 Đến trang Sản phẩm yêu thích

Click vào menu "Yêu thích"

Chuyển đến trang quản lý danh sách sản phẩm yêu thích của user

20 Đến trang Quản lý tài khoản

Chuyển đến trang quản lý tài khoản user như về thông tin cá nhân, mật khẩu…

21 Đến trang Đổi mật khẩu

Click vào option "Đổi mật khẩu "

Chuyển trực tiếp đến trang đổi mật khẩu user

Thoát khỏi quyền user, chuyển hướng đến trang chủ Guest

Load sản phẩm ứng với danh mục

Lấy và tính toán dữ liệu của sản phẩm từ CSDL, sau đó hiển thị lên trang chủ

24 Đi đến trang chi tiết sản phẩm

Click vào tên hoặc hình ảnh sản phẩm

Lưu cục bộ lại id sản phẩm và đi đến trang chi tiết sản phẩm

Hiển thị giao diện chat để user có thể liên hệ với quản trị viên

Bảng 4.17: Bảng mô tả xử lý trên màn hình Trang chủ Guest

4.3.5 Màn hình Quản lý tài khoản

- Thiết kế giao diện với tính đúng đắn:

Hình 4.23: Đối tượng trên màn hình Quản lý tài khoản Ý nghĩa: Hiển thị các option quản lý cho user

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

3 Xem thông tin cá nhân Thẻ span

5 Đối mật khẩu Thẻ span

7 Lịch sử mua hàng Thẻ span

9 Danh sách sản phẩm yêu thích Thẻ span

Bảng 4.18: Bảng mô tả đối tượng màn hình Quản lý tài khoản

Hình 4.24: Xử lý trên màn hình Quản lý tài khoản

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

1 Đi đến trang thông tin cá nhân

"Xem thông tin cá nhân"

Chuyển đến trang hiển thị thông tin cá nhân

2 Đi đến trang đổi mật khẩu

Chuyển đến trang đổi mật khẩu

3 Đi đến trang lịch sử order

Chuyển đến trang hiển thị lịch sử đặt hàng các sản phẩm

4 Đi đến trang danh sách sản phẩm yêu thích

"Danh sách sản phẩm yêu thích"

Chuyển đến trang hiển thị và quản lý danh sách sản phẩm yêu thích

Bảng 4.19: Bảng mô tả xử lý trên màn hình Quản lý tài khoản

4.3.6 Màn hình thông tin cá nhân

- Thiết kế giao diện với tính đúng đắn:

Hình 4.25: Đối tượng trên màn hình Thông tin cá nhân Ý nghĩa: Hiển thị thông tin cá nhân của user

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

2, 3, 4, 5 Thông tin các trường Thẻ span

6 Nút thay đổi thông tin Button

7 Nút đổi mật khẩu Button

Bảng 4.20: Bảng mô tả đối tượng màn hình Thông tin cá nhân

Hình 4.26: Xử lý trên màn hình Thông tin cá nhân

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Load trang thông tin user

Lấy thông tin user từ CSDL ứng với Email/SDT đã lưu trữ và hiển thị lên giao diện

2 Đến trang thay đổi thông tin

Chuyển đến trang thay đổi thông tin cá nhân

3 Đến trang đổi mật khẩu

Click vào button "Đổi mật khẩu" Chuyển đến trang đổi mật khẩu

Bảng 4.21: Bảng mô tả xử lý trên màn hình Thông tin cá nhân

4.3.7 Màn hình Thay đổi thông tin cá nhân

- Thiết kế giao diện với tính đúng đắn:

Hình 4.27: Đối tượng trên màn hình Thay đổi thông tin cá nhân Ý nghĩa: Thay đổi thông tin cá nhân của user

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

3, 5, 7, 9 Input nhập các trường Thẻ input

Combobox chọn ngày tháng năm sinh Thẻ select

14 Nút lưu thông tin Button

15 Nút hủy cập nhật thông tin Button

Bảng 4.22: Bảng mô tả đối tượng màn hình Thay đổi thông tin cá nhân

Hình 4.28: Xử lý trên màn hình Thay đổi thông tin cá nhân

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

"Thay đổi thông tin" từ trang thông tin user

Lấy thông tin user từ CSDL ứng với Email/SDT đã lưu trữ và hiển thị lên giao diện

Cập nhật thông tin cá nhân

Nếu bạn điền đầy đủ các trường thông tin, dữ liệu cá nhân của bạn sẽ được cập nhật vào cơ sở dữ liệu và hiển thị trên trang xem thông tin cá nhân với thông tin mới Ngược lại, hệ thống sẽ yêu cầu bạn hoàn thành các trường cần thiết.

Hủy lưu thông tin cá nhân

Click vào button "Đổi mật khẩu"

Quay về trang hiển thị thông tin cá nhân

Bảng 4.23: Bảng mô tả xử lý trên màn hình Thay đổi thông tin cá nhân

4.3.8 Màn hình Đổi mật khẩu

- Thiết kế giao diện với tính đúng đắn:

Hình 4.29: Đối tượng trên màn hình Đổi mật khẩu Ý nghĩa: Dùng để thay đổi mật khẩu đăng nhập của user

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

Input nhập mật khẩu, xác nhận mật khẩu Thẻ input

8 Nút lưu mật khẩu Button

Bảng 4.24: Bảng mô tả đối tượng màn hình Đổi mật khẩu

Hình 4.30: Xử lý trên màn hình Quên mật khẩu

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Khi mật khẩu cũ không đúng hoặc mật khẩu mới và xác nhận mật khẩu mới không khớp thì hệ thống sẽ yêu cầu bạn nhập lại

Nếu mật khẩu cũ và mật khẩu mới được xác nhận chính xác, hệ thống sẽ mã hóa mật khẩu mới, cập nhật vào cơ sở dữ liệu và thông báo cho người dùng rằng việc đổi mật khẩu đã thành công.

Bảng 4.25: Bảng mô tả xử lý trên màn hình Đổi mật khẩu

4.3.9 Màn hình Quản lý danh sách sản phẩm yêu thích

- Thiết kế giao diện với tính đúng đắn:

Màn hình Quản lý danh sách sản phẩm yêu thích cho phép người dùng xem và xóa các sản phẩm trong danh sách yêu thích của mình.

STT Tên đối tượng Kiểu Ghi chú

2 Bảng danh sách sản phẩm yêu thích Thẻ table

3 Hình sản phẩm Thẻ img

4 Nút xóa sản phảm khỏi danh sách Button

5 Danh sách trang Thẻ ul, li, a

6 Nhãn hiển thị số sản phẩm Thẻ a

Bảng 4.26: Bảng mô tả đối tượng màn hình Quản lý danh sách sản phẩm yêu thích

Hình 4.32: Xử lý trên màn hình Quản lý danh sách sản phẩm yêu thích

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Lấy danh sách sản phẩm yêu thích

Load trang sản phẩm yêu thích

Lấy và hiển thị danh sách sản phẩm yêu thích của user từ CSDL

Xóa sản phẩm khỏi danh sách yêu thích

Click vào nút "Xóa" hoặc nút "x"

Xóa sản phẩm được chọn khỏi danh sách các sản phẩm yêu thích của user

3 Đến trang chi tiết sản phẩm

Click vào hình hoặc tên của sản phẩm

Lưu id của sản phẩm ở local và chuyển đến trang chi tiết sản phẩm

Click vào số thứ tự trang

Lấy dữ liệu phân theo trang và hiển thị lên giao diện

Bảng 4.27: Bảng mô tả xử lý trên màn hình Quản lý danh sách sản phẩm yêu thích

4.3.10 Màn hình Lịch sử đơn hàng

- Thiết kế giao diện với tính đúng đắn:

Màn hình Lịch sử đơn hàng hiển thị danh sách các đơn hàng của người dùng, cho phép họ lọc theo ngày hoặc hủy đơn hàng khi cần thiết.

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

2, 3 Option lọc đơn hàng theo ngày Thẻ input radio

4 Input nhập ngày Thẻ Input

5 Thông tin đơn hàng Thẻ span

6 Trạng thái đơn hàng Thẻ span

7 Nút hủy đơn hàng Button

8 Nút thu nhỏ thông tin đơn hàng Button

9 Hình ảnh sản phẩm Thẻ img

12, 13 Thông tin về sản phẩm Thẻ span

14 Nút hủy sản phẩm khỏi đơn hàng Button

15, 16, 17 Thông tin về đơn hàng Thẻ span

Bảng 4.28: Bảng mô tả đối tượng màn hình Lịch sử đơn hàng

Hình 4.34: Xử lý trên màn hình Lịch sử đơn hàng

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Lấy danh sách đơn hàng

Load trang đơn hàng hoặc tick vào radio

Lấy tất cả đơn hàng của user và hiển thị lên giao diện

Lấy danh sách đơn hàng theo ngày

Tick chọn radio "Ngày cụ thể" và chọn ngày cụ thể

Lấy danh sách đơn hàng theo ngày đã chọn và hiển thị lên giao diện

Nếu còn thời hạn hủy hệ thống sẽ hủy tất cả các sản phẩm trong đơn hàng, ngược lại thông báo hủy không thành công

Hủy sản phẩm trong đơn hàng

"Hủy" ngay sản phẩm muốn hủy

Cập nhật trạng thái "Canceled" tại sản phẩm đã chọn hủy trong đơn hàng, cập nhật lại tiền đơn hàng

Bảng 4.29: Bảng mô tả xử lý trên màn hình Lịch sử đơn hàng

4.3.11 Màn hình Danh mục sản phẩm

- Thiết kế giao diện với tính đúng đắn:

Màn hình Danh mục sản phẩm hiển thị tất cả các sản phẩm có sẵn, cho phép người dùng tùy chọn chế độ hiển thị và lọc sản phẩm theo nhiều tiêu chí khác nhau.

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Tiêu đề lọc sản phẩm Thẻ h2

2 Tiêu đề điều kiện lọc Thẻ span

3 Tiêu đề lọc theo giá Thẻ span

4 Option giá sản phẩm Thẻ input radio

5 Hình danh mục sản phảm Thẻ img

6 Tên danh mục sản phẩm Thẻ h2

7 Số lượng sản phẩm của danh mục Thẻ span

8 Tiêu đề lọc theo giá Thẻ h2

9 Option size sản phẩm Thẻ input radio

10 Tiêu đề lọc theo màu sắc Thẻ h2

11 Option màu sắc sản phẩm Thẻ input radio

12 Combobox sắp xếp sản phẩm Thẻ select

13 Tiêu đề xem sản phẩm Thẻ span

16 Hình sản phẩm Thẻ img

18 Giá sản phẩm Thẻ span

Bảng 4.30: Bảng mô tả đối tượng màn hình Danh mục sản phẩm

Hình 4.36: Xử lý trên màn hình Danh mục sản phẩm

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Hệ thống sẽ lọc lại CSDL của category hiện tại theo khoảng giá mà được lựa chọn và hiển thị trên giao diện

Hệ thống sẽ lọc lại CSDL của category hiện tại theo size mà người dùng lựa chọn và hiển thị trên giao diện

Hệ thống sẽ lọc lại CSDL của category hiện tại theo màu sắc mà người dùng lựa chọn và hiển thị trên giao diện

Thay đổi giá trị của combobox sắp xếp

Hệ thống sẽ sắp xếp lại CSDL theo thứ tự mà người dùng lựa chọn và hiển thị lại giao diện

Hiển thị sản phẩm ở dạng Gird

Click vào icon "Gird" Hiển thị các sản phẩm dạng Gird

Hiển thị sản phẩm ở dạng List

Click vào icon "List" Hiển thị các sản phẩm dạng List

7 Đến trang chi tiết sản phẩm

Click vào hình ảnh hoặc tên sản phẩm

Lưu id sản phẩm tương ứng và chuyển đến trang chi tiết sản phẩm

Bảng 4.31: Bảng mô tả xử lý trên màn hình Danh mục sản phẩm

4.3.12 Màn hình Chi tiết sản phẩm

- Thiết kế giao diện với tính đúng đắn:

Hình 4.37 hiển thị chi tiết thông tin sản phẩm, cho phép người dùng xem, đánh giá và bình luận về sản phẩm Người dùng có thể dễ dàng đưa ra ý kiến và góp ý nếu muốn.

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Hình sản phẩm Thẻ img

2 Nút phóng to hình sản phẩm Button

3 Hình sản phẩm thu nhỏ Thẻ img

5 Nút share sản phẩm lên Facebook Button

6 Giá sản phẩm Thẻ span

7 Tiêu đề mô tả sản phẩm Thẻ p

8 Mô tả sản phẩm Thẻ p

9 Số lượng sản phẩm có sẵn Thẻ p

10 Nút thêm/xóa sản phẩm khỏi danh sách yêu thích Button

11 Tiêu đề số lượng sản phẩm Thẻ p

12 Input số lượng sản phẩm Thẻ input

13 Nút tăng số lượng sản phẩm Button

14 Nút giảm số lượng sản phẩm Button

15 Tiêu để size sản phẩm Thẻ p

17 Tiêu đề màu sắc sản phẩm Thẻ p

18 Option chọn màu sắc Thẻ input radio

19 Nút thêm sản phẩm vào giỏ hàng Button

20 Tiêu đề sản phẩm đã xem Thẻ h2

21 Hình sản phẩm đã xem Thẻ img

22 Tiêu đề sản phẩm đã xem Thẻ a

23 Mô tả sản phẩm đã xem Thẻ p

24 Nhãn số sao Thẻ div

25 Thanh biểu diễn phần trăm sao Thẻ div

26 Số lượng sao Thẻ div

27 Sao đánh giá React Component

28 Nút đánh giá sao Button

29 Bình luận về sản phẩm Thẻ textarea

30 Nút thêm hình ảnh cho bình luận Button

32 Tiêu đề form Thẻ span

33 Thông tin về tài khoản và thời gian bình luận Thẻ span

34 Thông tin về bình luận Thẻ span

Bảng 4.32: Bảng mô tả đối tượng màn hình Chi tiết sản phẩm

Hình 4.38: Xử lý trên màn hình Chi tiết sản phẩm

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

1 Load thông tin chi tiết

Click vào hình, tên sản phẩm hoặc

Từ id sản phẩm đã lưu, lấy thông tin sản phẩm từ CSDL và hiển thị lên trang chi tiết sản phẩm

91 của sản phẩm click vào liên kết được share

Click vào icon kích lúp

Phóng to hình ảnh của sản phẩm

Thêm sản phẩm vào danh sách yêu thích

"Thêm vào danh sách yêu thích"

Thêm sản phẩm được hiển thị vào danh sách yêu thích

Giảm số lượng sản phẩm order

Giảm số lượng sản phẩm được hiển thị 1 đơn vị

Tăng số lượng sản phẩm order

Tăng số lượng sản phẩm được hiển thị 1 đơn vị

Thay đổi size sản phẩm

Thay đổi giá trị trong combobox size

Size mới sẽ được cập nhật, option màu sắc tương ứng với size được thay đổi theo

Thay đổi màu sản phẩm

Thay đổi màu sắc trong option color

Màu sắc sản phẩm sẽ được cập nhật

Thêm sản phẩm vào giỏ hàng

Thêm sản phẩm vào giỏ hàng với size, màu sắc được chọn từ user

9 Đến trang chi tiết sản phẩm

Click vào hình ảnh/tên từ sản phẩm liên quan

Lưu lại id sản phẩm được chọn và load lại trang chi tiết sản phẩm

10 Đánh giá sao sản phảm

Click vào nút "Đánh giá"

Nhận số sao mà người dùng đã chọn mà lưu vào CSDL, sau đó cập nhật đánh giá của user lại trên giao diện

Click vào nút "Thêm hình ảnh" Hiển thị form thêm hình ảnh

Load trang chi tiết sản phẩm

Lấy tất cả bình luận và trả lời của sản phẩm và hiển thị trên giao diện

Click vào nút "Bình luận"

Lưu nội dung và hình ảnh mà user bình luận vào CSDL và hiển thị lại trên giao diện

Bảng 4.33: Bảng mô tả xử lý trên màn hình Chi tiết sản phẩm

- Thiết kế giao diện với tính đúng đắn:

Đối tượng trên màn hình liên hệ cung cấp thông tin chi tiết cho người dùng website, giúp họ dễ dàng kết nối với đội ngũ quản lý để giải quyết các vấn đề cần thiết.

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Bản đồ kho hàng Thẻ iframe

Nhãn form gửi liên hệ

5, 6, 8 Input form gửi liên hệ Thẻ input

10 Texarea nhập nội dung liên hệ Thẻ textarea

11 Nút gửi nội dung liên hệ Thẻ button

12 Nhãn thông tin liên hệ Thẻ h3, b

Các icon vị trí, điện thoại, email

Thông tin vị trí, số điện thoại, địa chỉ email Thẻ p

Bảng 4.34: Bảng mô tả đối tượng màn hình Liên hệ

Hình 4.40: Xử lý trên màn hình Liên hệ

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Gửi nội dung liên hệ

Nhấn vào nút Gửi trên form liên hệ

Lưu vào CSDL và thông báo đến quản trị viên

Bảng 4.35: Bảng mô tả xử lý trên màn hình Liên hệ

4.3.14 Màn hình Tìm kiếm sản phẩm

- Thiết kế giao diện với tính đúng đắn:

Màn hình Tìm kiếm sản phẩm hiển thị danh sách các sản phẩm phù hợp với từ khóa mà người dùng đã nhập, giúp người dùng dễ dàng tìm kiếm và lựa chọn sản phẩm mong muốn.

STT Tên đối tượng Kiểu Ghi chú

1 Tiêu đề tìm kiếm sản phẩm Thẻ h2

2 Trạng thái sản phẩm Thẻ a

3 Hình sản phẩm Thẻ img

5 Giá sản phẩm Thẻ span

Bảng 4.36: Bảng mô tả đối tượng màn hình Tìm kiếm sản phẩm

Hình 4.42: Xử lý trên màn hình Tìm kiếm sản phẩm

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Lấy danh sách sản phẩm

Lấy danh sách sản phẩm khớp với từ khóa đã search từ CSDL và hiển thị lên giao diện

2 Đến trang chi tiết sản phẩm

Click vào hình ảnh hoặc tên sản phẩm

Lưu id sản phẩm local và chuyển đến trang chi tiết sản phẩm

Bảng 4.37: Bảng mô tả xử lý trên màn hình Tìm kiếm sản phẩm

- Thiết kế giao diện với tính đúng đắn:

Hình 4.43: Đối tượng trên màn hình Tin nhắn Ý nghĩa: Hiển thị danh sách tin nhắn, xem chi tiết tin nhắn

Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Bảng tin nhắn Thẻ table

2 Nút xem chi tiết tin nhắn Button + Thẻ i

3 Thời gian tin nhắn Thẻ h3

4 Tiêu đề nội dung tin nhắn Thẻ label

5 Nội dung tin nhắn Thẻ textarea

Bảng 4.38: Bảng mô tả đối tượng màn hình Tin nhắn

Hình 4.44: Xử lý trên màn hình Tin nhắn

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

Lấy danh sách tin nhắn

Truy cập/load trang tin nhắn Lấy tin nhắn từ CSDL và hiển thị lên giao diện

Hiển thị chi tiết nội dung tin nhắn

Click vào button icon kính lúp

Hiển thị chi tiết nội dung tin nhắn được chọn

Bảng 4.39: Bảng mô tả xử lý trên màn hình Tin nhắn

- Thiết kế giao diện với tính đúng đắn:

Hình 4.45: Đối tượng trên màn hình Giỏ hàng

97 Ý nghĩa: Hiển thị danh sách sản phẩm đã được thêm vào giỏ hàng, tổng tiền sản phẩm Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Tiêu đề form Thẻ img

2 Số lượng sản phẩm Thẻ a

3 Hình sản phẩm Thẻ img

4, 5, 6 Thông tin size, màu sắc sản phẩm Thẻ a

7 Nút xóa sản phẩm khỏi giỏ hàng Button

8 Tiêu đề tổng tiền sản phẩm Thẻ span

9 Tổng tiền sản phẩm Thẻ span

10 Link đến trang thanh toán Thẻ a

Bảng 4.40: Bảng mô tả đối tượng màn hình Giỏ hàng

Hình 4.46: Xử lý trên màn hình Giỏ hàng

STT Tên xử lý Điều kiện gọi thực hiện

Xóa sản phẩm khỏi giỏ hàng

Xóa sản phẩm khỏi giỏ hàng trong CSDL và cập nhật lại giỏ hàng trên giao diện

Chuyển đến trang thanh toán các sản phẩm có trong giỏ hàng

Bảng 4.41: Bảng mô tả xử lý trên màn hình Giỏ hàng

4.3.17 Màn hình Xác nhận đơn hàng và thanh toán

- Thiết kế giao diện với tính đúng đắn:

Hình 4.47: Đối tượng trên màn hình Xác nhận đơn hàng và thanh toán

101 Ý nghĩa: Hiển thị các bước để người dùng xác nhận hoặc có thể thanh toán hóa đơn Các đối tượng trong màn hình:

STT Tên đối tượng Kiểu Ghi chú

1 Các bước thanh toán (Timeline) Thẻ ul, li, span

2 Bảng danh sách sản phẩm trong giỏ hàng Thẻ table

3 Hình sản phẩm Thẻ img

4 Combobox chọn size sản phẩm Thẻ select

5 Input số lượng Thẻ input number

6 Nút xóa sản phẩm Thẻ a, i

7 Nút chọn mã giảm giá Button

8 Nút quay lại trang mua hàng Button

Nút tiếp tục thanh toán

10 Tiêu đề danh sách mã giảm giá Thẻ span

11 Bảng danh sách mã giảm giá Thẻ table

12 Nút áp dụng mã giảm giá Button

13 Nút đóng modal mã giảm giá Button

Tiêu để thông tin địa chỉ khách hàng

Input nhập thông tin địa chỉ khách hàng Thẻ input

18 Tổng tiền vận chuyển Thẻ td

19 Tiêu đề tổng tiền Thẻ td, span

20 Tổng số tiền sản phẩm Thẻ td, span

23 Thông tin tên, số điện thoại khách hàng Thẻ b

24 Tổng giá tiền đơn hàng Thẻ b

25 Thông tin địa chỉ khách hàng Thẻ b

26 Thông tin địa chỉ kho hàng Thẻ b

27 Khoảng cách vận chuyển Thẻ b

29 Tổng tiền bao gồm phí ship Thẻ b

30 Tiêu đề danh sách sản phẩm Thẻ h3, b

31 Bảng danh sách sản phẩm Thẻ table

32 Nút hủy mua hàng Button

34 Tiêu đề hình thức xác nhận đơn hàng Thẻ h4

35 Option xác nhận qua email Thẻ input radio

36 Option xác nhận qua SMS Thẻ input radio

38 Thông báo xác nhận qua email Thẻ p

39 Nút gửi lại email Button

40 Tiêu đề nhập số điện thoại Thẻ span

41 Input nhập số điện thoại Thẻ input

42 Nút tiếp tục xác nhận qua SMS Button

43 Thông báo xác nhận qua SMS Thẻ p

44 Input nhập mã xác nhận qua SMS Thẻ input

45 Nút xác nhận mã qua SMS Button

46 Nút gửi lại mã xác nhận qua SMS Button

47 Tiêu đề xác nhận đơn hàng thành công Thẻ h2

48 Tiêu để chọn cổng thanh toán online Thẻ span

49 Nút thanh toán qua PayPal Button

50 Nút thanh toán qua Stripe Button

51 Nút thanh toán qua VNPAY Button

52 Nút thanh toán qua ZaloPay Button

53, 56 Tiêu đề cảm ơn Thẻ p

54 Tiêu đề thanh toán online thành công Thẻ h2

55 Tiêu đề thông báo cổng thanh toán online Thẻ p

Bảng 4.42: Bảng mô tả đối tượng màn hình Xác nhận đơn hàng và thanh toán

Hình 4.48: Xử lý trên màn hình Xác nhận đơn hàng và đơn hàng

STT Tên xử lý Điều kiện gọi thực hiện Mô tả Ghi chú

1 Load sản phẩm Chọn vào

Load các sản phẩm đã được add vào giỏ hàng bởi user và hiển thị lên giao diện

Thay đổi size sản phẩm

Thay đổi giá trị trong combobox size

Size mới sẽ được cập nhật, option màu sắc tương ứng với size được thay đổi theo

Thay đổi màu sản phẩm

Thay đổi màu sắc trong option color

Màu sắc sản phẩm sẽ được cập nhật

Thay đổi số lượng sản phẩm

Gõ số hoặc click mũi tên lên xuống

Số lượng thay đổi, tổng tiền từng sản phẩm và tổng tiền của tất cả sản phẩm sẽ được cập nhật lại

Click vào icon "Trash" Sản phẩm sẽ được xóa khỏi giỏ hàng

Hiển thị form chứa danh sách các voucher mà user đang sở hữu

Hiển thị form địa chỉ

Click vào button "Tiếp tục thanh toán"

Chuyển sang form nhập thông tin, địa chỉ giao hàng của user

Cập nhật voucher đã sử dụng, cập nhật lại tiền đơn hàng

"Đóng" hoặc nút "x" Đóng form voucher và hiển thị lại form tổng kết đơn hàng

Load thông tin giao hàng của user

Khi form Thông tin, địa chỉ hiển thị

Lấy thông tin user và địa chỉ (nếu có) hiển thị lên giao diện, user có thể điều chỉnh lại các thông tin này

User thay đổi địa chỉ tại trường địa chỉ

Sử dụng Google API cho phép hiển thị danh sách địa chỉ liên quan, giúp người dùng dễ dàng lựa chọn Sau khi người dùng chọn địa chỉ, bản đồ sẽ được cập nhật theo địa chỉ đã thay đổi.

Xác nhận thông tin đơn hàng

Cập nhật thông tin, địa chỉ của user lại vào user và hiển thị form xác nhận thông tin đơn hàng

Lấy thông tin đơn hàng

Khi form xác nhận thông tin đơn hàng hiển thị

CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ PHẦN MỀM

- Download và cài đặt NodeJs tại trang chủ của Nodejs: https://nodejs.org/en/download/

- Download và cài đặt MongoDB tại đây: https://www.mongodb.com/try/download/community?tck=docs_server

- Thiết lập các biến môi trường cho cả NodeJs và MongoDB

- Cài đặt Git (tùy chọn)

5.1.2.1 Import cơ sở dữ liệu

+ chats: chứa thông tin chat giữa user và admin

+ messages: chứa nội dung tin nhắn admin gửi thông báo đến các user

+ orders: chứa thông tin đơn hàng khi user mua hàng

+ productcategories: chứa thông tin danh mục sản phẩm

+ products: chứa thông tin chi tiết của các sản phẩm

+ statistics: chứa thông tin thống kê sản phẩm theo ngày

+ users: chứa thông tin cá nhân người dùng Để import cơ sở dữ liệu ta thực hiện:

 Dùng lệnh sau để import tất cả collection mongorestore -d ten_CSDL duong_dan_den_CSDL

Ví dụ: mongorestore -d shoelg D:\database

5.1.2.2 Chuẩn bị project và thiết lập trên IDE

- Project có thể lấy trong thư mục đính kèm hoặc clone hay download từ github

- Cách clone project từ github:

+ Đầu tiên, vào thư mục để chứa project sau khi clone về

+ Nhấn Shift + click chuột phải, sau đó chọn Open command window here thì cửa số cmd xuất hiện

+ Gõ lệnh có cú pháp như sau: git clone , cụ thể cú pháp cho proejct: git clone https://github.com/thanhgiau2604/TLCN

- Sau khi có sẵn project, chúng ta mở project trên IDE, IDE phổ biến thường dùng là Microsoft Visual Studio Code

To set up your project, open the command prompt in the project directory or use the Microsoft Visual Studio Code IDE by pressing Ctrl + ` to access the command line Then, type the command: npm install to install the necessary packages for your project, ensuring you have an active internet connection.

- Sau khi cài đặt các package xong, bước cuối cùng là ta chạy server, mở browser và truy cập website

- Tại command line, ta gõ lệnh npm start để chạy server

Sau khi server hoạt động thành công, bạn hãy mở một trong các trình duyệt như Chrome, Firefox hoặc Cốc Cốc và nhập địa chỉ URL: http://localhost:3000 để truy cập vào website.

5.2.1 Chiến lược và kế hoạch kiểm thử

Để xây dựng kế hoạch kiểm thử hoàn chỉnh, việc đề ra chiến lược kiểm thử là rất quan trọng nhằm đảm bảo sản phẩm đáp ứng đầy đủ yêu cầu thiết kế về giao diện và chức năng.

- Chiến lược kiểm thử sẽ bao gồm một số hoạt động như:

+ Xác định phạm vi kiểm thử của phần mềm

Để đảm bảo chất lượng sản phẩm phần mềm, việc nhận diện các rủi ro và yếu tố bất ngờ là rất quan trọng Đồng thời, cần xây dựng một lịch kiểm thử chi tiết dành cho từng thành viên trong nhóm, giúp tối ưu hóa quy trình kiểm thử và nâng cao hiệu quả làm việc.

+ Xác định được môi trường kiểm thử

Các test case sẽ được soạn thảo và phân loại theo từng kỹ thuật kiểm thử trong file Excel, từ đó giúp phân công công việc hiệu quả giữa các thành viên trong nhóm.

- Các thành viên tuân theo lịch kiểm thử đã thực hiện sẵn, tiến thành kiểm thử và thực hiện lập báo cáo về kết quả kiểm thử

Sau khi nhận được kết quả kiểm thử từ tất cả các thành viên, nhóm sẽ tiến hành lập lịch phân công sửa lỗi, ưu tiên các lỗi quan trọng trước Quá trình này sẽ được lặp lại cho đến khi nhóm đạt được mục tiêu kiểm thử đã đề ra.

5.2.2 Một số kỹ thuật kiểm thử dùng trong dự án Đối với mỗi chức năng, ta cần triển khai các kỹ thuật kiểm thử như:

1 Kiểm thử giao diện người dùng (UI Testing): Ở loại kiểm thử này, ta sẽ tập trung kiểm thử về sự đúng đắn của các đối tượng có trên giao diện như: button, checkbox, input, link, combobox, … về kích thước, vị trí, màu sắc, …

2 Kiểm thử chức năng (Functional Testing): Đối với việc kiểm thử chức năng ta sẽ kiểm thử với nhiều bộ dữ liệu do chúng ta tạo ra bằng việc sử dụng một số phương pháp kiểm thử như: Kiểm thử giá trị biên, lớp tương đương, bảng quyết định, …

4 Kiểm thử việc tương thích với trình duyệt (Browser compatibility Testing): sử dụng các loại trình duyệt phổ biến khác nhau như: IE, Chrome, Firefox, Cốc Cốc để xem và đánh giá

- Quy trình kiểm thử được thực hiện theo 8 bước:

1 Chuẩn bị chiến lược kiểm thử (Preparing the test strategy)

Trong giai đoạn tiếp cận ban đầu, việc xác định chiến lược kiểm thử là rất quan trọng Tùy thuộc vào yêu cầu của khách hàng, cần ưu tiên kiểm thử các nội dung theo thứ tự hợp lý Đặt câu hỏi về việc "Kiểm thử cái gì?" và "Kiểm thử như thế nào?" là cần thiết để định hướng cho quy trình kiểm thử hiệu quả.

2 Chuẩn bị kế hoạch kiểm thử (Preparing the test plan)

Bước tiếp theo trong quy trình kiểm thử là lập kế hoạch chi tiết, trong đó cần xác định và phân chia hợp lý thời gian, nhân sự cũng như các công cụ sẽ được sử dụng cho từng chức năng.

3 Chuẩn bị môi trường kiểm thử (Preparing the test environment) Ở bước này bạn cần phải chuẩn bị môi trường, nền tảng cho công việc kiểm thử phần mềm của mình gồm: Hệ điều hành (win 7, win 8, linux, IOS…), Trình duyệt (IE, Safari, Opera…), thiết bị (Moblie, tablet, deskop…)

4 Viết test cases (Write test cases)

Design test case lists based on functional and non-functional requirements, including UI, functional, field validation, browser compatibility, and performance, as outlined in the previously established testing plan.

5 Thực thi test cases (Executing the test cases)

Tiến hành thực thi các trường hợp trong testcase/test scripts để thực hiện kiểm thử, đồng thời có thể cập nhật thêm một số trường hợp cần thiết hoặc những trường hợp phát sinh mới.

6 Phân tích kết quả kiểm thử (Analyzing the results)

Phân tích kết quả đã kiểm thử để tìm hiểu nguyên nhân gây lỗi, đồng thời định hướng cách khắc phục và sau đó tiến hành sửa các lỗi

7 Thực hiện kiểm thử hồi quy (Doing regression testing)

Kiểm thử hồi quy các lỗi đã được sửa

8 Kết thúc kiểm thử (Test exiting)

Khi tất cả các testcase đều đã được thông qua hoặc chỉ còn lại những lỗi nhỏ không ảnh hưởng đáng kể đến yêu cầu đặc tả của phần mềm, quá trình kiểm thử sẽ được coi là hoàn tất.

5.2.4.1 Test case màn hình đăng nhập

Hình 5.2: Test case màn hình Đăng nhập

5.2.4.2 Test case màn hình quên mật khẩu

Hình 5.3: Test case màn hình Quên mật khẩu

5.2.4.3 Test case màn hình trang chủ user

Hình 5.4: Test case màn hình Trang chủ user

5.2.4.4 Test case màn hình chi tiết sản phẩm

Hình 5.5: Test case màn hình Chi tiết sản phẩm

5.2.4.5 Test case màn hình danh mục sản phẩm

Hình 5.6: Test case màn hình Danh mục sản phẩm

5.2.4.6 Test case màn hình lịch sử đơn hàng

Hình 5.7: Test case màn hình Lịch sử đơn hàng

5.2.4.7 Test case màn hình thanh toán

Hình 5.8: Test case màn hình Thanh toán

5.2.4.8 Test case màn hình thống kê

Hình 5.9: Test case màn hình Thống kê

Ngày đăng: 25/11/2021, 11:30

HÌNH ẢNH LIÊN QUAN

Hình 1.14: Trang mua sản phẩm website buywholesalefootwear.com - Ứng dụng mern stack xây dựng wesite bán giày
Hình 1.14 Trang mua sản phẩm website buywholesalefootwear.com (Trang 20)
Hình 1.15: Trang thanh toán sản phẩm website buywholesalefootwear.com 1.1.4. Website https://www.adidas.com  - Ứng dụng mern stack xây dựng wesite bán giày
Hình 1.15 Trang thanh toán sản phẩm website buywholesalefootwear.com 1.1.4. Website https://www.adidas.com (Trang 20)
Hình 3.1: Lượt đồ Use case chung của website - Ứng dụng mern stack xây dựng wesite bán giày
Hình 3.1 Lượt đồ Use case chung của website (Trang 41)
3.2. MÔ HÌNH HÓA YÊU CẦU - Ứng dụng mern stack xây dựng wesite bán giày
3.2. MÔ HÌNH HÓA YÊU CẦU (Trang 41)
Hình 3.10: Lượt đồ chi tiết Use case Quản lý User - Ứng dụng mern stack xây dựng wesite bán giày
Hình 3.10 Lượt đồ chi tiết Use case Quản lý User (Trang 44)
Hình 4.15: Đối tượng trên màn hình Đăng nhập - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.15 Đối tượng trên màn hình Đăng nhập (Trang 71)
4.3.1. Màn hình đăng nhập - Ứng dụng mern stack xây dựng wesite bán giày
4.3.1. Màn hình đăng nhập (Trang 71)
Bảng 4.13: Bảng mô tả xử lý trên màn hình Đăng ký - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.13 Bảng mô tả xử lý trên màn hình Đăng ký (Trang 74)
Bảng 4.15: Bảng mô tả xử lý trên màn hình Quên mật khẩu 4.3.4. Màn hình trang chủ - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.15 Bảng mô tả xử lý trên màn hình Quên mật khẩu 4.3.4. Màn hình trang chủ (Trang 77)
Hình 4.22: Xử lý trên màn hình Trang chủ - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.22 Xử lý trên màn hình Trang chủ (Trang 80)
Bảng 4.25: Bảng mô tả xử lý trên màn hình Đổi mật khẩu - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.25 Bảng mô tả xử lý trên màn hình Đổi mật khẩu (Trang 89)
Hình 4.32: Xử lý trên màn hình Quản lý danh sách sản phẩm yêu thích - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.32 Xử lý trên màn hình Quản lý danh sách sản phẩm yêu thích (Trang 91)
Bảng 4.34: Bảng mô tả đối tượng màn hình Liên hệ - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.34 Bảng mô tả đối tượng màn hình Liên hệ (Trang 102)
- Thiết kế xử lý: - Ứng dụng mern stack xây dựng wesite bán giày
hi ết kế xử lý: (Trang 111)
10 Bảng danh sách user Thẻ table - Ứng dụng mern stack xây dựng wesite bán giày
10 Bảng danh sách user Thẻ table (Trang 118)
Bảng 4.46: Bảng mô tả đối tượng màn hình Quản lý user - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.46 Bảng mô tả đối tượng màn hình Quản lý user (Trang 121)
Hình 4.56: Xử lý trên màn hình Sửa user - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.56 Xử lý trên màn hình Sửa user (Trang 124)
Chọn hình ảnh cần thêm, ảnh sẽ được load lên giao diện.  - Ứng dụng mern stack xây dựng wesite bán giày
h ọn hình ảnh cần thêm, ảnh sẽ được load lên giao diện. (Trang 128)
Hình 4.64: Xử lý trên màn hình Xác nhận xóa - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.64 Xử lý trên màn hình Xác nhận xóa (Trang 132)
Bảng 4.59: Bảng mô tả xử lý trên màn hình Xác nhận xóa 4.3.26. Màn hình Quản lý danh mục sản phẩm - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.59 Bảng mô tả xử lý trên màn hình Xác nhận xóa 4.3.26. Màn hình Quản lý danh mục sản phẩm (Trang 132)
Bảng 4.60: Bảng mô tả đối tượng màn hình Quản lý danh mục sản phẩm - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.60 Bảng mô tả đối tượng màn hình Quản lý danh mục sản phẩm (Trang 133)
5 Hình ảnh của category Thẻ img - Ứng dụng mern stack xây dựng wesite bán giày
5 Hình ảnh của category Thẻ img (Trang 135)
Bảng 4.69: Bảng mô tả xử lý trên màn hình Quản lý đơnhàng - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.69 Bảng mô tả xử lý trên màn hình Quản lý đơnhàng (Trang 142)
Bảng 4.74: Bảng mô tả đối tượng màn hình Quản lý tin nhắn - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.74 Bảng mô tả đối tượng màn hình Quản lý tin nhắn (Trang 146)
Hình 4.81: Đối tượng trên màn hình Thêm tin nhắn - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.81 Đối tượng trên màn hình Thêm tin nhắn (Trang 147)
Hình 4.83: Đối tượng trên màn hình Chat - Ứng dụng mern stack xây dựng wesite bán giày
Hình 4.83 Đối tượng trên màn hình Chat (Trang 148)
Bảng 4.79: Bảng mô tả xử lý trên màn hình Chat - Ứng dụng mern stack xây dựng wesite bán giày
Bảng 4.79 Bảng mô tả xử lý trên màn hình Chat (Trang 149)
5.2.4.2. Testcase màn hình quên mật khẩu - Ứng dụng mern stack xây dựng wesite bán giày
5.2.4.2. Testcase màn hình quên mật khẩu (Trang 155)
5.2.4.6. Testcase màn hình lịch sử đơnhàng - Ứng dụng mern stack xây dựng wesite bán giày
5.2.4.6. Testcase màn hình lịch sử đơnhàng (Trang 159)

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w