Tải bản đầy đủ (.pdf) (204 trang)

Xây dựng website bán sách trên nền tảng mean stack (recommendation system)

Bạn đang xem bản rút gọn của tài liệu. Xem và tải ngay bản đầy đủ của tài liệu tại đây (6.26 MB, 204 trang )

Báo cáo đồ án tốt nghiệp

MỤC LỤC
LỜI CẢM ƠN .................................................................................................................. I
ĐỀ CƯƠNG Ḷ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.1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI.................................................................................... 1
1.2. MỤC ĐÍCH CỦA ĐỀ TÀI ............................................................................................ 1
1.3. ĐỐI TƯỢNG VÀ PHẠM VI NGHIÊN CỨU .................................................................... 2
1.4. KẾT QUẢ DỰ KIẾN ĐẠT ĐƯỢC ................................................................................. 2
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT ................................................................................ 3
2.1. Tổng quan về MEAN Stack [1][2][3] ...................................................................... 3
2.1.1. Khái niệm về MEAN Stack .......................................................................... 3
2.1.2. Các thành phần trong MEAN stack .............................................................. 3
2.1.3. Cách thức MEAN stack hoạt động ............................................................... 4
2.1.4. Lợi thế của MEAN stack .............................................................................. 5
2.2. NodeJS ................................................................................................................ 5
2.2.1. Tổng quan [4] ................................................................................................. 5
2.2.2. Nguyên tắc hoạt động ................................................................................... 7
2.2.3. Ưu điểm ........................................................................................................ 8
2.2.4. Nhược điểm................................................................................................... 9
2.3. ExpressJS ............................................................................................................ 9
2.3.1. Tổng quan [6] ................................................................................................. 9
2.3.2. Công dụng ..................................................................................................... 9
2.4. Angular.............................................................................................................. 10
2.4.1. Tổng quan về 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 về 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 trên cơ sở tri thức .................................................. 16
2.6.2. So sánh các phương pháp gợi ý .................................................................. 17
2.6.3. Lợi ích của 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ê các 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ố sao đánh giá ..................................... 34
3.3.3.2.5. Use case chọn lọc sách đang được 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 và đánh giá .................................................. 36
3.3.3.4. Use case bình luận và đánh giá “Comment and rate book” ..................... 37
3.3.3.4.1. Use case thêm bình luận và đánh giá ................................................. 37
3.3.3.4.2. Use case sửa bình luận và đá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 trong 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 trong 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 bằng tài khoản đăng ký ..................................... 45
3.3.3.7.2. Use case đăng nhập bằng tài khoản FaceBook .................................. 47
3.3.3.7.3. Use case đăng nhập bằng 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 khẩu ....................................................................... 51
3.3.3.9. Use case thanh toán đơn đặt hàng “Pay the order” .................................. 52
3.3.3.9.1. Use case thanh toán đơn hàng bằng tiền mặt ..................................... 52

3.3.3.9.2. Use case thanh tốn đơn hàng bằ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 trong 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 chỉ giao hàng “Address shipping” ....................... 77
3.3.3.17.1. Use case thêm địa chỉ giao hàng ...................................................... 78
3.3.3.17.2. Use case sửa đổi thông tin địa chỉ giao hàng ................................... 78
3.3.3.17.3. Use case xóa địa chỉ giao hàng ........................................................ 79
3.3.3.17.4. Use case xem thông tin địa chỉ 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ế dữ liệu ..................................................................................... 83
4.1.2. Mô tả sơ đồ thiết kế dữ 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ố sao đánh giá .......................................... 93
4.2.2.5. Sequence chọn lọc sách đang được 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 và đánh giá “Comment and rate book”.......................... 95
4.2.4.1. Sequence thêm bình luận và đánh giá ...................................................... 95
4.2.4.2. Sequence sửa bình luận và đá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 trong 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 trong 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 khẩu .......................................................................... 100
4.2.9. Sequence thanh 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 u thích sách ...................................................................... 102
4.2.11.2. Sequence xóa 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 chỉ giao hàng “Address shipping” .......................... 114
4.2.17.1. Sequence thêm địa chỉ giao hàng ......................................................... 114
4.2.17.2. Sequence sửa đổi thông tin địa chỉ giao hàng ...................................... 114
4.2.17.3. Sequence xóa địa chỉ giao hàng ........................................................... 115
4.3.17.4. Sequence xem danh sách địa chỉ 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 bằng 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 giữa hai người dùng............................................... 169
4.4.1.2.1. Chuẩn bị bộ dữ 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 giữa 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 cù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 năng đăng ký ...................................................................................... 176
5.2.2. Chức năng đăng nhập................................................................................... 177
5.2.3. Chức năng đổi mật khẩu .............................................................................. 178
5.2.4. Chức năng tìm kiếm sách ............................................................................. 178
5.2.5. Chức năng thanh 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 hiện ................................................................................ 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
CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******

ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
Họ và tên Sinh viên 1: Trương Thái Tuấn.........................MSSV 1: 16110249
Họ và tên Sinh viên 2: Nguyễn Đức Hậu...........................MSSV 2: 16110069
Ngành: Công nghệ Thông tin
Thời gian làm tiểu luận: từ: 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ụ của luận văn:
1.
2.
3.
4.
5.
6.
7.

