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

Đồ án shop quần áo online tích hợp gợi ý sản phẩm

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 (7.31 MB, 136 trang )

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

BÁO CÁO
ĐỀ TÀI: SHOP QUẦN ÁO ONLINE TÍCH HỢP
GỢI Ý SẢN PHẨM
Giảng viên hướng dẫn:
ThS. Trần Anh Dũng
Danh sách sinh viên:
Nguyễn Trí Đức

MSSV: 20520453

Trương Kim Điền

MSSV: 20520442

TP. Hồ Chí Minh, tháng 6 năm 2023


LỜI CẢM ƠN
Nhóm chúng em xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc đến thầy Trần
Anh Dũng đã hướng dẫn, tạo điều kiện cho nhóm chúng em hồn thành Đồ án 1. Trong
vịng 16 tuần, qua các buổi tương tác, báo cáo tiến độ, nhờ sự chỉ dẫn nhiệt tình của
thầy, chúng em đã tiếp thu được những kiến thức quan trọng, bổ ích cùng những góp ý
chân thành để có thể làm được một đồ án hoàn chỉnh. Trong khoảng thời gian thực hiện
đồ án, chúng em đã học hỏi thêm được nhiều kiến thức, kinh nghiệm, tiếp cận công
nghệ mới và áp dụng vào thực tiễn đồ án. Mặc dù đã cố gắng hoàn thành báo cáo với
tất cả nỗ lực song báo cáo của nhóm chúng em chắc chắn khơng tránh khỏi những thiếu
sót, chúng em rất mong nhận được sự thơng cảm và góp ý chân thành từ thầy. Nhóm


em xin chân thành cảm ơn.
Thành phố Hồ Chí Minh, tháng 07 năm 2023
Nguyễn Trí Đức
Trương Kim Điền


MỤC LỤC
TÓM TẮT ĐỒ ÁN ......................................................................................................... 1
CHƯƠNG 1. MỞ ĐẦU.................................................................................................. 8
1.1.

Lý do chọn đề tài: ............................................................................................. 8

1.2.

Mục đích nghiên cứu: ....................................................................................... 8

1.2.1.

Khách quan: ............................................................................................... 8

1.2.2.

Chủ quan .................................................................................................... 8

1.3.

Mục tiêu đề tài: ................................................................................................. 9

1.3.1.


Mục tiêu tổng quát:.................................................................................... 9

1.3.2.

Mục tiêu cụ thể:.......................................................................................... 9

1.4.

Đối tượng nghiên cứu: ...................................................................................... 9

1.4.1.

Các công nghệ nghiên cứu: ....................................................................... 9

1.4.2.

Đối tượng sử dụng đề tài hướng đến: .................................................... 10

1.5.

Phạm vi nghiên cứu: ....................................................................................... 10

1.5.1.

Phạm vi môi trường:................................................................................ 10

1.5.2.

Phạm vi chức năng: ................................................................................. 10


CHƯƠNG 2. KIẾN THỨC NỀN TẢNG ................................................................... 12
2.1.

Typescript: ...................................................................................................... 12

2.2.

Node.js: ............................................................................................................ 12

2.3.

ReactJS: ........................................................................................................... 14

2.4.

NestJS: ............................................................................................................. 14


2.5.

Prisma: ............................................................................................................. 15

2.6.

PostgreSQL: .................................................................................................... 16

CHƯƠNG 3. HỆ THỐNG GỢI Ý RECOMMENDER SYSTEM .......................... 17
3.1.


Khái niệm ........................................................................................................ 17

3.1.1.

Giới thiệu về hệ thống gợi ý - Recommender system ........................... 17

3.1.2.

Phương pháp Content-based Filtering .................................................. 18

3.2.

Thư viện Content-based-recommender-ts: .................................................. 21

3.2.1.

Giới thiệu thư viện: .................................................................................. 21

3.2.2.

Chi tiết các bước của thuật toán ............................................................. 22

3.3.

Áp dụng vào đề tài .......................................................................................... 30

3.3.1.

Luồng xử lý ............................................................................................... 31


CHƯƠNG 4. THIẾT KẾ HỆ THỐNG ...................................................................... 34
4.1.

Kiến trúc hệ thống: Mơ hình Client-Server ................................................. 34

4.2.

Chi tiết các thành phần trong hệ thống: ....................................................... 35

4.3.

Thiết kế sơ đồ lớp: .......................................................................................... 35

CHƯƠNG 5. ĐẶC TẢ USE-CASE ............................................................................ 37
5.1.

Sơ đồ Use-case:................................................................................................ 37

5.2.

Danh sách các tác nhân: ................................................................................. 37

5.3.

Danh sách Use-case: ....................................................................................... 38

5.4.

Đặc tả Use-case: .............................................................................................. 41


5.4.1.

Đăng nhập ................................................................................................. 41

5.4.2.

Đăng kí: ..................................................................................................... 42


5.4.3.

Quên mật khẩu: ....................................................................................... 43

5.4.4.

Đặt mua sản phẩm ................................................................................... 45

5.4.5.

Quản lý đơn hàng ..................................................................................... 48

5.4.6.

Thêm sản phẩm ........................................................................................ 50

5.4.7.

