(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)

207 1 0
(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)

Đ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

(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)(Đồ án tốt nghiệp) Xây dựng website bán sách trên nền tảng Mean Stack (Recommendation system)

TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT THÀNH PHỐ HỒ CHÍ MINH KHOA ĐÀO TẠO CHẤT LƯỢNG CAO ĐỒ ÁN TỐT NGHIỆP XÂY DỰNG WEBSITE BÁN SÁCH TRÊN NỀN TẢNG MEAN STACK (RECOMMENDATION SYSTEM) SVTH : NGUYỄN ĐỨC HẬU MSSV : 16110069 SVTH : TRƯƠNG THÁI TUẤN MSSV : 16110249 Khố: 16 Ngành: CƠNG NGHỆ THƠNG TIN GVHD: TS LÊ VĨNH THỊNH Tp Hồ Chí Minh, ngày 01 tháng 07 năm 2020 Báo cáo đồ án tốt nghiệp LỜI CẢM ƠN Lời đầu tiên, cho phép nhóm em gửi lời cảm ơn chân thành đến thầy Lê Vĩnh Thịnh, người phụ trách hướng dẫn nhóm chúng em việc thực hoàn thành báo cáo cách tốt hiệu Những sự dạy, nhật xét, đóng góp ý kiến từ thầy góp phần quan trọng việc giúp chúng em hoàn hành đề tài cách hoàn thiện Cảm ơn thầy cô khoa Công Nghệ Thông Tin ln nhiệt tình, cống hiến, tận tình giải đáp thắc mắc chúng em Bên cạnh đó, chúng em xin cảm ơn bạn khóa, anh chị khóa khơng ngần ngại chia sẻ thơng tin, kinh nghiệm bổ ích giúp chúng em hồn thiện đề tài Báo cáo thực khoảng thời gian có hạn, với hạn chế mặt kiến thức nên việc sai sót điều khơng thể tránh khỏi q trình thực Chúng em kính mong nhận lời nhận xét, ý kiến đóng góp quý báo từ quý Thầy Cơ để chúng em có thêm kinh nghiệm hoàn thành tốt đề tài sau Chúng em xin chân thành cảm ơn ! i Báo cáo đồ án tốt nghiệp MỤC LỤC LỜI CẢM ƠN I ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP X DANH MỤC HÌNH ẢNH XV DANH MỤC BẢNG XIX DANH MỤC TỪ VIẾT TẮT XXIII CHƯƠNG 1: TỔNG QUAN 1.1 TÍNH CẤP THIẾT CỦA ĐỀ TÀI 1.2 MỤC ĐÍCH CỦA ĐỀ TÀI 1.3 ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU 1.4 KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan MEAN Stack [1][2][3] 2.1.1 Khái niệm MEAN Stack 2.1.2 Các thành phần MEAN stack 2.1.3 Cách thức MEAN stack hoạt động 2.1.4 Lợi MEAN stack 2.2 NodeJS 2.2.1 Tổng quan [4] 2.2.2 Nguyên tắc hoạt động 2.2.3 Ưu điểm 2.2.4 Nhược điểm 2.3 ExpressJS 2.3.1 Tổng quan [6] 2.3.2 Công dụng 2.4 Angular 10 2.4.1 Tổng quan Angular [7] 10 2.4.2 Mơ hình 10 2.5 MongoDB 12 2.5.1 Mơ hình 12 2.5.2 Đặc trưng 13 2.5.3 Ưu điểm 14 2.5.4 Nhược điểm 14 2.6 Giới thiệu Recommendation System [9][10] 14 ii Báo cáo đồ án tốt nghiệp 2.6.1 Khái niệm 14 2.6.1.1 Hệ thống gợi ý dựa theo lọc cộng tác 15 2.6.1.2 Hệ thống gợi ý dựa theo nội dung 15 2.6.1.3 Hệ thống gợi ý dựa sở tri thức 16 2.6.2 So sánh phương pháp gợi ý 17 2.6.3 Lợi ích hệ thống gợi ý recommendation systems vào cửa hàng 17 CHƯƠNG 3: KHẢO SÁT HIỆN TRẠNG VÀ XÁC ĐỊNH YÊU CẦU 19 3.1 KHẢO SÁT HIỆN TRẠNG 19 3.2 XAC DỊNH YEU CẦU 23 3.3 ĐẶC TẢ CHỨC NĂNG 24 3.3.1 Bảng requirement dành cho use case 24 3.3.2 Liệt kê actor 28 3.3.3 Bảng use case 28 3.3.3.1 Use case tìm kiếm sách “Search book” 28 3.3.3.1.1 Usecase tìm sách theo tên sách 29 3.3.3.1.2 Use case tìm sách theo thể loại 29 3.3.3.1.3 Use case tìm sách theo tên tác giả 30 3.3.3.1.4 Use case tìm sách theo tên seri sách 30 3.3.3.2 Use case chọn lọc sách “Filter book” 31 3.3.3.2.1 Use case chọn lọc sách theo tên thể loại 32 3.3.3.2.2 Use case chọn lọc sách theo tên tác giả 32 3.3.3.2.3 Use case chọn lọc sách theo giá tiền 33 3.3.3.2.4 Use case chọn lọc sách theo số đánh giá 34 3.3.3.2.5 Use case chọn lọc sách giảm giá 34 3.3.3.3 Use case xem thông tin sách “View book detail” 35 3.3.3.3.1 Use case xem thông tin chi tiết sách 35 3.3.3.3.2 Use case xem bình luận đánh giá 36 3.3.3.4 Use case bình luận đánh giá “Comment and rate book” 37 3.3.3.4.1 Use case thêm bình luận đánh giá 37 3.3.3.4.2 Use case sửa bình luận đánh giá 38 3.3.3.5 Use case quản lý giỏ hàng “Manager book cart” 39 3.3.3.5.1 Use case xem sách giỏ hàng 39 3.3.3.5.2 Use case thêm sách vào giỏ hàng 40 3.3.3.5.3 Use case cập nhật giỏ hàng 41 3.3.3.5.4 Use case xóa sách giỏ hàng 42 3.3.3.6 Use case đăng ký tài khoản “Register an account” 43 iii Báo cáo đồ án tốt nghiệp 3.3.3.7 Use case đăng nhập vào tài khoản “Login an account” 45 3.3.3.7.1 Use case đăng nhập tài khoản đăng ký 45 3.3.3.7.2 Use case đăng nhập tài khoản FaceBook 47 3.3.3.7.3 Use case đăng nhập tài khoản Google 48 3.3.3.8 Use case quản lý thông tin tài khoản “View account” 49 3.3.3.8.1 Use case xem thông tin cá nhân 49 3.3.3.8.2 Use case sửa đổi thông tin cá nhân 50 3.3.3.8.3 Use case đổi mật 51 3.3.3.9 Use case toán đơn đặt hàng “Pay the order” 52 3.3.3.9.1 Use case toán đơn hàng tiền mặt 52 3.3.3.9.2 Use case toán đơn hàng ví paypal 53 3.3.3.10 Use case quản lý lịch sử đơn hàng “View order” 54 3.3.3.10.1 Use case xem thông tin chi tiết đơn hàng 54 3.3.3.10.2 Use case xóa đơn hàng 55 3.3.3.11 Use case quản lý sách yêu thích “View favorite book” 56 3.3.3.11.1 Use case yêu thích sách 56 3.3.3.11.2 Use case xóa sách danh sách u thích 57 3.3.3.12 Use case quản lý sách “Manager book” 58 3.3.3.12.1 Use case thêm sách 58 3.3.3.12.2 Use case sửa đổi thông tin sách 59 3.3.3.12.3 Use case xóa sách 60 3.3.3.12.4 Use case xem sách 61 3.3.3.13 Use case quản lý thể loại “Manager category” 62 3.3.3.13.1 Use case thêm thể loại 62 3.3.3.13.2 Use case sửa thông tin thể loại 63 3.3.3.13.3 Use case xóa thể loại 64 3.3.3.13.4 Use case xem thể loại 65 3.3.3.14 Use case quản lý tác giả “Manager author” 66 3.3.3.14.1 Use case thêm tác giả 66 3.3.3.14.2 Use case sửa thông tin tác giả 67 3.3.3.14.3 Use case xóa tác giả 68 3.3.3.14.4 Use case xem tác giả 69 3.3.3.15 Use case quản lý thông tin user “Manager user” 70 3.3.3.15.1 Use case thêm user 70 3.3.3.15.2 Use case sửa thông tin user 71 3.3.3.15.3 Use case xóa user 72 3.3.3.15.4 Use case xem thông tin user 73 iv Báo cáo đồ án tốt nghiệp 3.3.3.16 Use case quản lý đơn hàng “Manager order” 74 3.3.3.16.1 Use case xem đơn hàng 74 3.3.3.16.2 Use case xem thông tin chi tiết đơn hàng 75 3.3.3.16.3 Use case sửa trạng thái đơn hàng 75 3.3.3.16.4 Use case xóa đơn hàng 76 3.3.3.17 Use case quản lý địa giao hàng “Address shipping” 77 3.3.3.17.1 Use case thêm địa giao hàng 78 3.3.3.17.2 Use case sửa đổi thông tin địa giao hàng 78 3.3.3.17.3 Use case xóa địa giao hàng 79 3.3.3.17.4 Use case xem thông tin địa giao hàng 80 3.3.3.18 Use case xem mã giảm giá “View discount code” 81 3.3.3.19 Use case đăng xuất “Logout an account” 82 CHƯƠNG 4: THIẾT KẾ ỨNG DỤNG 83 4.1 THIẾT KẾ DỮ LIỆU 83 4.1.1 Sơ đồ thiết kế liệu 83 4.1.2 Mô tả sơ đồ thiết kế liệu 84 4.1.2.1 Collection Book 84 4.1.2.2 Collection BookCategory 84 4.1.2.3 Collection Seri 85 4.1.3.4 Collection Author 85 4.1.2.5 Collection Rate 85 4.1.2.6 Collection Rating 85 4.1.2.7 Collection CartBook 86 3.1.2.8 Collection OrderDetail 86 4.1.2.9 Collection Favorite 86 4.1.2.10 Collection Order 87 4.1.2.11 Collection Customer 87 4.1.2.12 Collection User 88 4.1.2.13 Collection DiscountCode 88 4.1.2.14 Collection AccountSocial 88 4.1.2.15 Collection Point 89 4.2 SƠ ĐỒ TUẦN TỰ (SEQUENCE DIAGRAM) 90 4.2.1 Sequence tìm kiếm sách “Search book” 90 4.2.1.1 Sequence tìm sách theo tên sách 90 4.2.1.2 Sequence tìm sách theo thể loại 90 4.2.1.3 Sequence tìm sách theo tên tác giả 91 v Báo cáo đồ án tốt nghiệp 4.2.1.4 Sequence tìm sách theo tên seri sách 91 4.2.2 Sequence chọn lọc sách “Filter book” 92 4.2.2.1 Sequence chọn lọc sách theo tên thể loại 92 4.2.2.2 Sequence chọn lọc sách theo tên tác giả 92 4.2.2.3 Sequence chọn lọc sách theo giá tiền 93 4.2.2.4 Sequence chọn lọc sách theo số đánh giá 93 4.2.2.5 Sequence chọn lọc sách giảm giá 94 4.2.3 Sequence xem thông tin sách “View book detail” 94 4.2.4 Sequence bình luận đánh giá “Comment and rate book” 95 4.2.4.1 Sequence thêm bình luận đánh giá 95 4.2.4.2 Sequence sửa bình luận đánh giá 95 4.2.5 Sequence quản lý giỏ hàng “Manager book cart” 96 4.2.5.1 Sequence xem sách giỏ hàng 96 4.2.5.2 Sequence thêm sách vào giỏ hàng 96 4.2.5.3 Sequence cập nhật giỏ hàng 97 4.2.5.4 Sequence xóa sách giỏ hàng 97 4.2.6 Sequence đăng ký tài khoản “Register an account” 98 4.2.7 Sequence đăng nhập vào tài khoản “Login an account” 98 4.2.8 Sequence quản lý thông tin tài khoản “View account” 99 4.2.8.1 Sequence xem thông tin cá nhân 99 4.2.8.2 Sequence sửa đổi thông tin cá nhân 99 4.2.8.3 Sequence đổi mật 100 4.2.9 Sequence toán đơn đặt hàng “Pay the order” 100 4.2.10 Sequence quản lý lịch sử đơn hàng “View order” 101 4.2.10.1 Sequence xem thông tin đơn hàng 101 4.2.10.2 Sequence xem thông tin chi tiết đơn hàng 101 4.2.10.3 Sequence xóa đơn hàng 102 4.2.11 Sequence quản lý sách yêu thích “View favorite book” 102 4.2.11.1 Sequence yêu thích sách 102 4.2.11.2 Sequence xóa yêu thích sách 103 4.2.11.3 Sequence xem danh sách yêu thích 103 4.2.12 Sequence quản lý sách “Manager book” 104 4.2.12.1 Sequence thêm sách 104 4.2.12.2 Sequence sửa đổi thông tin sách 104 4.2.12.3 Sequence xóa sách 105 4.2.13.4 Sequence xem sách 105 4.2.13 Sequence quản lý thể loại “Manager category” 106 vi Báo cáo đồ án tốt nghiệp 4.2.13.1 Sequence thêm thể loại 106 4.2.13.2 Sequence sửa đổi thông tin thể loại 106 4.2.13.3 Sequence xóa thể loại 107 4.2.13.4 Sequence xem thể loại 107 4.2.14 Sequence quản lý tác giả “Manager author” 108 4.2.14.1 Sequence thêm tác giả 108 4.2.14.2 Sequence sửa đổi thông tin tác giả 108 4.2.14.3 Sequence xóa tác giả 109 4.3.14.4 Sequence xem tác giả 109 4.2.15 Sequence quản lý thông tin user “Manager user” 110 4.2.15.1 Sequence thêm user 110 4.2.15.2 Sequence sửa đổi thông tin user 110 4.2.15.3 Sequence xóa user 111 4.2.15.4 Sequence xem user 111 4.2.16 Sequence quản lý đơn hàng “Manager order” 112 4.2.16.1 Sequence xem đơn hàng 112 4.2.16.2 Sequence xem thông tin đơn hàng 112 4.2.16.3 Sequence xóa đơn hàng 113 4.2.16.4 Sequence sửa trạng thái đơn hàng 113 4.2.17 Sequence quản lý địa giao hàng “Address shipping” 114 4.2.17.1 Sequence thêm địa giao hàng 114 4.2.17.2 Sequence sửa đổi thông tin địa giao hàng 114 4.2.17.3 Sequence xóa địa giao hàng 115 4.3.17.4 Sequence xem danh sách địa giao hàng 115 4.2.18 Sequence xem mã giảm giá “View discount code” 116 4.2.19 Sequence đăng xuất “Logout an account” 116 4.3 THIẾT KẾ GIAO DIỆN 117 4.3.1 Screen flow cho web phía khách hàng 117 4.3.1.1 SCP001 Home Screen 121 4.3.1.2 SCP002 Login and Register Screen 124 4.3.1.3 SCP003 BookCategory Screen 126 4.3.1.4 SCP004 BookDetail Screen 128 4.3.1.5 SCP004a BookDetail Screen – RatingBook Screen 130 4.3.1.6 SCP005 CartBook Screen 131 4.3.1.7 SCP006 Shipping Screen 134 4.3.1.8 SCP006a Shipping Screen – Insert Location Shipping Screen 137 4.3.1.9 SCP006b Shipping Screen – Update Location Shipping Screen 139 vii Báo cáo đồ án tốt nghiệp 4.3.1.10 SCP007 Payment Screen 141 4.3.1.11 SCP008 Account Screen 143 4.3.1.12 SCP009 Profile Screen 144 4.3.1.13 SCP0010 OrderHistory Screen 146 4.3.1.14 SCP0011 DiscountCode Screen 148 4.3.1.15 SCP0012 Favorite Screen 149 4.3.1.16 SCPM01 Modal Buy Book Successful Screen 150 4.3.1.17 SCPM02 Modal TryRead Book Screen 151 4.3.1.18 SCPM03 Modal RotationLuck Screen 152 4.3.2 Screen flow cho web phía Admin 154 4.3.2.1 SAP001 Dashboard Screen 155 4.3.2.2 SAP002 Manage Book Screen 157 4.3.2.3 SAP003 View Book Screen 158 4.3.2.4 SAP004 Update Book Screen 160 4.3.2.5 SAP005 Insert Book Screen 161 4.3.2.6 SAP006 Manage Order Screen 162 4.3.2.7 SAP007 Admin Profile Screen 163 4.3.2.8 SAP008 Update Profile Screen 164 4.3.2.9 SAP009 Change Password Screen 165 4.3.2.10 SAP010 Manage User Screen 166 4.3.2.11 SAP011 View User Screen 167 4.3.2.12 SAP012 Update User Screen 168 4.4 TRIỂN KHAI HỆ THỐNG RECOMMENDATION SYSTEMS [11][12] 169 4.4.1 Ứng dụng thuật toán Collaborative Filtering Recommend System thuật toán Pearson correlation 169 4.4.1.1 Thuật toán Pearson correlation 169 4.4.1.2 Tính sự tương quan hai người dùng 169 4.4.1.2.1 Chuẩn bị liệu người dùng theo sách đánh giá 169 4.4.1.2.2 Công thức tính hệ số tương quan Pearson 170 4.4.1.2.3 Các bước tính hệ số tương quan hai người dùng P1, P2 theo việc đánh giá sách 170 4.4.1.2.4 Các bước tạo danh sách xếp hạng nhà người dùng đánh giá ứng với người dùng P 171 4.4.1.2.5 Các bước ứng dụng Recommendation System Collaborative Filtering 171 CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG 173 viii Báo cáo đồ án tốt nghiệp 5.1 CÀI ĐẶT ỨNG DỤNG 173 5.2 KIỂM THỬ PHẦN MỀM 175 5.2.1 Chức đăng ký 176 5.2.2 Chức đăng nhập 177 5.2.3 Chức đổi mật 178 5.2.4 Chức tìm kiếm sách 178 5.2.5 Chức toán 179 CHƯƠNG 6: KẾT LUẬN 180 6.1 KẾT QUẢ ĐẠT ĐƯỢC 180 6.2 ƯU ĐIỂM VÀ NHƯỢC ĐIỂM 180 6.2.1 Ưu điểm 180 6.2.2 Nhược điểm 180 6.2.3 Khó khăn 181 6.2.3.1 Công nghệ 181 6.2.3.2 Quy trình thực 181 6.3 KINH NGHIỆM ĐẠT ĐƯỢC 181 6.4 HƯỚNG PHÁT TRIỂN TRONG TƯƠNG LAI 181 TÀI LIỆU THAM KHẢO 182 ix Báo cáo đồ án tốt nghiệp roleUser Input Lưu Thơng Tin Button Khi click, chuyển đến hình SAP012 Trở Về Button Quay lại trang trước imgUser Img Data từ API nameUser Label Data từ API Bảng 47 Mô tả SAP012 Update User Screen 4.4 Triển khai hệ thống Recommendation Systems [11][12] 4.4.1 Ứng dụng thuật toán Collaborative Filtering Recommend System thuật toán Pearson correlation 4.4.1.1 Thuật toán Pearson correlation ❖ Thuật toán Pearson correlation sử dụng rộng rãi nghiên cứu, thuật toán phổ biến cho collaborative filtering ❖ Pearson correlation hay gọi hệ số tương quan pearson, dùng để đo lường mức độ tương quan người dùng (và thuộc tính họ, chẳng hạn báo đọc từ sưu tập blog) tính tốn xác với pearson correlation Nguyên tắc thuật tốn đo lường sự phụ thuộc tuyến tính hai biến (hoặc người dùng) Do đó, phân tích tương quan Pearson cịn gọi phân tích hồi quy đơn giản 4.4.1.2 Tính tương quan hai người dùng 4.4.1.2.1 Chuẩn bị liệu người dùng theo sách đánh giá Dataset • userID: Id người dùng • bookID: Id sách • rate: số đánh giá cho sách Chương 4: Thiết kế ứng dụng 169 Báo cáo đồ án tốt nghiệp 4.4.1.2.2 Cơng thức tính hệ số tương quan Pearson Hệ số tương quan thước đo mức độ hai tập hợp liệu khớp với đường thẳng Kết hệ số tương quan Pearson (r) nhận giá trị từ -1 đến • Khi hệ số tương quan r = gần 0, điều có nghĩa hai biến khơng có liên hệ với • Nếu giá trị hệ số tương quan r > nghĩa giá trị biến tăng giá trị biến tăng • Ngược lại giá trị tương quan r < nghĩa giá trị biến tăng làm giảm giá trị biến ngược lại Hình 89 Cơng thức tính điểm tương quan Pearson chuyển qua biến tham số 4.4.1.2.3 Các bước tính hệ số tương quan hai người dùng P1, P2 theo việc đánh giá sách B1: Lấy toàn liệu người dùng P1 P2 B2: Lọc liệu trùng phần tử bookID P1 P2 (tạm gọi ExistP1P2) B3: Tính giá trị tham số có cơng thức dạng biến số B3.1: Tính tổng rate P1 có tồn ExistP1P2 (tạm gọi p1_sum) B3.2: Tính tổng rate P2 có tồn ExistP1P2 (tạm gọi p2_sum) B3.3: Tính tổng rate P1 bình phương có ExistP1P2 (tạm gọi p1_sq_sum) B3.4: Tính tổng rate P2 bình phương có ExistP1P2 (tạm gọi p2_sq_sum) B3.5: Tính tổng tích rate P1 P2 có ExistP1P2 (tạm gọi prod_p1p2) Chương 4: Thiết kế ứng dụng 170 Báo cáo đồ án tốt nghiệp B3.6: Lấy độ dài ExistP1P2 (tạm gọi num_existence) B4: Sau có đủ biến số, áp dụng vào cơng thức B4.1: Tính tử số numerator = prod_p1p2 - (p1_sum * p2_sum / num_existence) B4.2: Tính mẫu số denominator = √𝐬𝐭𝟏 ∗ 𝐬𝐭𝟐 (trong đó) B4.2.1: Tính st1 = p1_sq_sum – (p1_sum)2/num_existence B4.2.2: Tính st2 = p2_sq_sum – (p2_sum)2/num_existence B5: Hệ số tương quan P1, P2 theo việc đánh giá sách = numerator/ denominator 4.4.1.2.4 Các bước tạo danh sách xếp hạng nhà người dùng đánh giá ứng với người dùng P B1: Chuẩn bị toàn Dataset B2: Lọc tên userID trùng Dataset (tạm gọi DatasetFilter) B3: Tính hệ số tương quan userID Dataset với P (bỏ vào mảng Arr) B4: Sắp xếp mảng Arr thứ tự giảm dần B5: Kết mảng Arr danh sách giảm dần userID có hệ số tương quan tốt với P 4.4.1.2.5 Các bước ứng dụng Recommendation System Collaborative Filtering Dựa vào bước trên, có danh sách xếp hạng người dùng có quan điểm, hay cịn gọi có điểm tương đồng (tạm gọi R) với người dùng P Và bước cuối công việc chọn lọc sách cần phải gợi ý cho người dùng P Dùng liệu thực để mô tả đơn giản • Dataset(userID, bookID, rate) : liệu người dùng theo sách đánh giá • R(valPearson, userID) : Mảng danh sách xếp hạng người dùng có điểm tương đồng với người dùng P • P(userID) : người dùng P Chương 4: Thiết kế ứng dụng 171 Báo cáo đồ án tốt nghiệp • Book(bookID, totalValPearson , totalMulRateValPearson) : Mảng lưu giá trị tổng sách • Book_Rank(bookID,valueRecommend) Tính theo cơng thức sau Hình 90 Cơng thức tính giá trị sản phẩm tương quan với người dùng Với cơng thức này, sách nhiều người có mối tương quan đánh giá có lợi lớn Các bước thực thi sau B1: Với phần tử có bookID có tồn Dataset theo UserID R mà không tồn P (những sách mà người P chưa đánh giá người có điểm tương đồng lại có đánh giá) B1.1: Tính tổng hệ số tương quan valPersion R tương ứng userID theo bookID (kết ứng với totalValPearson Book) B1.2: Tính tổng tích hệ số tương quan valPersion R tương ứng userID với rate theo bookID (kết ứng với totalMulRateValPearson Book) B2: Từ mảng Book kết vừa có được, tính valueRecommend = totalMulRateValPearson / totalValPearson lưu vào mảng Book_Rank B3: Sắp xếp thứ tự giảm dần cho Book_Rank Vậy có danh sách sách giới thiệu cho người dùng P Chương 4: Thiết kế ứng dụng 172 Báo cáo đồ án tốt nghiệp CHƯƠNG 5: CÀI ĐẶT VÀ KIỂM THỬ ỨNG DỤNG 5.1 Cài đặt ứng dụng ❖ Máy phải có cài đặt npm ❖ Máy có cài đặt NodeJS ❖ Máy phải cài đặt Angular (Phiên từ Angular trở lên) ❖ Máy phải cài đặt trước Angular CLI Các bước cài đặt: Ở hướng dẫn này, nhóm sử dụng IDE Visual Studio Code: Bước 1: Clone download project từ link github: https://github.com/truongthaituan/BookStoreWebsite Bước 2: Một thư mục có tên “BookStoreWebsite” xuất sau clone project từ github giải nén file đính kèm báo cáo Tiến hành vào thư mục “BookStoreWebsite” Bước 3: Sau vào thư mục “BookStoreWebsite” (như hình), click chuột phải chọn “Open with Code” Hình Thư mục Chương 5: Cài đặt kiểm thử 173 Báo cáo đồ án tốt nghiệp Bước 4: Sau mở project Visual Studio Code, chọn “Terminal” taskbar, chọn tiếp “New Terminal” (Hoặc đơn giản bấm tổ hợp phím Ctrl +`) Hình Giao diện visual studio code Bước 5: Sau cửa sổ Command Line tích hợp ra, chạy lệnh “npm install” để cập nhật thư viện, package thiếu máy mà Project cần Hình Màn hình Intergrate Command Line Bước 6: Sau lệnh npm install kết thúc, mở thêm cửa sổ Command Line cách nhấn vào nút “Split Terminal” taskbar cửa sổ Command Line Bước 7: Chương 5: Cài đặt kiểm thử 174 Báo cáo đồ án tốt nghiệp Sau có cửa sổ terminal, gõ lệnh “npm start” vào hai terminal, terminal lại gõ lệnh “cd nodejs” “npm start” Nhấn enter terminal để chạy lệnh Hình Màn hình CLI chạy ứng dụng Angular Hình 5.Màn hình CLI chạy Express Bước 8: Cả Terminal hình trình duyệt web tự động chạy trang web lên Hoặc chạy tay cách mở trình duyệt web nhập url: http://localhost:4200 Hình Kết chạy thành công Angular Express Giao diện trang chủ khởi chạy đầu tiên: http://localhost:4200 5.2 Kiểm thử phần mềm Sau thực xong việc kiểm thử nhóm xin trình bày số test case tiêu biểu Chương 5: Cài đặt kiểm thử 175 Báo cáo đồ án tốt nghiệp 5.2.1 Chức đăng ký Test Case ID Description SignUp_001 Đăng ký tài khoản user Test steps Expected Output Result Nhập thông Đăng ký thành công tin yêu cầu chuyển sang hình hình: địa login Email, Tên đầy đủ, Mật xác nhận mật Nhấn nút Đăng ký SignUp_002 Kiểm tra bỏ Bỏ trống Yêu cầu nhập lại trống trường đánh dấu thông tin đầy đủ trường đánh dấu nhấn Đăng tương ứng với ký trường SignUp_003 Kiểm tra nhập Nhập thông Hệ thống không cho email tồn tin yêu cầu tạo tài khoản email hệ thống nhập email tồn tồn yêu cầu hệ thống phải nhập lại Nhấn nút Đăng ký SignUp_004 Kiểm tra việc Nhập thông Mail gửi tới verify email tin yêu cầu email user chứa đăng ký xong Nhấn nút Đăng link kích hoạt tài ký khoản Hệ thống gửi mail để kích hoạt tài khoản mà user đăng ký Bảng Kiểm thử phần mềm chức đăng ký Chương 5: Cài đặt kiểm thử Pass Pass Pass Pass 176 Báo cáo đồ án tốt nghiệp 5.2.2 Chức đăng nhập Test Case ID Description SignIn _001 Test steps Expected Output Nhập tên đăng nhập mật chưa đăng kí hệ thống Hiện thông báo “Tài khoản email mật không xác!” Pass Đăng nhập thành cơng hệ thống chuyển sang trang HomePage Đăng nhập thất bại show lỗi hình trang yêu cầu nhập lại SignIn _003 Đăng nhập Nhập email Đăng nhập thành công tài khoản admin password tài hệ thống chuyển sang khoản admin trang quản lý Nhấn nút Sign admin In Đăng nhập thất bại reload trang yêu cầu nhập lại Bảng Kiểm thử phần mềm chức đăng nhập Pass Kiểm tra việc đăng nhập chưa có tài khoản SignIn _002 Đăng nhập tài khoản user Chương 5: Cài đặt kiểm thử Nhấn nút đăng nhập Nhập email password tài khoản user Nhấn nút Đăng nhập Result Pass 177 Báo cáo đồ án tốt nghiệp 5.2.3 Chức đổi mật Test Case ID Test steps Description ChangePass Kiểm tra việc Nhập mật _001 đổi mật với sai việc nhập mật sai Expected Output Result Hiện thông báo “Mật Pass bạn nhập khơng xác” Nhấn nút đổi mật ChangePass Kiểm tra việc Nhập mật Hiện thông báo “Đổi Pass _002 đổi mật với mật thành công” việc nhập mật Nhấn nút Đổi mật Bảng Kiểm thử phần mềm chức đổi mật 5.2.4 Chức tìm kiếm sách Test Case ID Description SearchBook _001 Truy cập vào trang HomePage Tìm kiếm sách có hệ thống Nhập tên sách tồn vào ô input Test steps Nhấn nút tìm kiếm Truy cập vào trang HomePage SearchBook _002 Tìm kiếm sách chưa có hệ thống Nhập tên sách chưa tồn vào ô input Expected Output Result Xuất sách tương ứng trang categoryBook Pass Hiện thơng báo “Sách bạn tìm kiếm khơng tồn tại” Pass Nhấn nút tìm kiếm Chương 5: Cài đặt kiểm thử 178 Báo cáo đồ án tốt nghiệp SearchBook _003 Kiểm tra việc không cho phép nhập ký tự đặc biệt vào ô input Truy cập vào trang HomePage Nhập tên vào ô input Hiện thông báo “Không chứa ký tự đặc biệt” Pass Nhấn nút tìm kiếm Bảng Kiểm thử chức tìm kiếm sách 5.2.5 Chức toán Test Case ID Test steps Expected Output Description Payment_001 Kiểm tra việc Nhấn vào giỏ Hiện thông báo giỏ tiến hàng hàng hàng trống đưa tốn khơng Nhấn vào tiến khách hàng đến trang có sách hành tốn categoryBook để mua giỏ hàng sách Payment_002 Kiểm tra việc Nhập đầy đủ Email gửi đến sau thông tin cần người dùng với toán gửi email toán thông tin đơn thông báo Thực việc hàng người dùng toán Bảng 5 Kiểm thử chức toán Chương 5: Cài đặt kiểm thử Result Pass Pass 179 Báo cáo đồ án tốt nghiệp CHƯƠNG 6: KẾT LUẬN 6.1 Kết đạt • Kỹ làm việc nhóm tốt, kỹ giao tiếp team, phân công công việc làm dự án ngắn ngày • Kỹ search tài liệu, kỹ tìm kiếm giải pháp mạng cho khúc mắc trình xây dựng đồ án • Biết cách áp dụng sở liệu không quan hệ (noSQL) để xây dựng database cho hệ thống, xây dựng web server REST API phục vụ cho ứng dụng web lẫn ứng dụng di động, xây dựng giao diện trang web dạng Single Page Application Angular 6.2 Ưu điểm nhược điểm 6.2.1 Ưu điểm - Website thiết kế với giao diện dễ nhìn, thân thiện với người dùng - Thao tác đặt mua toán đơn giản - Có chức tạo chương trình ưu đãi cho khách hàng với vòng quay may mắn, tạo cho khách hàng có cảm giác thích thú ý tới website - Bằng việc gợi ý hiệu sản phẩm (item) cho tuỳ người dùng, giúp người dùng cảm thấy thuận tiện, thích thú website Và điều giúp tăng lợi nhuận cho cửa hàng 6.2.2 Nhược điểm - Về giao diện, cịn nhiều thiếu sót việc thiết kế nên website tương thích với máy tính nhiều trang chưa thực sự ổn việc thiết kế - Về chức năng, nghiệp vụ kinh nghiệm nên việc xử lý bất đồng tốn cịn lỗi số lỗi - Về vấn đề tương tác admin với khách hàng, khơng tích hợp chat box nên khách hàng có cách để phản hồi với admin thông qua email Chương 6: Kết luận 180 Báo cáo đồ án tốt nghiệp 6.2.3 Khó khăn 6.2.3.1 Cơng nghệ STT Khó khăn Việc nhúng Js vào angular thực sự phức tạp MongoDB liệu dạng non- Thêm lần kiểm duyệt đơn hàng sql nên việc xử lý bất đồng trước toán rollback phức tạp liệu hủy thất bại Chưa hiểu rõ việc chia Load lại trang truyền liệu từ component angular nên router vào router muốn truyền liệu từ router ngồi vào router ln bị thất bại Bảng 1.Khó khăn cơng nghệ 6.2.3.2 Quy trình thực STT Khó khăn Khắc phục Tìm thư viện npm bootstrap thay Hay bị lỗi conflict push pull code github Khắc phục Sử dụng source control để quản lý nhánh cá nhân thành viên Do nằm thời gian dịch Sử dụng công cụ mạng xã hội bệnh bùng phát nên khó khăn teamview để trao đổi thơng tin việc làm việc nhóm Bảng 2.Khó khăn quy trình thực 6.3 Kinh nghiệm đạt - Học cách quản lý source control bản, hỗ trợ tốt việc làm dự án nhiều người 6.4 Hướng phát triển tương lai - Mở rộng phát triển từ thành chuỗi cửa hàng - Setup deploy website lên Docker - Tích hợp thêm nhiều cổng toán Zalo Pay, MoMo, Internet Banking, Chương 6: Kết luận 181 Báo cáo đồ án tốt nghiệp TÀI LIỆU THAM KHẢO Tiếng Việt https://viblo.asia/p/gioi-thieu-ve-mean-stack-va-cach-cai-dat-meanio-4dbZNx3n5YM [4] https://topdev.vn/blog/node-js-co-ban/ [5] https://viblo.asia/p/tong-quan-ve-node-js-AeJ1vOdQRkby [8] Audrey, đăng TÌM HIỂU VỀ MONGODB, https://viblo.asia/p/tim-hieu-vemongodb-4P856ajGlY3 [10] https://viblo.asia/p/gioi-thieu-ve-he-thong-goi-y-recommender-systems-hoacrecommendation-systems-maGK78yOZj2 [9] https://techblog.vn/recommender-systems [12] https://viblo.asia/p/cac-thuat-toan-duoc-su-dung-trong-he-thong-goi-yrecommendation-system-oOVlYyPal8W Tiếng Anh [1] Team Coding DOJO, YOUR GUIDE TO MEAN, What is MEAN Stack? [2] https://www.quora.com/What-is-the-stack [3] https://www.guru99.com/mean-stack-developer.html [6] https://expressjs.com/ [7] Jeremy Wilken, Angular in action, Chương 1, trang [11] https://becominghuman.ai/introduction-to-recommendation-system-in-javascript74209c7ff2f7 ... 24/02/2020 đến: 30/06/2020 Tên đề tài: XÂY DỰNG WEBSITE BÁN SÁCH TRÊN NỀN TẢNG MEAN STACK GV hướng dẫn: TS LÊ VĨNH THỊNH Nhiệm vụ luận văn: Nghiên cứu MEAN stack Nghiên cứu cách viết REST API cách... thực tiễn, nhóm tụi em thử sức xây dựng trang web bán sách online 1.2 Mục đích đề tài Đề tài “XÂY DỰNG WEBSITE BÁN SÁCH TRÊN NỀN TẢNG MEAN STACK? ?? đặt vấn đề trọng tâm mục tiêu mà sinh viên nghiên... thức MEAN Stack, Restful API Xây dựng hoàn thành website bán sách online với kiến thức tìm hiểu Chương 1: Tổng quan Báo cáo đồ án tốt nghiệp CHƯƠNG 2: CƠ SỞ LÝ THUYẾT 2.1 Tổng quan MEAN Stack

Ngày đăng: 23/02/2023, 09:39