Nghiên cứu về MEAN stack
Nghiên cứu về cách viết REST API và cách ứng dụng

Sử dụng thư viện Mongoose để tạo Model cho dữ liệu trong MongoDB
Sử dụng ExpressJS để làm các cơng việc về phía server-side
Viết các REST API để thao tác dữ liệu giữa ExpressJS và MongoDB
Dùng Angular để làm front-end theo kiểu Single page application
Kết hợp 4 thành phần lại để xây dựng website tìm kiếm việc làm trên nền tảng
MEAN stack đã tìm hiểu
8. Kiểm thử
Đề cương viết luận văn :
MỤC LỤC
Phần 1: Mở đầu
1.1. Tính cấp thiết của đề tài
1.2. Mục đích của đề tài
1.3. Cách tiếp cận và phương pháp nghiên cứu

x


Báo cáo đồ án tốt nghiệp
1.4. Kết quả dự kiến đạt được
Phần 2: Nội dung
Chương 1: Tổng quan
1.1. Tổng quan về Mean Stack
1.2. Nodejs
1.3. Expressjs
1.4. Angular
1.5. MongoDB
1.6. Giới thiệu về Recommendation System
Chương 2: Khảo sát hiện trạng và xác định yêu cầu
Chương 3: Thiết kế ứng dụng
Chương 4: Cài đặt và kiểm thử ứng dụng

Phần 3: Kết luận
Tài liệu tham khảo
KẾ HOẠCH THỰC HIỆN

STT

Mô tả công việc

Ngày bắt đầu-Ngày kết
thúc
(Thực Tế)

Khảo sát hiện trạng, lên ý tưởng, viết mô tả đồ
án; tìm hiểu, lựa chọn và chuẩn bị mơi trường
làm việc

24/02/2020 – 25/02/2020

2

Thiết kế giao diện BookStore

25/02/2020 – 02/03/2020

3

Thiết kế Database

26/02/2020 – 01/03/2020


4

Code chức năng trang đăng nhập, đăng ký

01/03/2020 – 04/03/2020

1

xi


Báo cáo đồ án tốt nghiệp
5

Ứng dụng Facebook/Google Api cho chức
năng đăng nhập
Code chức năng đổi mật khẩu và thông tin
người dùng

6

Code chức năng danh mục sản phẩm, thông tin
sản phẩm, seri

04/03/2020 – 05/03/2020

7

Code chức năng giỏ hàng, thanh toán,
sendMail thanh toán


04/03/2020 – 09/03/2020

8

Báo cáo tiến độ lần 1 (Online)

10/03/2020 – 10/03/2020

9

Code chức năng quản lý địa chỉ giao hàng

10/03/2020 – 13/03/2020

10

Ứng dụng paypal vào chức năng thanh toán

12/03/2020 – 13/03/2020

11

Code chức năng trang lịch sử mua hàng

13/03/2020 – 14/03/2020

12

Set Token cho người dùng đăng nhập


13/03/2020 – 18/03/2020

13

Phân quyền người dùng Customer

14

Sử lý trạng thái đơn hàng

18/03/2020 – 22/03/2020

15

Code chức năng Search, Filter

20/05/2020 – 25/03/2020

16

Code chức năng đánh giá và rating sản phẩm

22/03/2020 – 24/03/2020

17

Chỉnh sửa giao diện và database

26/03/2020 – 30/03/2020


14/03/2020 – 20/03/2020

xii


Báo cáo đồ án tốt nghiệp
18

Tính phí giao hàng bằng cách ứng dụng
Google map vào chức năng quản lý địa chỉ
giao hàng

01/04/2020 – 05/04/2020

19

Code chức năng sử dụng mã giảm giá cho đơn
hàng

20

Code chức năng tạo mã giảm giá cho từng sản
phẩm

21

Báo cáo tiến độ lần 2

10/04/2020 – 10/04/2020


22

Code chức năng Admin, Code chức năng quản
lý danh mục sản phẩm, tác giả, NXB, user, seri

10/04/2020 – 17/04/2020

23

Cải tiến chức năng giảm giá đơn hàng thơng
qua trị chơi vịng quay may mắn để lấy mã
giảm giá

14/04/2020 – 20/04/2020

24

Code chức năng yêu thích sản phẩm

21/04/2020 – 24/04/2020

25

Tạo DoashBoard thống kê quản lý theo tháng,
năm

21/04/2020 – 20/05/2020

26


Tạo bộ dữ liệu database sử dụng cho hệ thống
Recommend System

27

Xây dựng hệ thống Recommend system cho đồ
án

28

Cải tiến hệ thống Recommend system cho đồ
án

29

Báo cáo tiến độ lần 3