Nhập sản phẩm: ....................................................................................... 52

CHƯƠNG 6. THIẾT KẾ CƠ SỞ DỮ LIỆU ............................................................. 54

6.1.

Sơ đồ logic: ...................................................................................................... 54

6.2.

Danh sách các quan hệ: .................................................................................. 54

CHƯƠNG 7. THIẾT KẾ GIAO DIỆN NGƯỜI DÙNG .......................................... 56
7.1.

Danh sách các màn hình: ............................................................................... 56

7.2.

Sơ đồ liên kết các màn hình: .......................................................................... 58

7.3.

Mơ tả chi tiết các màn hình: .......................................................................... 59

7.3.1.

Navigation Bar: ........................................................................................ 59

7.3.2.

Màn hình Trang chủ: .............................................................................. 60

7.3.3.


Màn hình Danh sách sản phẩm: ............................................................. 62

7.3.4.

Màn hình Chi tiết sản phẩm: .................................................................. 64

7.3.5.

Màn hình Giỏ hàng: ................................................................................. 66

7.3.6.

Màn hình Thanh tốn: ............................................................................ 68

7.3.7.

Màn hình Thơng tin cá nhân: ................................................................. 70

7.3.8.

Màn hình Danh sách đơn hàng: ............................................................. 72

7.3.9.

Màn hình Chi tiết đơn hàng: .................................................................. 74

7.3.10.

Màn hình Chính sách đổi trả: ............................................................. 75



7.3.11.

Màn hình Đăng nhập: .......................................................................... 77

7.3.12.

Màn hình Đăng kí: ............................................................................... 78

7.3.13.

Màn hình Quên mật khẩu: .................................................................. 80

7.3.14.

Navigation SideBar: ............................................................................. 82

7.3.15.

Màn hình Thống kê: ............................................................................. 86

7.3.16.

Màn hình Đơn hàng đang chờ: ........................................................... 88

7.3.17.

Màn hình Đơn hàng đã hồn thành: .................................................. 89


7.3.18.

Màn hình Đơn hàng đã huỷ: ............................................................... 90

7.3.19.

Màn hình Nhãn:.................................................................................... 91

7.3.20.

Màn hình Bộ sưu tập: .......................................................................... 94

7.3.21.

Màn hình Sản phẩm: ............................................................................ 96

7.3.22.

Form tạo/chỉnh sửa sản phẩm:.......................................................... 100

7.3.23.

Màn hình Tình trạng đơn hàng: ....................................................... 103

7.3.24.

Màn hình Hố đơn đã thanh tốn: ................................................... 104

7.3.25.


Màn hình Hố đơn chưa thanh tốn: ............................................... 107

7.3.26.

Màn hình Giảm giá: ........................................................................... 108

7.3.27.

Màn hình Voucher: ............................................................................ 110

7.3.28.

Màn hình Chính sách (đang phát triển): ......................................... 114

7.3.29.

Màn hình Khách hàng: ...................................................................... 115

7.3.30.

Màn hình Lịch sử nhập hàng: ........................................................... 116

7.3.31.

Màn hình Nhập hàng: ........................................................................ 117

CHƯƠNG 8. CÀI ĐẶT VÀ KIỂM THỬ ................................................................ 120


8.1.


Môi trường cài đặt và kiểm thử: ................................................................. 120

8.2.

Kết quả kiểm thử: ......................................................................................... 120

CHƯƠNG 9. KẾT LUẬN ......................................................................................... 121
9.1.

Kết quả đạt được: ......................................................................................... 121

9.2.

Hạn chế: ......................................................................................................... 122

9.2.1.

Về việc tổ chức quản lí nhóm:............................................................... 122

9.2.2.

Về sản phẩm phần mềm: ....................................................................... 122

9.3.

Hướng phát triển: ......................................................................................... 122

TÀI LIỆU THAM KHẢO ......................................................................................... 123



DANH MỤC HÌNH ẢNH
Hình 3.1: Cách thức hoạt động của Content Based Filtering......................................... 20
Hình 3.2: Hình minh họa phương pháp Content-based filtering tập trung vào sản phẩm
........................................................................................................................................ 20
Hình 3.3: Hình minh họa phương pháp Content-based filtering tập trung vào sản phẩm
........................................................................................................................................ 21
Hình 3.4: Thư viện Content-based-recommender-ts ...................................................... 22
Hình 3.5: Mã nguồn cài đặt phần tiền xử lí dữ liệu của thư viện content-basedrecommender-ts .............................................................................................................. 24
Hình 3.6: Mã nguồn cài đặt phần tạo vector của thư viện content-based-recommenderts ..................................................................................................................................... 27
Hình 3.7: Mã nguồn cài đặt phần tính tốn cosine similarity của thư viện contentbased-recommender-ts ................................................................................................... 30
Hình 3.8: Sơ đồ Activity của hệ thống gợi ý .................................................................. 31
Hình 3.9: Dữ liệu trả về từ hệ thống gợi ý ..................................................................... 32
Hình 3.10: Hình ảnh các sản phẩm được gợi ý hiện ở trang chi tiết sản phẩm. ............ 33
Hình 4.1: Mơ hình Client-Server ................................................................................... 34
Hình 4.2: Sơ đồ lớp ........................................................................................................ 36
Hình 5.1: Sơ đồ Use-case ............................................................................................... 37
Hình 5.2: Sơ đồ hoạt động thanh toán hoá đơn .............................................................. 46
Hình 6.1: Sơ đồ logic ..................................................................................................... 54
Hình 7.1: Sơ đồ liên kết các màn hình ........................................................................... 59
Hình 7.2: Giao diện Navigation Bar trước đăng nhập ................................................... 59
Hình 7.3: Giao diện Navigation Bar sau đăng nhập ...................................................... 59
Hình 7.4: Giao diện màn hình Trang chủ ....................................................................... 61
Hình 7.5: Giao diện màn hình Danh sách sản phẩm ...................................................... 63
Hình 7.6: Giao diện màn hình Chi tiết sản phẩm ........................................................... 65