04/06/2020 – 04/062020

28

Tạo biểu đồ quản lý

05/06/2020 – 07/06/2020

29

Cải tiến hệ thống Recommend system cho đồ
án


07/06/2020 – 10/06/2020

03/04/2020 – 09/04/2020

26/04/2020 – 02/06/2020

xiii


Báo cáo đồ án tốt nghiệp
30

Code chức năng tạo event ưu đãi sản phẩm
khách hàng

10/06/2020 – 12/06/2020

31

Bổ sung, sửa đổi và fixbug

13/06/2020 – 15/06/2020

32

Tổng hợp báo cáo

15/06/2020 – 30/06/2020


33

Báo cáo tiến độ lần 4

30/06/2020 – 30/06/2020

xiv


Báo cáo đồ án tốt nghiệp

DANH MỤC HÌNH ẢNH
Hình 2. 1. Sơ đồ hoạt động Mean Stack .......................................................................... 4
Hình 2. 2.Sơ đồ hoạt động NodeJs .................................................................................. 8
Hình 2. 3. Các thành phần cơ bản trong angular ........................................................... 10
Hình 2. 4. Cách hoạt động giữa các thành phần trong Angular .................................... 11
Hình 2. 5. Hệ thống gợi ý dựa theo lọc cộng tác ........................................................... 15
Hình 2. 6. Hệ thống gợi ý dựa theo nội dung ................................................................ 16
Hình 2. 7. Hệ thống gợi ý dựa trên cơ sở tri thức.......................................................... 16
Hình 3. 1. Trang web bán sách depository .................................................................... 20
Hình 3. 2. Trang web bán sách Fahasa .......................................................................... 21
Hình 3. 3. Trang web bán sách Vinabook ..................................................................... 22
Hình 3. 4. Use case tìm kiếm sách “Search book” ........................................................ 28
Hình 3. 5. Use case chọn lọc sách “Filter book” ........................................................... 31
Hình 3. 6. Use case xem thông tin sách “View book detail” ........................................ 35
Hình 3. 7. Use case bình luận và đánh giá “Comment and rate book” ......................... 37
Hình 3. 8. Use case quản lý giỏ hàng “Manager book cart” ......................................... 39
Hình 3. 9. Use case đăng ký tài khoản .......................................................................... 43
Hình 3. 10. Use case đăng nhập .................................................................................... 45
Hình 3. 11. Use case quản lý thông tin tài khoản “View account” ............................... 49

Hình 3. 12. Use case thanh tốn đơn đặt hàng “Pay the order” .................................... 52
Hình 3. 13. Use case quản lý lịch sử đơn hàng “View order” ....................................... 54
Hình 3. 14. Use case quản lý sách yêu thích “View favorite book” ............................. 56
Hình 3. 15. Use case quản lý sách “Manager book” ..................................................... 58
Hình 3. 16. Use case quản lý thể loại “Manager category”........................................... 62
Hình 3. 17. Use case quản lý tác giả “Manager author” ............................................... 66
Hình 3. 18. Use case quản lý thơng tin user “Manager user” ....................................... 70
Hình 3. 19. Use case quản lý đơn hàng “Manager order” ............................................. 74
Hình 3. 20. Use case quản lý địa chỉ giao hàng “Shipping Address” ........................... 77
Hình 3. 21. Use case xem mã giảm giá “View discount code” ..................................... 81
Hình 3. 22. Use case đăng xuất “Logout an account” ................................................... 82

xv


Báo cáo đồ án tốt nghiệp
Hình 4. 1. Sơ đồ thiết kế dữ liệu .................................................................................... 83
Hình 4. 2. Sequence tìm sách theo tên sách .................................................................. 90
Hình 4. 3. Sequence tìm sách theo thể loại ................................................................... 90
Hình 4. 4. Sequence tìm sách theo tên tác giả ............................................................... 91
Hình 4. 5. Sequence tìm sách theo tên seri sách............................................................ 91
Hình 4. 6. Sequence chọn lọc sách theo tên thể loại ..................................................... 92
Hình 4. 7. Sequence chọn lọc sách theo tên tác giả....................................................... 92
Hình 4. 8. Sequence chọn lọc sách theo giá tiền ........................................................... 93
Hình 4. 9. Sequence chọn lọc sách theo số sao đánh giá .............................................. 93
Hình 4. 10. Sequence chọn lọc sách đang được giảm giá ............................................. 94
Hình 4. 11. Sequence xem thơng tin chi tiết sách ......................................................... 94
Hình 4. 12. Sequence thêm bình luận và đánh giá ........................................................ 95
Hình 4. 13. Sequence sửa bình luận và đánh giá ........................................................... 95
Hình 4. 14. Sequence xem sách trong giỏ hàng ............................................................ 96

Hình 4. 15. Sequence thêm sách vào giỏ hàng .............................................................. 96
Hình 4. 16. Sequence cập nhật giỏ hàng ....................................................................... 97
Hình 4. 17. Sequence xóa sách trong giỏ hàng ............................................................. 97
Hình 4. 18. Sequence đăng ký tài khoản “Register an account” ................................... 98
Hình 4. 19. Sequence đăng nhập vào tài khoản “Login an account” ............................ 98
Hình 4. 20. Sequence xem thơng tin cá nhân ................................................................ 99
Hình 4. 21.Sequence sửa đổi thơng tin cá nhân ............................................................ 99
Hình 4. 22. Sequence đổi mật khẩu ............................................................................. 100
Hình 4. 23. Sequence thanh tốn đơn đặt hàng “Pay the order” ................................. 100
Hình 4. 24. Sequence xem thơng tin đơn hàng............................................................ 101
Hình 4. 25. Sequence xem thơng tin chi tiết đơn hàng................................................ 101
Hình 4. 26. Sequence xóa đơn hàng ............................................................................ 102
Hình 4. 27. Sequence u thích sách ........................................................................... 102
Hình 4. 28. Sequence xóa u thích sách .................................................................... 103
Hình 4. 29. Sequence xem danh sách u thích .......................................................... 103
Hình 4. 30. Sequence thêm sách .................................................................................. 104
Hình 4. 31. Sequence sửa đổi thơng tin sách ............................................................... 104
Hình 4. 32. Sequence xóa sách .................................................................................... 105
Hình 4. 33. Sequence xem sách ................................................................................... 105
Hình 4. 34. Sequence thêm thể loại ............................................................................. 106
xvi


Báo cáo đồ án tốt nghiệp
Hình 4. 35. Sequence sửa đổi thơng tin thể loại .......................................................... 106
Hình 4. 36. Sequence xóa thể loại ............................................................................... 107
Hình 4. 37. Sequence xem thể loại .............................................................................. 107
Hình 4. 38. Sequence thêm tác giả .............................................................................. 108
Hình 4. 39. Sequence sửa đổi thơng tin tác giả ........................................................... 108
Hình 4. 40. Sequence xóa tác giả ................................................................................ 109

Hình 4. 41. Sequence xem tác giả ............................................................................... 109
Hình 4. 42. Sequence thêm user .................................................................................. 110
Hình 4. 43. Sequence sửa đổi thơng tin user ............................................................... 110
Hình 4. 44. Sequence xóa user .................................................................................... 111
Hình 4. 45. Sequence xem user ................................................................................... 111
Hình 4. 46. Sequence xem đơn hàng ........................................................................... 112
Hình 4. 47. Sequence xem thơng tin đơn hàng............................................................ 112
Hình 4. 48. Sequence xóa đơn hàng ............................................................................ 113
Hình 4. 49. Sequence sửa trạng thái đơn hàng ............................................................ 113
Hình 4. 50. Sequence thêm địa chỉ giao hàng ............................................................. 114
Hình 4. 51. Sequence sửa đổi thơng tin địa chỉ giao hàng .......................................... 114
Hình 4. 52. Sequence xóa địa chỉ giao hàng ............................................................... 115
Hình 4. 53. Sequence xem danh sách địa chỉ giao hàng ............................................. 115
Hình 4. 54. Sequence xem mã giảm giá “View discount code” .................................. 116
Hình 4. 55. Sequence đăng xuất “Logout an account” ................................................ 116
Hình 4. 56. Screen Flow cho trang web dành cho khách hàng khi chưa login ........... 117
Hình 4. 57. Screen Flow cho trang web dành cho khách hàng sau khi login.............. 118
Hình 4. 58. SCP001 Home Screen .............................................................................. 121
Hình 4. 59. SCP002 Login and Register Screen ......................................................... 124
Hình 4. 60. SCP003 BookCategory Screen ................................................................. 126
Hình 4. 61. SCP004 BookDetail Screen ...................................................................... 128
Hình 4. 62. SCP004a BookDetail Screen – RatingBook Screen ................................ 130
Hình 4. 63. SCP005 CartBook Screen ........................................................................ 131
Hình 4. 64. SCP006 Shipping Screen .......................................................................... 134
Hình 4. 65. SCP006a Shipping Screen – Insert Location Shipping Screen ................ 137
Hình 4. 66. SCP006b Shipping Screen – Update Location Shipping Screen ............. 139
Hình 4. 67. SCP007 Payment Screen .......................................................................... 141
Hình 4. 68. SCP008 Account Screen ......................................................................... 143
xvii