Hình 7.7: Giao diện màn hình Giỏ hàng ........................................................................ 67
Hình 7.8: Giao diện màn hình Thanh tốn ..................................................................... 69
Hình 7.9: Giao diện màn hình Thơng tin cá nhân .......................................................... 72

Hình 7.10: Giao diện màn hình Danh sách đơn hàng .................................................... 73
Hình 7.11: Giao diện màn hình Chi tiết đơn hàng ......................................................... 74
Hình 7.12: Giao diện màn hình Chính sách đổi trả ........................................................ 76
Hình 7.13: Giao diện màn hình Đăng nhập ................................................................... 77
Hình 7.14: Giao diện màn hình Đăng kí ........................................................................ 79
Hình 7.15: Giao diện màn hình Quên mật khẩu ............................................................ 81
Hình 7.16: Giao diện màn hình thơng báo cập nhật mật khẩu thành công .................... 81
Hình 7.17: Giao diện Navigation SideBar thu gọn ........................................................ 83
Hình 7.18: Giao diện Navigation SideBar mở rộng ....................................................... 84
Hình 7.19: Giao diện màn hình Thống kê ...................................................................... 87
Hình 7.20: Giao diện màn hình Đơn hàng đang chờ ..................................................... 89
Hình 7.21: Giao diện màn hình Đơn hàng đã hoàn thành .............................................. 90
Hình 7.22: Giao diện màn hình Đơn hàng đã huỷ ......................................................... 91
Hình 7.23: Giao diện màn hình Nhãn ............................................................................ 92
Hình 7.24: Giao diện form tạo nhãn .............................................................................. 92
Hình 7.25: Giao diện chỉnh sửa sản phẩm ..................................................................... 93
Hình 7.26: Giao diện màn hình Bộ sưu tập .................................................................... 94
Hình 7.27: Giao diện form tạo bộ sưu tập ...................................................................... 95
Hình 7.28: Giao diện chỉnh sửa bộ sưu tập .................................................................... 95
Hình 7.29: Giao diện màn hình Sản phẩm ..................................................................... 97
Hình 7.30: Giao diện thông tin chi tiết sản phẩm 1 ....................................................... 98
Hình 7.31: Giao diện thông tin chi tiết sản phẩm 2 ....................................................... 99
Hình 7.32: Giao diện form tạo sản phẩm 1 .................................................................. 100
Hình 7.33: Giao diện form tạo sản phẩm 2 .................................................................. 101


Hình 7.34: Giao diện form chỉnh sửa sản phẩm 1 ....................................................... 102
Hình 7.35: Giao diện form chỉnh sửa sản phẩm 2 ....................................................... 102
Hình 7.36: Giao diện màn hình Tình trạng đơn hàng .................................................. 104
Hình 7.37: Giao diện màn hình Hoá đơn đã thanh tốn............................................... 105

Hình 7.38: Giao diện thơng tin chi tiết hoá đơn ........................................................... 106
Hình 7.39: Giao diện màn hình Hoá đơn chưa thanh toán........................................... 107
Hình 7.40: Giao diện màn hình Giảm giá .................................................................... 108
Hình 7.41: Giao diện form tạo Giảm giá ..................................................................... 109
Hình 7.42: Giao diện chỉnh sửa giảm giá ..................................................................... 109
Hình 7.43: Giao diện màn hình Voucher ...................................................................... 111
Hình 7.44: Giao diện form tạo voucher ....................................................................... 112
Hình 7.45: Giao diện chỉnh sửa voucher ...................................................................... 112
Hình 7.46: Giao diện màn hình Chính sách ................................................................. 114
Hình 7.47: Giao diện màn hình Khách hàng ................................................................ 115
Hình 7.48: Giao diện màn hình Thơng tin chi tiết khách hàng .................................... 116
Hình 7.49: Giao diện màn hình Lịch sử nhập hàng ..................................................... 117
Hình 7.50: Giao diện màn hình Nhập hàng ................................................................. 118
Hình 7.51: Giao diện form nhập hàng.......................................................................... 118