Báo cáo đồ án tốt nghiệp
Hình 4. 69. SCP009 Profile Screen ............................................................................. 144
Hình 4. 70. SCP0010 OrderHistory Screen ................................................................. 146
Hình 4. 71. SCP0011 DiscountCode Screen ............................................................... 148
Hình 4. 72. SCP0011 Favorite Screen ......................................................................... 149
Hình 4. 73. SCPM01 Modal Buy Book Successful Screen ........................................ 151
Hình 4. 74. SCPM02 Modal TryRead Book Screen ................................................... 151
Hình 4. 75. SCPM03 Modal RotationLuck Screen ..................................................... 152
Hình 4. 76. Screen Flow cho trang web dành cho Admin........................................... 154
Hình 4. 77. SAP001 Dashboard Screen ...................................................................... 155
Hình 4. 78. SAP002 Manage Book Screen ................................................................. 157
Hình 4. 79. SAP003 View Book Screen ..................................................................... 159
Hình 4. 80. SAP004 Update Book Screen ................................................................... 160
Hình 4. 81. SAP005 Insert Book Screen ..................................................................... 161
Hình 4. 82. SAP006 Manage Order Screen................................................................. 162
Hình 4. 83. SAP007 Admin Profile Screen ................................................................. 163
Hình 4. 84. SAP008 Update Profile Screen ................................................................ 164
Hình 4. 85. SAP009 Change Password Screen ........................................................... 165
Hình 4. 86. SAP010 Manage User Screen .................................................................. 166
Hình 4. 87. SAP011 View User Screen ....................................................................... 167
Hình 4. 88. SAP012 Update User Screen .................................................................... 168
Hình 4. 89. Cơng thức tính điểm tương quan Pearson chuyển qua biến tham số ........ 170
Hình 4. 90. Cơng thức tính giá trị sản phẩm tương quan với người dùng ................... 172
Hình 5. 1. Thư mục ...................................................................................................... 173
Hình 5. 2. Giao diện visual studio code ...................................................................... 174
Hình 5. 3. Màn hình Intergrate Command Line .......................................................... 174
Hình 5. 4. Màn hình CLI chạy ứng dụng Angular ...................................................... 175
Hình 5. 5.Màn hình CLI chạy Express ........................................................................ 175
Hình 5. 6. Kết quả chạy thành cơng Angular và Express ............................................ 175


xviii


Báo cáo đồ án tốt nghiệp

DANH MỤC BẢNG
Bảng 2. 1. So sánh các phương pháp gợi ý .................................................................... 17
Bảng 3. 1. Bảng Requirement dành cho use case .......................................................... 27
Bảng 3. 2. Use case tìm sách theo tên sách ................................................................... 29
Bảng 3. 3. Use case tìm sách theo thể loại .................................................................... 30
Bảng 3. 4. Use case tìm sách theo tên tác giả ................................................................ 30
Bảng 3. 5. Use case tìm sách theo tên seri sách............................................................. 31
Bảng 3. 6. Use case chọn lọc sách theo tên thể loại ...................................................... 32
Bảng 3. 7. Use case chọn lọc sách theo tên tác giả........................................................ 33
Bảng 3. 8. Use case chọn lọc sách theo giá tiền ............................................................ 34
Bảng 3. 9. Use case chọn lọc sách theo số sao đánh giá ............................................... 34
Bảng 3. 10. Use case chọn lọc sách đang được giảm giá .............................................. 35
Bảng 3. 11. Use case xem chi tiết sách .......................................................................... 36
Bảng 3. 12. Use case xem bình luận và đánh giá .......................................................... 36
Bảng 3. 13. Use case thêm bình luận và đánh giá ......................................................... 38
Bảng 3. 14. Use case sửa bình luận và đánh giá ............................................................ 38
Bảng 3. 15. Use case xem sách trong giỏ hàng ............................................................. 40
Bảng 3. 16. Use case thêm sách trong giỏ hàng ............................................................ 41
Bảng 3. 17. Use case cập nhật giỏ hàng ........................................................................ 41
Bảng 3. 18. Use case xóa sản phẩm khỏi giỏ hàng ........................................................ 42
Bảng 3. 19. Use case đăng ký ........................................................................................ 44
Bảng 3. 20. Use case đăng nhập bằng tài khoản đăng ký .............................................. 46
Bảng 3. 21. Use case đăng nhập bằng tài khoản FaceBook .......................................... 47
Bảng 3. 22. Use case đăng nhập bằng tài khoản Google ............................................... 48

Bảng 3. 23. Use case xem thông tin cá nhân ................................................................. 50
Bảng 3. 24. Use case chỉnh sửa thông tin cá nhân......................................................... 50
Bảng 3. 25. Use case đổi mật khẩu ................................................................................ 51
Bảng 3. 26. Use case thanh toán đơn hàng bằng tiền mặt ............................................. 52
Bảng 3. 27. Use case thanh tốn đơn hàng bằng ví paypal ........................................... 53
Bảng 3. 28. Use case xem thông tin chi tiết đơn hàng................................................... 55
Bảng 3. 29. Use case xóa đơn hàng ............................................................................... 55
Bảng 3. 30. Use case yêu thích sách .............................................................................. 56
Bảng 3. 31. Use case xóa sách trong danh sách yêu thích ............................................. 57
Bảng 3. 32. Use case thêm sách ..................................................................................... 59
Bảng 3. 33. Use case sửa đổi thông tin sách .................................................................. 60
xix


Báo cáo đồ án tốt nghiệp
Bảng 3. 34. Use case xóa sách ....................................................................................... 61
Bảng 3. 35. Use case xem sách ...................................................................................... 61
Bảng 3. 36. Use case thêm thể loại ................................................................................ 63
Bảng 3. 37. Use case sửa thông tin thể loại ................................................................... 64
Bảng 3. 38. Use case xóa thể loại .................................................................................. 65
Bảng 3. 39. Use case xem thể loại ................................................................................. 65
Bảng 3. 40. Use case thêm tác giả ................................................................................. 67
Bảng 3. 41. Use case sửa thông tin tác giả .................................................................... 68
Bảng 3. 42. Use case xóa thể loại .................................................................................. 69
Bảng 3. 43. Use case xem tác giả .................................................................................. 69
Bảng 3. 44. Use case thêm user ..................................................................................... 71
Bảng 3. 45. Use case sửa thông tin user ........................................................................ 72
Bảng 3. 46. Use case xóa user ....................................................................................... 73
Bảng 3. 47. Use case xem thơng tin user ....................................................................... 73
Bảng 3. 48. Use case xem đơn hàng .............................................................................. 75

Bảng 3. 49. Use case xem thông tin chi tiết đơn hàng................................................... 75
Bảng 3. 50. Use case sửa trạng thái đơn hàng ............................................................... 76
Bảng 3. 51. Use case xóa đơn hàng ............................................................................... 77
Bảng 3. 52. Use case thêm địa chỉ giao hàng ................................................................ 78
Bảng 3. 53. Use case sửa đổi thông tin địa chỉ giao hàng ............................................. 79
Bảng 3. 54. Use case xóa địa chỉ giao hàng .................................................................. 80
Bảng 3. 55. Use case xem thông tin địa chỉ giao hàng .................................................. 81
Bảng 3. 56. Use case xem mã giảm giá “View discount code” ..................................... 82
Bảng 3. 57. Use case đăng xuất “Logout an account” ................................................... 82
Bảng 4. 1. Mô tả dữ liệu Collection: Book .................................................................... 84
Bảng 4. 2. Mô tả dữ liệu Collection: BookCategory ..................................................... 84
Bảng 4. 3. Mô tả dữ liệu Collection: Seri ...................................................................... 85
Bảng 4. 4. Mô tả dữ liệu Collection: Author ................................................................. 85
Bảng 4. 5. Mô tả dữ liệu Collection: Rate ..................................................................... 85
Bảng 4. 6. Mô tả dữ liệu Collection: Rating .................................................................. 85
Bảng 4. 7. Mô tả dữ liệu Collection: CartBook ............................................................. 86
Bảng 4. 8. Mô tả dữ liệu Collection: OrderDetail ......................................................... 86
Bảng 4. 9. Mô tả dữ liệu Collection: Favorite ............................................................... 86
Bảng 4. 10. Mô tả dữ liệu Collection: Order ................................................................. 87
Bảng 4. 11. Mô tả dữ liệu Collection: Customer ........................................................... 88
xx


Báo cáo đồ án tốt nghiệp
Bảng 4. 12. Mô tả dữ liệu Collection: User ................................................................... 88
Bảng 4. 13. Mô tả dữ liệu Collection: DiscountCode ................................................... 88
Bảng 4. 14. Mô tả dữ liệu Collection: AccountSocial ................................................... 89
Bảng 4. 15. Mô tả dữ liệu Collection: Point .................................................................. 89
Bảng 4. 16. Mô tả màn hình khách hàng ..................................................................... 120
Bảng 4. 17. Mơ tả SCP001 Home Screen .................................................................... 123

Bảng 4. 18. Mô tả SCP002 Login and Register Screen ............................................... 125
Bảng 4. 19. Mô tả SCP003 BookCategory Screen ...................................................... 127
Bảng 4. 20. Mô tả SCP004 BookDetail Screen ........................................................... 130
Bảng 4. 21. Mô tả SCP004a BookDetail Screen – RatingBook Screen ...................... 131
Bảng 4. 22. Mô tả SCP005 CartBook Screen .............................................................. 133
Bảng 4. 23. Mô tả SCP006 Shipping Screen ............................................................... 136
Bảng 4. 24. Mô tả SCP006a Shipping Screen – Insert Location Shipping Screen ..... 138
Bảng 4. 25. Mô tả SCP006b Shipping Screen – Update Location Shipping Screen ... 140
Bảng 4. 26. Mô tả SCP007 Payment Screen ............................................................... 143
Bảng 4. 27. Mô tả SCP008 Account Screen ............................................................... 144
Bảng 4. 28. Mô tả SCP009 Profile Screen .................................................................. 145
Bảng 4. 29. Mô tả SCP0010 OrderHistory Screen ...................................................... 147
Bảng 4. 30. Mô tả SCP0011 DiscountCode Screen .................................................... 149
Bảng 4. 31. Mô tả SCP0011 Favorite Screen .............................................................. 150
Bảng 4. 32. Mô tả SCPM01 Modal Buy Book Successful Screen .............................. 151
Bảng 4. 33. Mô tả SCPM02 Modal TryRead Book Screen ......................................... 152
Bảng 4. 34. Mô tả SCPM03 Modal RotationLuck Screen .......................................... 153
Bảng 4. 35. Mơ tả màn hình Admin ............................................................................ 155
Bảng 4. 36. Mô tả SAP001 Dashboard Screen ............................................................ 157
Bảng 4. 37. Mô tả SAP002 Manage Book Screen....................................................... 158
Bảng 4. 38. Mô tả SAP003 View Book Screen ........................................................... 159
Bảng 4. 39. Mô tả SAP004 Update Book Screen ........................................................ 161
Bảng 4. 40. Mô tả SAP005 Insert Book Screen .......................................................... 162
Bảng 4. 41. Mô tả SAP006 Manage Order Screen ...................................................... 163
Bảng 4. 42. Mô tả SAP007 Admin Profile Screen ...................................................... 164
Bảng 4. 43. Mô tả SAP008 Update Profile Screen ...................................................... 165
Bảng 4. 44. Mô tả SAP009 Change Password Screen................................................. 166
Bảng 4. 45. Mô tả SAP010 Manage User Screen ........................................................ 167
xxi