DANH MỤC BẢNG
Bảng 4.1: Bảng chi tiết các thành phần trong hệ thống ................................................. 35
Bảng 5.1: Danh sách các tác nhân .................................................................................. 38
Bảng 5.2: Danh sách Use-case ....................................................................................... 41
Bảng 5.3: Use-case Đăng nhập ...................................................................................... 42
Bảng 5.4: Use-case Đăng kí ........................................................................................... 43
Bảng 5.5: Use-case Quên mật khẩu ............................................................................... 45
Bảng 5.6: Use-case Đặt mua sản phẩm .......................................................................... 48
Bảng 5.7: Use-case Quản lý đơn hàng ........................................................................... 50
Bảng 5.8: Use-case Thêm sản phẩm .............................................................................. 52
Bảng 5.9: Use-case Nhập sản phẩm ............................................................................... 53
Bảng 6.1: Danh sách các quan hệ................................................................................... 55
Bảng 7.1: Danh sách các màn hình ................................................................................ 58
Bảng 7.2: Danh sách các thành phần Navigation Bar .................................................... 60

Bảng 7.3: Danh sách các thành phần giao diện màn hình Trang chủ ............................ 62
Bảng 7.4: Danh sách các thành phần giao diện màn hình Danh sách sản phẩm ........... 64
Bảng 7.5: Danh sách các thành phần giao diện màn hình Chi tiết sản phẩm ................ 66
Bảng 7.6: Danh sách các thành phần giao diện màn hình Giỏ hàng .............................. 68
Bảng 7.7: Danh sách các thành phần giao diện màn hình Thanh tốn .......................... 70
Bảng 7.8: Danh sách các thành phần giao diện màn hình Thơng tin cá nhân ............... 72
Bảng 7.9: Danh sách các thành phần giao diện màn hình Danh sách đơn hàng ............ 74
Bảng 7.10: Danh sách các thành phần giao diện màn hình Chi tiết đơn hàng ............... 75
Bảng 7.11: Danh sách các thành phần giao diện màn hình Chính sách đổi trả ............. 77
Bảng 7.12: Danh sách các thành phần giao diện màn hình Đăng nhập ......................... 78
Bảng 7.13: Danh sách các thành phần giao diện màn hình Đăng kí .............................. 80
Bảng 7.14: Danh sách các thành phần giao diện màn hình Quên mật khẩu .................. 82
Bảng 7.15: Danh sách các thành phần giao diện Navigation SideBar ........................... 86


Bảng 7.16: Danh sách các thành phần giao diện màn hình Thống kê ........................... 88
Bảng 7.17: Danh sách các thành phần giao diện màn hình Đơn hàng đang chờ ........... 89
Bảng 7.18: Danh sách các thành phần giao diện màn hình Đơn hàng đã hoàn thành ... 90
Bảng 7.19: Danh sách các thành phần giao diện màn hình Đơn hàng đã huỷ ............... 91
Bảng 7.20: Danh sách các thành phần giao diện màn hình Nhãn .................................. 94
Bảng 7.21: Danh sách các thành phần giao diện màn hình Bộ sưu tập ......................... 96
Bảng 7.22: Danh sách các thành phần giao diện màn hình Sản phẩm........................... 99
Bảng 7.23: Danh sách các thành phần giao diện form tạo/chỉnh sửa sản phẩm .......... 103
Bảng 7.24: Danh sách các thành phần giao diện màn hình Tình trạng đơn hàng ........ 104
Bảng 7.25: Danh sách các thành phần giao diện màn hình Hoá đơn đã thanh toán .... 106
Bảng 7.26: Danh sách các thành phần giao diện màn hình Hoá đơn chưa thanh toán 108
Bảng 7.27: Danh sách các thành phần giao diện màn hình Giảm giá .......................... 110
Bảng 7.28: Danh sách các thành phần giao diện màn hình Voucher ........................... 114
Bảng 7.29: Danh sách các thành phần giao diện màn hình Chính sách....................... 115
Bảng 7.30: Danh sách các thành phần giao diện màn hình Khách hàng ..................... 116

Bảng 7.31: Danh sách các thành phần giao diện màn hình Lịch sử nhập hàng ........... 117
Bảng 7.32: Danh sách các thành phần giao diện màn hình Nhập hàng ....................... 119
Bảng 8.1: Kết quả kiểm thử ......................................................................................... 120
Bảng 9.1: Danh sách tài khoản hệ thống ...................................................................... 121


DANH MỤC TỪ VIẾT TẮT
#

Từ viết tắt

Từ đầy đủ

Ý nghĩa

1

CSDL

Cơ sở dữ liệu

Cơ sở dữ liệu cho ứng dụng

2

PostgreSQL

3

NPM


Structured Query
Language

Node package manager

Cơ sở dữ liệu quan hệ PostgreSQL
Công cụ tạo và quản lý các thư viện
lập trình Javascript cho Node.js


TÓM TẮT ĐỒ ÁN
Trong bối cảnh nền kinh tế trên toàn thế giới đang dần phục hồi sau đại dịch
COVID-19, ngành thương mại đang có xu hướng chuyển dịch từ mua bán trực tiếp
sang trực tuyến thông qua các website thương mại điện thử hoặc các sàn thương mại
điện tử đã tạo ra sự bùng nổ nhu cầu của khách hàng về các ứng dụng, website này.
Ngoài ra, dưới tác động của những đợt giãn cách xã hội dài ngày đã góp phần thúc đẩy
người dân thích nghi với các hoạt động mua bán hàng trực tuyến trên internet. Điều
này đã góp phần nâng cao cơ hội thành cơng cho các doanh nghiệp khi đầu tư vào lĩnh
vực thương mại điện tử cũng như cắt giảm các chi phí khơng cần thiết khi bán hàng
trực tiếp tại các cửa hàng vật lý.
Bên cạnh đó, mối quan tâm hàng đầu của các chủ doanh nghiệp đặc biệt là doanh
nghiệp kinh doanh thời trang trước sự bùng nổ của lĩnh vực thương mại điện tử, đó
chính là thu hút được khách hàng đến với doanh nghiệp và tạo ra lợi nhuận tự việc trao
đổi hàng hoá. Để cạnh tranh với nhau và tối ưu lợi nhuận, nhiều doanh nghiệp lựa chọn
sử dụng công nghệ nhằm tăng khả năng tương tác của ứng dụng đối với khách hàng
thay thế cho việc thuê nhân cơng.
Nắm bắt được nhu cầu đó, nhóm chúng em quyết định xử lí vấn đề nghiệp vụ của
các doanh nghiệp thời trang may mặc với cơng nghệ Web, tích hợp hệ thống gợi ý sản
phẩm nhằm hỗ trợ khách hàng tìm được những sản phẩm mà mình muốn.

Mặc khác, theo tính tốn về thời gian và thực lực đầu tư vào Đồ án 1, nhóm giới
hạn sản phẩm hướng đến là một ứng dụng chạy trên nền tảng Web. Hệ thống hỗ trợ các
tiện ích:
-

Cung cấp thơng tin về các sản phẩm của doanh nghiệp đang bày bán.

-

Gợi ý sản phẩm tương tự đến khách hàng.

-

Quản lý đơn hàng.

-

Quản lý kho.

-

Quản lý sản phẩm.

1


-

Quản lý doanh thu.


Sau quá trình miệt mài nghiên cứu, thực hiện thiết kế và cài đặt hệ thống, nội
dung trình bày trong báo cáo này là những thành quả mà nhóm đã gặt hái được trong
thời gian vừa qua.

ĐỀ CƯƠNG CHI TIẾT
TÊN ĐỀ TÀI: Xây dựng shop quần áo online tích hợp gợi ý sản phẩm
Cán bộ hướng dẫn:


ThS. Trần Anh Dũng

Thời gian thực hiện: Từ ngày 27/2/2023 đến ngày kết thúc Đồ án 1
Sinh viên thực hiện:
Nguyễn Trí Đức – 20520453
Trương Kim Điền – 20520442
Nội dung đề tài
1. Lý do chọn đề tài:
Sau 2 năm đại dịch Covid-19, dưới tác động của những đợt giãn cách xã hội,
các ứng dụng mua sắm trực tuyến dần trở nên quen thuộc với người dân trong bối
cảnh các cửa đều phải đóng cửa thực hiện giãn cách. Giờ đây, sau khi đại dịch đã kết
thúc, các ứng dụng mua sắm trực tuyến E-commerce đã trở thành một thói quen của
người dân do sự tiện lợi mà các ứng dụng này đem lại cho khách hàng. Bên cạnh
người mua, chủ doanh nghiệp cũng được hưởng lợi ích từ các ứng dụng e-commerce
như giảm thiểu chi phí đầu tư ban đầu (mặt bằng, nội thất,...), tích hợp hỗ trợ quản trị
doanh nghiệp dễ dàng,... Do đó, số lượng các cửa hàng chuyển từ hình thức kinh
doanh trực tiếp sang kinh doanh trực tuyến ngày càng tăng cao dẫn đến nhu cầu về
các ứng dụng, website e-commerce tăng theo đáng kể.
Để góp phần giải quyết nhu cầu thị trường cũng như tăng cường chất lượng sản

2



phẩm với những tính năng thiết thực, nhóm chúng em quyết định chọn đề tài “Xây
dựng shop quần áo online tích hợp gợi ý sản phẩm” với những tiện ích có khả năng
hỗ trợ tốt cho người quản trị doanh nghiệp cũng như đem lại trải nghiệm tốt khách
hàng.
2. Mục tiêu: bao gồm 2 mục tiêu chính:


Xây dựng hệ thống gợi ý sản phẩm:
o

Hệ thống gợi ý những sản phẩm tương tự dựa trên những sản phẩm
người dùng đã xem và đã mua.



o

Hệ thống gợi ý sản phẩm theo từng cá nhân.

o

Cung cấp thông tin cơ bản về sản phẩm

Xây dựng website:
o

Ứng dụng chạy trên nền tảng Web


o

Giới thiệu về sản phẩm, cửa hàng, quy trình mua hàng, thông tin liên hệ
một cách trực quan, đem đến cho người dùng những nội dung chi tiết
nhất

o

Cung cấp giao diện quản lý tài khoản, đăng và chỉnh sửa tin tức, quản
lý hỏi đáp.

o

Cung cấp các thống kê, biểu đồ trực quan số liệu, hỗ trợ cơng tác quản
trị doanh nghiệp

3. Phạm vi:


Phạm vi mơi trường: Web