Báo cáo đồ án tốt nghiệp
Bảng 4. 46. Mô tả SAP011 View User Screen ............................................................ 168
Bảng 4. 47. Mô tả SAP012 Update User Screen ......................................................... 169
Bảng 5. 1. Kiểm thử phần mềm chức năng đăng ký.................................................... 176
Bảng 5. 2. Kiểm thử phần mềm chức năng đăng nhập ................................................ 177
Bảng 5. 3. Kiểm thử phần mềm chức năng đổi mật khẩu ........................................... 178
Bảng 5. 4. Kiểm thử chức năng tìm kiếm sách ............................................................ 179
Bảng 5. 5. Kiểm thử chức năng thanh tốn ................................................................. 179
Bảng 6. 1.Khó khăn về cơng nghệ ............................................................................... 181
Bảng 6. 2.Khó khăn về quy trình thực hiện ................................................................. 181

xxii


Báo cáo đồ án tốt nghiệp

DANH MỤC TỪ VIẾT TẮT
MEAN: MongoDB (M), ExpressJS (E), Angular (A) và NodeJS(N).
AJAX: Asynchronous JavaScript and XML
API: Application Programming Interface
JSON: JavaScript Object Notation
HTTP: HyperText Transfer Protocol
JWT: Json Web Token
FIFO: First in First out
I/O: Input/output
DOM: Document Object Model
UI: User Interface

xxiii



Báo cáo đồ án tốt nghiệp
CHƯƠNG 1: TỔNG QUAN
1.1. Tính cấp thiết của đề tài
Sách là nguồn tri thức vô giá, là bàn đạp để phát triển nhân loại. Còn thương mại
điện tử tại Việt Name hiện nay đang ngày càng trở nên phổ biến - người người, nhà nhà
ai cũng có smart phone, một click là có hàng. Kết hợp sách với thương mại điện tử, với
mục đích giúp việc mua sách trở nên đơn giản hơn nữa, để những quyển sách quý sách
hay dễ dàng đến tay người đọc và cũng vì đây là một đề tài thực tiễn, nhóm tụi em thử
sức xây dựng một trang web bán sách online.
1.2. Mục đích của đề tài
Đề tài “XÂY DỰNG WEBSITE BÁN SÁCH TRÊN NỀN TẢNG MEAN
STACK” đặt ra 2 vấn đề trọng tâm về mục tiêu mà sinh viên nghiên cứu cần thực hiện
được bao gồm:
Vấn đề đầu tiên đưa ra về yếu tố lý thuyết, sinh viên thực hiện cần có kết quả
nghiên cứu chun mơn và hiểu được tổng quan và khả năng ứng dụng của từng thành
phần trong mơ hình MEAN nói chung. Với từng thành phần của MEAN Stack hiểu xác
định được các đặc trưng về nguyên tắc hoạt động, thành phần hoặc mô hình. Thư viện
được xây dựng dựa trên ngơn ngữ lập trình Javascript đạt được sự phổ biến đến lập trình
viên như: NodeJS – xây dựng Server, Angular – xây dựng ứng dụng phía người dùng,
MongoDB – cơ sở dữ liệu, ExpressJS – middleware hỗ trợ xây dựng Server. Song song
với việc hiểu về 4 thành phần tiêu biểu của MEAN Stack sinh viên cũng cần phải có
thêm tìm hiểu về các thư viện, mã nguồn module giúp ích trong quá trình xây dựng ứng
dụng Web thực tế.
Vấn đề thứ hai của đề tài đặt ra về ứng dụng mơ hình MEAN Stack vào xây dựng
một sản phẩm cụ thể, ở đây là “Website bán sách”. Sản phẩm hoàn thành phải là một
ứng dụng Web được xây dựng có đầy đủ các thành phần của mơ hình MEAN Stack và
đáp ứng thêm các yêu cầu về ứng dụng mua, lựa chọn sách u thích, tracking sản phẩm
trong q trình vận chuyển và một số tính năng khác có thể áp dụng trong thực tế cũng