Phạm vi chức năng:


Đối với hệ thống gợi ý sản phẩm:

Gợi ý những sản phẩm tương tự sản phẩm người dùng đã xem hoặc đã mua, tăng mức
độ tiếp cận khách hàng của sản phẩm.



Đối với ứng dụng:

3


Hệ thống cung cấp giao diện mua dành cho khách hàng tiện lợi, dễ sử dụng.
Tích hợp hệ thống gợi ý sản phẩm nhằm quảng bá sản phẩm đến người dùng, tăng
doanh thu.
Hệ thống cung cấp giao diện quản lý giúp chủ cửa hàng theo dõi doanh số, quản lý
hàng tồn kho.
Hệ thống cung cấp giao diện đăng ký, đăng nhập giúp xác thực người dùng.
Hệ thống cung cấp tính năng giỏ hàng hỗ trợ người mua đơn giản hóa q trình mua
hàng.
4. Đối tượng sử dụng:


Khách hàng có nhu cầu mua sắm quần áo online, tìm kiếm những sản phẩm
thời trang.



Quản trị viên muốn thực hiện các cơng việc quản trị doanh nghiệp.

5. Phương pháp thực hiện:


Phương pháp làm việc:


Làm việc nhóm 2 thành viên thơng qua cả 2 phương thức online và offline dưới sự
hướng dẫn của giảng viên hướng dẫn.


Phương pháp nghiên cứu:

Phân tích nhu cầu sử dụng của đối tượng người dùng.
Khảo sát ứng dụng tương tự
Nghiên cứu tài liệu các cơng nghệ liên quan.


Phương pháp cơng nghệ:

Tìm hiểu tích hợp
Xây dựng giao diện Web để người dùng có thể tương tác với ứng dụng
Tìm hiểu về Recommendation System
Quản lý source code thông qua Github
Sử dụng Google docs, Office 365 Word… để quản lý tiến trình và tài liệu

4


6. Nền tảng cơng nghệ:


Front-end: ReactJS



Back-end: NodeJS, Typescript




Database: PostgreSQL



Hỗ trợ liên kết: NestJS



Visual Studio Code



Supabase

7. Kết quả mong đợi:


Hệ thống gợi ý hoạt động hiệu quả, gợi ý sản phẩm đúng đối tượng



Website hoạt động ổn định, các chức năng đáp ứng tốt.

8. Hướng phát triển của đề tài:


Tích hợp chatbot hỗ trợ tư vấn người mua theo chiều cao, cân nặng, sở thích.




Thêm các tính năng hỗ trợ tiện ích dành cho nội bộ phía trung tâm, cũng như
người dung truy cập vào ứng dụng



Nâng cấp giao diện, thêm bộ chuyển đổi ngơn ngữ sang tiếng Anh



Nâng cấp source code, tăng tốc độ xử lý của Web nhanh chóng, ổn định

9. Kế hoạch làm việc:
Thời gian thực hiện từ ngày 28/2/2023 đến ngày kết thúc Đồ án 1
Nhóm chia thành 2 giai đoạn cụ thể:
Giai đoạn 1: Hoàn thiện phần giao diện người dùng, phân quyền đăng nhập và tích
hợp hệ thống gợi ý sản phẩm. Gồm 4 sprint với thời gian mỗi sprint kéo dài 2 tuần:
Thời gian: 29/8/2022 – 8/4/2022
Sprint 1: Đăng ký đề tài, soạn đề cương chi tiết.
Sprint 2: Khâu chuẩn bị tài liệu đặc tả cho đồ án.
Sprint 3: Xây dựng giao diện và các tính năng thêm xóa sửa cơ bản.
Sprint 4: Xây dựng các tính năng cơ bản của ứng dụng và chuẩn bị báo cáo giữa kỳ

5


Sprint Thời gian


Công việc dự kiến

Sprint 28/02/2023 – 14/03/2023 Đăng ký đề tài
1

Tìm hiểu và xác định phạm vi, hướng phát triển
của đề tài
Tìm hiểu và phân tích các yêu cầu nghiệp vụ
của đề tài
Viết tài liệu, đề cương chi tiết

Sprint 15/03/2023 – 29/03/2023 Tìm hiểu công nghệ
2

Xây dựng sơ đồ lớp
Xây dựng sơ đồ use case
Xây dựng sơ đồ ERD
Tham khảo các giao diện có sẵn trên thị trường
Tham khảo các phương pháp gợi ý sản phẩm

Sprint 30/03/2023 – 13/04/2023 Liên kết CSDL vào ứng dụng
3

Xây dựng cơ bản giao diện khách hàng
Lập trình thêm xóa sửa các tính năng cơ bản ở
backend
Lập trình các hệ thống xác thực, phân quyền
người dùng phía backend

Sprint 14/04/2023 – 28/04/2023 Xây dựng cơ bản giao diện quản lý

4

Hồn thiện thêm xóa sửa các chức năng cơ bản
Chuẩn bị báo cáo giữa kỳ

Giai đoạn 2: Hồn thiện các tính năng của ứng dụng, triển khai và kiểm thử ứng
dụng, viết báo cáo.... Gồm 4 sprint với thời gian mỗi sprint kéo dài 2 tuần:
Thời gian: 29/04/2023 – 04/06/2023 – kết thúc Đồ án 1
Sprint 5: Hồn thiện tính năng của ứng dụng và xây dựng hệ thống gợi ý sản phẩm

6


Sprint 6: Hoàn thiện hệ thống gợi ý sản phẩm và kiểm thử ứng dụng
Sprint 7: Hồn thiện tính năng, kiểm thử và triển khai ứng dụng
Sprint 8: Tổng kiểm thử và viết báo cáo
Sprint

Thời gian

Công việc dự kiến

Sprint 5 29/04/2023 – 14/05/2023 Tiếp tục hồn thiện các tính năng của ứng dụng
Xây dựng hệ thống gợi ý sản phẩm
Sprint 6 15/05/2023 – 29/05/2023 Hồn thiện các tính năng của ứng dụng
Hoàn thiện hệ thống gợi ý sản phẩm
Sprint 7 30/05/2023 – 03/06/2023 Tổng kiểm thử ứng dụng
Triển khai ứng dụng
Sprint 8 04/06/2023 – kết thúc


Viết báo cáo

10. Phân công cơng việc:
Cơng việc

Mơ tả cơng việc
Tìm hiểu cơng nghệ
Phân tích yêu cầu

Công việc chung

Kiểm thử ứng dụng
Triển khai ứng dụng
Chuẩn bị tài liệu, viết báo cáo
Xây dựng hệ thống gợi ý sản phẩm

Cơng việc cá nhân

Trương Kim Điền

Nguyễn Trí Đức

Đặc tả yêu cầu

Lập trình Front-end

Lập trình Back-end

Quản lý tiến độ


Thiết kế cơ sở dữ liệu

Xây dựng hệ thống gợi ý sản
phẩm

Tp. Hồ Chí Minh, ngày 28 tháng 8 năm 2022

7


NỘI DUNG KHOÁ LUẬN

CHƯƠNG 1.
1.1.

MỞ ĐẦU

Lý do chọn đề tài:

Hiện nay, nhu cầu mua sắm trên các website trực tuyến của mọi người ngày một
tăng nhanh. Các thương hiệu thời trang, cửa hàng đang dần đầu tư, tìm kiếm giải pháp
triển khai hình thức bán hàng trực tuyến. Bên cạnh việc tìm kiếm các giải pháp đáp ứng
các yêu cầu nghiệp vụ bán hàng cơ bản, một số đơn vị cịn tìm kiếm các giải pháp nâng
cao, hỗ trợ, tối ưu khả năng bán hàng của mình.
Mặc khác, nhận thấy sự phát triển cũng như sự ưa chuộng của người dùng đến
các thuật toán gợi ý, AI hỗ trợ các hoạt động bán hàng, nhóm quyết định chọn đề tài
“Shop quần áo online tích hợp hệ thống gợi ý sản phẩm” nhằm phát triển và đem đến
một giải pháp giải quyết các bài toán tối ưu hiệu quả bán hàng cịn tồn động.
Ứng dụng cung cấp những tính năng tiện ích giúp tăng độ tiếp cận sản phẩm của
khách hàng. Khi xem sản phẩm, khách hàng sẽ được gợi ý những sản phẩm tương tự

nhằm tối đa hoá tỉ lệ mua hàng của khách hàng. Bên cạnh đó, nhân viên phía cửa hàng
cũng có thể truy cập và thực hiện một số nghiệp vụ quản lý quá trình bán hàng như
xem thống kê doanh thu, quản lý các sản phẩm đang bày bán…
1.2.

Mục đích nghiên cứu:

1.2.1. Khách quan:
Đáp ứng nhu cầu của những người dùng về website thương mại điện tử tích hợp
hệ thống gợi ý sản phẩm.
Cung cấp một ứng dụng chạy trên nền tảng Web có thể giúp người dùng có thể
tiếp cận đến những thơng tin sản phẩm được bày bán trên website, gợi ý sản phẩm
tương tự các sản phẩm khách hàng đã xem và đã mua.
Hỗ trợ nhân viên phía doanh nghiệp cũng có thể quản lý việc kinh doanh, sản
phẩm đang được bày bán, nhập kho sản phẩm mới, quản lý doanh thu…
1.2.2. Chủ quan

8


Nhóm đã ln có sự tị mị và hứng thú đối với các công nghệ liên quan đến công
nghệ Web, và hệ thống gợi ý sản phẩm. Thông qua đề tài và sự dẫn dắt của giáo viên
hướng dẫn để mở mang hiểu biết, nghiên cứu và có được một cái nhìn tổng quan hơn,
chun sâu hơn về các cơng nghệ và vấn đề trên.
Bên cạnh đó, nhóm cho rằng đây là một cơ hội để có thể phát triển và áp dụng các
kĩ năng đã học vào thực tế, tạo nên một thành phẩm từ 3 năm học đã qua.
1.3.

Mục tiêu đề tài:


1.3.1. Mục tiêu tổng quát:
Xây dựng và hoàn thiện một website thương mại điện tử bán quần áo online hỗ
trợ tính năng đề xuất, gợi ý sản phẩm tương tự những sản phẩm khách hàng đã xem và
đã mua
1.3.2. Mục tiêu cụ thể:
-