như khả năng nâng cấp hoặc tiếp tục phát triển tính năng trong tương lai.

Chương 1: Tổng quan

1


Báo cáo đồ án tốt nghiệp
1.3. Đối tượng và phạm vi nghiên cứu
Đề tài được thực hiện nghiên cứu xoay quanh hai nhóm đối tượng trọng tâm bao
gồm: nhóm đối tượng về kiến thức cơng nghệ và nhóm đối tượng có nhu cầu mua, sử
dụng các tựa sách mà họ u thích.
Trong đó nhóm đối tượng về kiến thức cơng nghệ bao gồm 4 đối tượng nghiên
cứu bắt buộc là: Mã nguồn mở NodeJS, framework Angular, cơ sở dữ liệu MongoDB,
thư viện ExpressJS. Kết hợp thêm trong nhóm đối tượng nghiên cứu về kiến thức công
nghệ là một số thư viện Javascript có giá trị ứng dụng như JWT (Json Web Token),
charts cũng cần được nghiên cứu cho các ứng dụng về doanh thu cũng như mức độ ưa
thích của sản phẩm.
Nhóm đối tượng có nhu cầu mua, sử dụng các tựa sách mà họ yêu thích bao gồm
kiến thức về tên sách, thể loại, tựa seri sách cũng như các đánh giá về trải nghiệm người
dùng trên một trang web bán sách cụ thể.
Phạm vi nghiên cứu đề ra ở mức độ tổng quát, người thực hiện đề tài hiểu được
các kiến thức chung của nội dung nghiên cứu và áp dụng được từng nội dung kiến thức
vào sản phẩm thực tế, không đặt nặng các lý thuyết nặng nề khơng mang tính ứng dụng.
1.4. Kết quả dự kiến đạt được
Hiểu được các kiến thức về MEAN Stack, Restful API.
Xây dựng hoàn thành một website bán sách online với những kiến thức đã tìm
hiểu.

Chương 1: Tổng quan


2


Báo cáo đồ án tốt nghiệp
CHƯƠNG 2: CƠ SỞ LÝ THUYẾT
2.1. Tổng quan về MEAN Stack [1][2][3]
2.1.1. Khái niệm về MEAN Stack
Khái niệm MEAN stack được nhắc đến lần đầu tiên bởi Valeri Karpov - một lập
trình viên làm việc cho MongoDB - vào năm 2013.
MEAN là một mơ hình phát triển website trên nền tảng JavaScript để xây dựng
các trang web động. Mơ hình này cung cấp cho lập trình viên các thành phần đã đóng
gói sẵn để phát triển những website được nhanh chóng.
Một lợi ích lớn từ MEAN Stack là nó được xây dựng dựa trên một ngơn ngữ lập
trình duy nhất - JavaScript, mà vẫn đáp ứng được hoạt động của đầy đủ thành phần trong
mô hình, điều này khiến nó hoạt động hiệu quả và dễ tiếp cận trong quá trình phát triển
website.
2.1.2. Các thành phần trong MEAN stack
MEAN đại điện cho MongoDB (M), ExpressJS (E), Angular (A) và NodeJS(N).
Angular là một framework xây dựng dựa trên JavaScript chạy trên browser của
người dùng cho phép lập trình viên xây dựng Single-Page-Applications (SPA). Nhiệm
vụ của Angular là xử lý và xuất ra màn hình giao diện website cùng với những dữ liệu
động chèn trên đó, hoạt động này được Angular thực hiện theo cơ chế react - tức là liên
tục cập nhật giao diện website dựa vào những thay đổi mới nhất (có thể là thay đổi từ
phía người dùng hay server). Nhiệm vụ thứ hai của Angular là xử lý dữ liệu người dùng
nhập vào các form như kiểm tra tính hợp lệ của dữ liệu đầu vào và kết nối với phần
backend để gửi dữ liệu đó về phía server.
MongoDB là một cơ sở dữ liệu có dạng NoSQL. Đặc điểm của nó là khơng có
ràng buộc quan hệ, phân tán, mã nguồn mở, có khả năng lưu trữ, xử lý một lượng rất nhỏ
cho tới lượng dữ liệu cực lớn. Trong mơ hình MEAN stack, MongoDB đóng vai trị là

cơ sở dữ liệu cho website và có khả năng kết nối dễ dàng với NodeJS và ExpressJS.
NodeJS là một môi trường cho phép chạy JavaScript ở phía server mà khơng cần
trình duyệt. Nó có nhiệm vụ tiếp nhận những Request và gửi trả những Response nếu có,
cụ thể trong mơ hình MEAN stack thì những Request này sẽ đến từ Angular ở phía client
Chương 2: Cơ sở lý thuyết

3


×