Đối với công nghệ:
▫ Nghiên cứu và áp dụng thành cơng thuật tốn gợi ý sản phẩm Contentbased recommender vào đề tài.
▫ Nghiên cứu và xây dựng hệ thống bằng các công nghệ mới như NestJS,
Prisma…

-

Đối với hệ thống:
▫ Xây dựng website đáp ứng các yêu cầu nghiệp vụ cơ bản trong lĩnh vực
thương mại điện tử.
▫ Hệ thống gợi ý sản phẩm hoạt động tốt, gợi ý sản phẩm đạt độ chính xác
cao.

1.4.

Đối tượng nghiên cứu:

1.4.1. Các công nghệ nghiên cứu:
-

Đối với thiết kế hệ thống:
▫ Kết nối và trao đổi giữa client, server đến database thông qua RESTful
API


9


-

Đối với Database: PostgreSQL

-

Đối với Website
▫ Node.js (NestJs, Prisma)
▫ ReactJS
▫ NPM

-

Đối với Recommender System: Content-based Filtering ML
▫ Microsoft Recommenders
▫ C# và .NET

-

Khác
▫ Lưu trữ ảnh với Supabase storage
▫ Supabase
1.4.2. Đối tượng sử dụng đề tài hướng đến:
Tất cả mọi người muốn mua sắm quần áo online trên các website thương mại

điện tử, hoặc muốn tìm các sản phẩm tương tự.

Quản trị viên phía doanh nghiệp muốn quản lý việc kinh doanh, quản lý các sản
phẩm đang được bày bán, doanh thu của website, nhập kho sản phẩm mới.
1.5.

Phạm vi nghiên cứu:

1.5.1. Phạm vi mơi trường:
Website trên máy tính cá nhân.
1.5.2. Phạm vi chức năng:
-

Đối với Website
▫ Hệ thống cung cấp giao diện mua dành cho khách hàng tiện lợi, dễ sử
dụng.
▫ Tích hợp hệ thống gợi ý sản phẩm nhằm quảng bá sản phẩm đến người
dùng, tăng doanh thu.
▫ Hệ thống cung cấp giao diện quản lý giúp chủ cửa hàng theo dõi doanh
số, quản lý hàng tồn kho.

10


▫ Hệ thống cung cấp giao diện đăng ký, đăng nhập giúp xác thực người
dùng.
▫ Hệ thống cung cấp tính năng giỏ hàng hỗ trợ người mua đơn giản hóa

quá trình mua hàng.
-

Đối với hệ thống gợi ý sản phẩm:

▫ Hệ thống gợi ý những sản phẩm tương tự dựa trên những sản phẩm người
dùng đã xem và đã mua.
▫ Hệ thống gợi ý sản phẩm theo từng cá nhân.
▫ Cung cấp thông tin cơ bản về sản phẩm.

11


CHƯƠNG 2.
2.1.

KIẾN THỨC NỀN TẢNG

Typescript:

TypeScript là một dự án mã nguồn mở được phát triển bởi Microsoft, nó có thể
được coi là một phiên bản nâng cao của Javascript bởi việc bổ sung tùy chọn kiểu tĩnh
và lớp hướng đối tượng mà điều này khơng có ở Javascript. TypeScript có thể sử dụng
để phát triển các ứng dụng chạy ở client-side (Angular2) và server-side (NodeJS).
Tại sao nên sử dụng TypeScript?
-

Dễ phát triển dự án lớn: Với việc sử dụng các kỹ thuật mới nhất và lập trình

hướng đối tượng nên TypeScript giúp chúng ta phát triển các dự án lớn một cách dễ
dàng.
-

Nhiều Framework lựa chọn: Hiện nay các Javascript Framework đã dần


khuyến khích nên sử dụng TypeScript để phát triển, ví dụ như AngularJS 2.0 và
Ionic 2.0.
-

Hỗ trợ các tính năng của Javascript phiên bản mới nhất: TypeScript ln

đảm bảo việc sử dụng đầy đủ các kỹ thuật mới nhất của Javascript, ví dụ như
version hiện tại là ECMAScript 2015 (ES6).
-

Là mã nguồn mở: TypeScript là một mã nguồn mở nên bạn hồn tồn có thể sử

dụng mà khơng mất phí, bên cạnh đó cịn được cộng đồng hỗ trợ.
-

TypeScript là Javscript: Bản chất của TypeScript là biên dịch tạo ra các đoạn

mã javascript nên ban có thê chạy bất kì ở đâu miễn ở đó có hỗ trợ biên dịch
Javascript. Ngồi ra bạn có thể sử dụng trộn lẫn cú pháp của Javascript vào bên
trong TypeScript, điều này giúp các lập trình viên tiếp cận TypeScript dễ dàng hơn.
2.2.

Node.js:

Nodejs được xây dựng và phát triển từ năm 2009, bảo trợ bởi công ty Joyent, trụ
sở tại California, Hoa Kỳ. Đây là một nền tảng (platform) phát triển độc lập dựa trên
V8 JavaScript engine. Đây là một trình thông dịch thực thi mã JavaScript cho phép tạo

12



×