Tải bản đầy đủ (.docx) (153 trang)

Khóa luận xây dựng ứng dụng thương mại điện tử hỗ trợ 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 (5.37 MB, 153 trang )

ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN THỊ TÂM
BÙI THANH TÙNG

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ HỖ
TRỢ GỢI Ý SẢN PHẨM
E-commerce application intergrated with product recommendation
system

KỸ SƯ NGÀNH CƠNG NGHỆ PHẦN MỀM

TP. HỒ CHÍ MINH, 2020


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẦN MỀM

NGUYỄN THỊ TÂM – 16521065
BÙI THANH TÙNG – 15520982

KHÓA LUẬN TỐT NGHIỆP

XÂY DỰNG ỨNG DỤNG THƯƠNG MẠI ĐIỆN TỬ HỖ


TRỢ GỢI Ý SẢN PHẨM
E-commerce application intergrated with product recommendation
system

KỸ SƯ NGÀNH CÔNG NGHỆ PHẦN MỀM

GIẢNG VIÊN HƯỚNG DẪN
THS. TRẦN ANH DŨNG

TP. HỒ CHÍ MINH, 2020


DANH SÁCH HỘI ĐỒNG BẢO VỆ KHÓA LUẬN

Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số ………………
ngày ……………….. của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
1.

…………………………………………. – Chủ tịch.

2.

…………………………………………. – Thư ký.

3.

…………………………………………. – Ủy viên.

4.


…………………………………………. – Ủy viên.


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2020

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ HƯỚNG DẪN)
Tên khóa luận:
Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm
Nhóm sinh viên thực hiện:

Cán bộ hướng dẫn:

NGUYỄN THỊ TÂM

16521065

ThS. TRẦN ANH DŨNG

BÙI THANH TÙNG


15520982

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang

Số chương

Số bảng số liệu

Số hình vẽ

Số tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:

2. Về nội dung nghiên cứu:


3. Về chương trình ứng dụng:

4. Về thái độ làm việc của sinh viên:

Đánh giá chung:
Điểm từng sinh viên:
NGUYỄN THỊ TÂM: ………../10



BÙI THANH TÙNG: ………../10
Người nhận xét
(Ký và ghi rõ họ tên)

Trần Anh Dũng


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH

CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập – Tự Do – Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày tháng năm 2020

NHẬN XÉT KHÓA LUẬN TỐT NGHIỆP
(CỦA CÁN BỘ PHẢN BIỆN)
Tên khóa luận:
Xây dựng ứng dụng Thương mại điện tử hỗ trợ gợi ý sản phẩm
Nhóm sinh viên thực hiện:
NGUYỄN THỊ TÂM

16521065

BÙI THANH TÙNG

15520982


Cán bộ phản biện:

Đánh giá Khóa luận:
1. Về cuốn báo cáo:
Số trang

Số chương

Số bảng số liệu

Số hình vẽ

Số tài liệu tham khảo

Sản phẩm

Một số nhận xét về hình thức cuốn báo cáo:
2. Về nội dung nghiên cứu:
3. Về chương trình ứng dụng:
4. Về thái độ làm việc của sinh viên:
Đánh giá chung:
Điểm từng sinh viên:
NGUYỄN THỊ TÂM: ………../10
BÙI THANH TÙNG: ………../10
Người nhận xét
(Ký và ghi rõ họ tên)




LỜI CẢM ƠN
Sau quá trình học tập và rèn luyện tại khoa Công nghệ phần mềm trường Đại học
Công nghệ Thông tin – ĐHQG TP.HCM chúng em đã được trang bị các kiến thức
cơ bản, các kỹ năng thực tế để có thể hồn thành Khóa luận tốt nghiệp của mình.
Để hồn thành khóa luận này, chúng em xin gửi lời cảm ơn chân thành đến:
Ban Giám hiệu trường Đại học Cơng nghệ Thơng tin – ĐHQG TP.HCM vì đã tạo
điều kiện về cơ sở vật chất với hệ thống thư viện hiện đại, đa dạng các loại sách, tài
liệu thuận lợi cho việc tìm kiếm, nghiên cứu thơng tin.
Chúng em xin gửi lời cảm ơn chân thành đến thầy Trần Anh Dũng đã tận tình giúp
đỡ, định hướng cách tư duy và cách làm việc khoa học. Đó là những góp ý hết sức
q báu khơng chỉ trong q trình thực hiện luận văn này mà cịn là hành trang tiếp
bước cho chúng em trong quá trình học tập và lập nghiệp sau này.
Và cuối cùng, chúng em xin gửi lời cảm ơn đến gia đình, tất cả thầy cô trong khoa,
bạn bè, tập thể lớp KTPM2015 và KTPM2016 là những người luôn sẵn sàng sẻ chia
và giúp đỡ trong học tập và cuộc sống. Mong rằng, chúng ta sẽ mãi mãi gắn bó với
nhau.
Trong q trình làm khóa luận này chúng em không tránh khỏi được những sai sót,
chúng em kính mong nhận được sự chỉ dẫn và góp ý của q thầy cơ để khóa luận
được hồn thiện hơn.
Chúng em xin chân thành cảm ơn. Xin chúc những điều tốt đẹp nhất sẽ luôn đồng
hành cùng mọi người.

Thành phố Hồ Chí Minh, 06 tháng 08 năm 2020
Sinh viên
NGUYỄN THỊ TÂM
BÙI THANH TÙNG


ĐẠI HỌC QUỐC GIA TP. HỒ CHÍ MINH


CỘNG HỊA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC

Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN
TP. HCM, ngày….. tháng ….. năm ………

ĐỀ CƯƠNG CHI TIẾT
Tên đề tài: Xây dựng ứng dụng Thương mại điện tử hỗ trợ 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 02/03/2020 đến ngày 03/08/2020
Sinh viên thực hiện:
1. NGUYỄN THỊ TÂM – 16521065
2. BÙI THANH TÙNG – 15520982
Nội dung đề tài:(Mô tả chi tiết mục tiêu, phạm vi, đối tượng, phương pháp
thực hiện, kết quả mong đợi của đề tài)
Mục tiêu:
Ứng dụng mua bán hàng hàng MyStore chạy trên nền Android được thực hiện
dựa trên hai mục đích chính sau:
− Thứ nhất là nghiên cứu các cơng nghệ lập trình như: lập trình ứng dụng
với Android. Và các thuật toán gợi ý sản phẩm, cụ thể là Content-based
và Collaborative. Có thể áp dụng trong ứng dụng MyStore trong việc
gợi ý sản phẩm cũng như những dự án khác sau này.
− Thứ hai là phát triển ứng dụng có tính thực tiễn cao, có khả năng triển
khai ứng dụng vào thực tế, giúp những người có nhu cầu mua bán hàng
hóa có thể thao tác dễ dàng và tiện lợi.
Nhóm hi vọng dựa trên nền tảng lý thuyết đã được thầy cô truyền thụ lại, kết
hợp với sự tìm hiểu cơng nghệ của nhóm, luận văn tốt nghiệp của nhóm sẽ đạt



được mục đích mong đợi.
Phương pháp thực hiện: làm việc với nhóm 02 thành viên, phân chia cơng
việc phù hợp với năng lực và kinh nghiệm của từng người, thực hiện khố luận
theo lượng cơng việc và thời gian đã được lập kế hoạch chi tiết. Các vấn đề liên
quan đến khoá luận đều được trao đổi trực tiếp giữa các thành viên.
Kết quả mong đợi:
Sau khi xác định đề tài và nghiên cứu, tìm hiểu thực tế, nhóm đã xây dựng ý
tưởng thiết kế ứng dụng bán hàng cần đạt được những mục tiêu sau:
Đối với khách hàng và người quản trị:
Đối với khách hàng là người dùng chưa đăng nhập, có thể xem sản phẩm, tìm
kiếm sản phẩm, xem các bài viết và đăng ký tài khoản.
Đối với khách hàng là người dùng đã đăng nhập có thể thực hiện chức năng đặt
mua sản phẩm, xem sản phẩm, quản lý sản phẩm mình u thích, quản lý sản
phẩm trong giỏ hàng, quản lý địa chỉ nhận hàng, chọn phương thức thanh toán
(thanh toán khi nhận hàng, chuyển khoản), chat với shop, xem tình trạng đơn
hàng và bình luận đánh giá sản phẩm sau khi mua hàng thành công. Người
dùng đã đăng nhập cũng có thể là người bán hàng, đăng sản phẩm (admin là
người kiểm duyệt sản phẩm đăng), quản lý doanh thu từ việc bán hàng, chat với
người mua hàng. Ngoài ra, người dùng đã đăng nhập cịn có thể xem các bài
viết, quản lý danh sách các bài viết đã lưu (Thêm, xóa), đặt nhắc nhở thời gian
đọc lại bài viết nếu muốn, và liên hệ admin nếu cần hỗ trợ.
Admin là người quản trị thực hiện các chức năng quản lý sản phẩm (duyệt sản
phẩm khách hàng muốn đăng, xóa sản phẩm), quản lý đơn hàng (cập nhật tình
trạng đơn hàng), quản lý danh mục sản phẩm, quản lý khuyến mãi Flash Sale,
quản lý mục quảng cáo, quản lý tài khoản người dùng và quản lý các bài viết.
Hệ thống lưu các sản phẩm người dùng đã xem và gợi ý mua hàng cho người
dùng.



Xây dựng thành công hệ thống gợi ý sản phẩm cho hiệu năng cao.
Hệ thống có khả năng xây dựng và phát triển nhanh chóng.
Hệ thống gợi ý sản phẩm:
Hiểu bài tốn khuyến nghị
Hiểu 2 phương pháp khuyến nghị chính: Content-based và Collaborative.
Có kết quả đánh giá, so sánh.
Hệ thống gợi ý sản phẩm có thể gợi ý sản phẩm hiệu quả cho:
− Người dùng mới (chưa có dữ liệu rating)
− Người dùng cũ (dựa trên collaborative filtering)
Các tiêu chí khác:
Tính thẩm mỹ:
− Ứng dụng có giao diện đẹp, dễ sử dụng tâm lý thoải mái cuốn hút khách
hàng khi sử dụng.
Tính logic và bảo mật:
− Tạo được sự liên kết logic giữa các màn hình để khách hàng có thể
chuyển màn hình một cách nhanh nhất và thuật tiện nhất.
− Đảm bảo tính bảo mật về các thơng tin nhạy cảm của khách hàng tạo
cảm giác an toàn cho khách hàng.
Đối với nhà quản trị có thể cập nhật, thêm xóa sửa đổi thơng tin liên quan đến
mặt hàng và các vấn đề khác. Nhận và trả lời ý kiến về phía khách hàng.
Ngồi ra, cịn áp dụng tiêu chí đánh giá theo chuẩn ISO 9126.
Kế hoạch thực hiện: (Mô tả kế hoạch làm việc và phân chia công việc các
thành viên tham gia)
Với thời gian thực hiện từ 02/03/2020 tới 03/08/2020, nhóm chia thành 8 sprint
với 2 giai đoạn cụ thể:
Giai đoạn 1: Hoàn thiện ứng dụng MyStore với các chức năng dành cho người


dùng (đăng ký, đăng nhập, tìm kiếm sản phẩm, sắp xếp sản phẩm theo hạng

mục, khuyến mãi, xem thông tin sản phẩm, đánh giá, chat với chủ shop, đặt
hàng mua sản phẩm) và các chức năng dành cho người quản trị (quản lý sản
phẩm, đơn hàng, khuyến mãi, thống kê).
Sprint 1: tìm hiểu về platform PHP, front end framework Android Studio, tìm
hiểu nghiệp vụ, quy trình xử lý hàng hóa của các ứng dụng, website tương tự
hiện có.
Sprint 2: Thiết kế chức năng ứng dụng và cơ sở dữ liệu. Xây dựng kiến trúc
ứng dụng.
Sprint 3: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một số
chức năng đã được xác định ở sprint 2.
Sprint 4: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một số
chức năng còn lại sau sprint 3.
Sprint 5: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một số
chức năng còn lại sau sprint 4.
Sprint 6: Xây dựng các API, xây dựng giao diện ứng dụng để thực hiện một số
chức năng cịn lại.
Sprint

NGUYỄN THỊ TÂM

BÙI THANH TÙNG

1

Tìm hiểu PHP, Android Studio, Tìm

(02/03/2020

Firebase, MySQL, nghiệp vụ, Studio, Firebase, MySQL,




quy trình xử lý hàng hóa.

22/03/2020)

Khảo sát các ứng dụng hiện hàng hóa.

hiểu

PHP, Android

nghiệp vụ, quy trình xử lý

nay: Tiki, Shopee, Lazada, Khảo sát các ứng dụng hiện
Sendo.

nay: Tiki, Shopee, Lazada,
Sendo.


2

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

So sánh ưu/nhược điểm, tính

(23/03/2020



Xây dựng kiến trúc ứng dụng tiện dụng của các ứng dụng
đã có trên thị trường.
theo mơ hình MVP.

12/04/2020)

Xây dựng giao diện chính gồm

Thu thập dữ liệu, insert dữ

5 tab sau:Tab trang chủ, Tab

liệu vào database.

danh mục, Tab bài viết, Tab tìm
kiếm, Tab tài khoản

3

Xây dựng giao diện tab trang Xây dựng giao diện tab danh

(13/04/2020

chủ và các chức năng: Tìm mục: Hiển thị các loại danh



kiếm tất cả sản phẩm, Hiển thị mục.

03/05/2020)


quảng cáo, Hiển thị sản phẩm Xây dựng giao diện hiển thị
flashsale theo khung giờ, Sản sản phẩm theo danh mục:
phẩm flashsale đang bán, Sản Hiển thị sản phẩm theo danh
phẩm flashsale sắp bán, Hiển mục; Chức năng sắp xếp,
thị các sản phẩm được tìm lọc, kiểu hiển thị cho sản
kiếm hàng đầu, Hiển thị sản phẩm (list hoặc grid), Chức
phẩm u thích.

năng tìm kiếm theo danh
mục, Chức năng loadmore
sản phẩm

4

Xây dựng giao diện Tab bài Xây dựng giao diện, chức

(04/05/2020

viết: Hiển thị loại bài viết



Xây dựng giao diện bài viết: thông báo.

24/05/2020)

Hiển thị bài viết, Chức năng Xây dựng giao diện tab tìm

năng: tìm kiếm sản phẩm,


lưu bài viết, Chức năng nhắc kiếm, Chức năng tìm kiếm
nhở bài viết

tất cả sản phẩm

5

Xây dựng giao diện chi tiết sản Xây dựng giao diện nhập

(25/05/2020

phẩm: Hiển thị chi tiết sản thông tin khách hàng: Chức




phẩm, Chức năng đánh giá sản năng lưu thông tin khách

14/06/2020)

phẩm, Hiển thị đánh giá sản hàng; Xây dựng giao diện
phẩm, Chức năng u thích sản thanh tốn: Hiển thị sản
phẩm, Hiển thị sản phẩm cùng phẩm thanh toán, Chức năng
shop, Hiển thị sản phẩm liên chọn phương thức thanh
quan; Chức năng chat với tốn, hình thức giao hàng,
shop: Xây dựng giao diện chat, Chức năng ghi chú cho shop,
Xử lý chat, Xử lý hiển thị Chức năng chọn địa chỉ nhận
online hay offline ,Xây dựng hàng
giao diện chatlist: Hiển thị Xây dựng giao diện thanh

danh sách người từng chat, tốn thành cơng: Chức năng
Chức năng thêm giỏ hàng, xem chi tiết đơn hàng, Chức
Chức năng mua ngay
Xây dựng giao diện Shop bán
hàng: Hiển thị sản phẩm của
shop, Chức năng loadmore sản
phẩm, Chức năng tìm kiếm sản
phẩm theo shop, Chức năng
sắp xếp/lọc/kiểu hiển thị sản
phẩm
Xây dựng giao diện giỏ hàng:
Hiển thị sản phẩm được thêm
vào giỏ hàng, Chức năng chọn
sản phẩm trong giỏ hàng, Chức
năng xóa sản phẩm khỏi giỏ
hàng, Chức năng tăng/giảm số
lượng sản phẩm, Chức năng
chỉnh sửa phân loại sản phẩm,
Chức năng thanh toán

năng hủy đơn hàng


6

Xây dựng giao diện tab tài Xây dựng giao diện quản lý

(15/06/2020

khoản: Hiển thị thông tin tài Admin bao gồm: Quản lý




khoản, Chức năng thay đổi sản phẩm chờ xác nhận,

05/07/2020)

thông tin tài khoản, Chức năng Quản lý đơn hàng, Đơn hàng
xem đơn mua, Hiển thị sản chuyển khoản, Quản lý danh
phẩm đã xem, Hiển thị đánh mục, Quản lý người dùng.
giá của bạn, Hiển thị sản phẩm Xây dựng giao diện quản lý
đã thích, Chức năng đăng xuất sản phẩm chờ xác nhận:
với firebase, Chức năng quản Chức năng xác nhận sản
lý shop.

phẩm, Chức năng xóa sản

Xây dựng giao diện quản lý phẩm.
shop: Hiển thị sản phẩm của Xây dựng giao diện quản lý
shop, Chức năng thêm/xóa/sửa đơn hàng: Hiển thị tất cả đơn
sản phẩm, Chức năng thống kê hàng, Chức năng cập nhập
doanh thu, Hiển thị đánh giá trạng thái đơn hàng.
của người dùng cho shop.

Xây dựng giao diện quản lý

Xây dựng giao diện quản lý chuyển khoản: Hiển thị
đơn hàng của shop: Hiển thị thông tin chuyển khoản,
đơn hàng theo các trạng thái: Chức năng xác nhận chuyển
Tất cả, chờ xác nhận, đang khoản

giao, đã giao, đã hủy, trả hàng;
Xây dựng giao diện quản lý
Chức năng hủy đơn hàng
danh mục: Hiển thị tất cả
danh

mục,

Chức

năng

thêm/xóa/sửa danh mục, Xây
dựng giao diện quản lý
người dùng, Hiển thị người
dùng theo 3 trạng thái: Tài
khoản Admin, Tài khoản
đang hoạt động, Tài khoản bị


khóa; Chức năng phân quyền
người

dùng:

admin

khách hàng; Chức

hay

năng

khóa/mở khóa tài khoản
người dùng

Giai đoạn 2: Hoàn thành việc áp dụng hệ thống gợi ý sản phẩm vào ứng dụng
MyStore. Giúp ứng dụng có thể gợi ý hiệu quả sản phẩm cho người dùng (đối
với người dùng mới và người dùng trung thành).
Sprint 7: tìm hiểu về hệ thống gợi ý sản phẩm. Thực hiện chạy thử nghiệm và
đánh giá các phương pháp gợi ý sản phẩm.
Sprint 8: áp dụng hệ thống gợi ý sản phẩm vào ứng dung MyStore, đánh giá
hiệu năng.
Sprint
7
(06/07/2020 –
25/07/2020)

NGUYỄN THỊ TÂM
Nghiên

cứu

BÙI THANH TÙNG

phương Nghiên cứu phương pháp gợi ý

pháp gợi ý sản phẩm sản
content-based,

phẩm


content-based,

collaborative.

collaborative.
Xây dựng code thử nghiệm và
đánh giá phương pháp

8
(26/07/2020 –
03/08/2020)

Tham gia hỗ trợ xây Áp dụng gợi ý sản phẩm cho
dựng hệ thống gợi ý sản người
phẩm cho ứng dụng.

dùng

mới



collaborative filtering cho người
dùng cũ.

Xác nhận của CBHD

TP. HCM, ngày … tháng … năm …..


(Ký tên và ghi rõ họ tên)

Sinh viên


(Ký tên và ghi rõ họ tên)

Trần Anh Dũng
Nguyễn Thị Tâm

Bùi Thanh Tùng


MỤC LỤC

TÓM TẮT KHÓA LUẬN
Chương 1.

26

GIỚI THIỆU CHUNG

1

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

1

1.2. Tính năng mới/ khác biệt về chức năng của đề tài so với một số ứng dụng
thương mại điện tử hiện nay.


3

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

5

1.4. Phạm vi nghiên cứu

6

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

6

Chương 2.

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

2.1. Tổng quan về mơ hình MVP

8
8

2.1.1.

Khái niệm

8


2.1.2.

Cấu trúc mơ hình MVP

8

2.1.2.1. Tầng trình diễn – Presenter

8

2.1.2.2. Tầng logic dữ liệu – Model

8

2.1.2.3. Tầng giao diện – View

8

2.1.3.

Tại sao dùng mơ hình MVP

2.1.4.

So sánh MVP và MVC

2.2. Tổng quan về PHP

9
10

11

2.2.1.

Khái niệm

11

2.2.2.

Tạo sao chọn PHP để phát triển server

11

2.3. Hệ quản trị cơ sở dữ liệu MySQL

13

2.4. Google Firebase Cloud

14

2.4.1.

Khái niệm Firebase

14


2.4.2.


Chức năng chính của Google Firebase

14

2.4.2.1. Realtime Database – Cơ sở dữ liệu thời gian thực

14

2.4.2.2. Firebase Authentication – Hệ thống xác thực của Firebase

15

2.4.2.3. Firebase storage

15

2.4.2.4. Firebase Cloud Messaging

15

2.4.3.

Lợi ích của Google Firebase

15

2.4.3.1. Triển khai ứng dụng cực nhanh

15


2.4.3.2. Bảo mật

15

2.4.3.3. Tính linh hoạt và khả năng mở rộng

16

2.5. Tổng quan về Android

16

2.5.1.

Giới thiệu nền tảng Android

16

2.5.2.

Cấu trúc của hệ điều hành Android

16

2.5.3.

Giới thiệu hệ điều hành mở Android

17


2.6. Giới thiệu về chuỗi JSON

17

2.6.1.

Khái niệm chuỗi JSON

17

2.6.2.

Cấu trúc chuỗi JSON

18

2.6.3.

Các trường hợp nên dùng JSON

19

2.7. Hệ thống khuyến nghị

19

2.7.1.

Giới thiệu


19

2.7.2.

Các phương pháp trong hệ thống khuyến nghị

21

2.7.2.1. Hệ thống khuyến nghị theo nội dung (Content-based approach) 21
2.7.2.2. Hệ thống khuyến nghị lọc cộng tác (Collaborative filtering)

21

2.7.2.3. Hệ thống khuyến nghị lai (Hybrid recommender system)

24

2.8. Dropwizard

26


2.9. Apache Spark

27

2.9.1.

Giới thiệu


27

2.9.2.

Thành phần của Apache Spark

27

2.9.3.

Ưu điểm của Apache Spark

29

XÂY DỰNG HỆ THỐNG

30

Chương 3.

3.1. Xây dựng kiến trúc hệ thống

30

3.1.1.

Xác định yêu cầu hệ thống

30


3.1.2.

Phân tích yêu cầu hệ thống

32

3.1.2.1. Phần Android (khách hàng)

32

3.1.2.2. Phần Android (người bán hàng)

34

3.1.2.3. Phần Android (quản trị viên)

35

3.2. Phân tích thiết kế hệ thống
3.2.1.

Sơ đồ use case

37
37

3.2.1.1. Sơ đồ use case

37


3.2.1.2. Danh sách các actors

48

3.2.1.3. Danh sách các use cases

49

3.2.2.

Sơ đồ lớp

52

3.2.3.

Phân tích và thiết kế CSDL

54

3.2.3.1. Bảng Loại sản phẩm

56

3.2.3.2. Bảng Sản phẩm

57

3.2.3.3. Bảng Chi tiết sản phẩm


58

3.2.3.4. Bảng Đánh giá

59

3.2.3.5. Bảng Giỏ hàng

59

3.2.3.6. Bảng Hóa đơn tổng

60


3.2.3.7. Bảng Hóa đơn

61

3.2.3.8. Bảng Chi tiết hóa đơn

62

3.2.3.9. Bảng Chuyển khoản

62

3.2.3.10. Bảng Danh mục loại bài viết


63

3.2.3.11. Bảng Loại bài viết

64

3.2.3.12. Bảng Bài viết

64

3.2.3.13. Bảng Lưu bài viết

65

3.2.3.14. Bảng Loại nhân viên

65

3.2.3.15. Bảng Nhân viên

66

3.2.3.16. Bảng Địa chỉ nhân viên

67

3.2.3.17. Bảng Tìm kiếm

67


3.2.3.18. Bảng Tìm kiếm phổ biến

68

3.2.3.19. Bảng Quảng cáo

68

3.2.3.20. Bảng Sản phẩm Flash Sale

68

3.2.3.21. Bảng Sản phẩm đã xem

69

3.2.3.22. Bảng Sản phẩm yêu thích

70

3.2.3.23. Bảng Chatlist

70

3.2.3.24. Bảng Chat

71

3.3. Thiết kế giao diện
3.3.1.


Giao diện ứng dụng.

71
71

3.3.1.1. Người dùng chưa đăng nhập

71

3.3.1.2. Người dùng đã đăng nhập

82

3.3.1.3. Quản trị viên

99

Chương 4.

ÁP DỤNG GỢI Ý SẢN PHẨM

109


4.1. Thực nghiệm
4.1.1.

Một số định nghĩa


109
109

4.1.1.1. Utility matrix

109

4.1.1.2. Root Mean Squared Error (RMSE)

112

4.1.2.

Phương pháp

112

4.1.2.1. Content-based Recommender System

113

4.1.2.2. Neighborhood-based Collaborative Filtering

115

4.1.2.3. Matrix Factorization Collaborative Filtering

120

4.2. Đánh giá


121

4.2.1.

So sánh kết quả

121

4.2.2.

Content-based Recommender System

122

4.2.3.

Neighborhood-based Collaborative Filtering và Matrix Factorization

Collaborative Filtering
4.3. Áp dụng Matrix Factorization Collaborative Filtering
Chương 5.

KẾT LUẬN, HƯỚNG PHÁT TRIỂN

122
123
127

5.1. Ưu điểm


127

5.2. Nhược điểm

127

5.3. Hướng phát triển

127


DANH MỤC HÌNH VẼ
Hình 2-1: Mơ hình MVP

8

Hình 2-2: So sánh MVP và MVC

10

Hình 2-3: Sự phát triển và độ phổ biến của MySQL

13

Hình 2-4: Google Firebase Cloud

14

Hình 2-5: Cấu trúc hệ điều hành Android


17

Hình 2-6: Ví dụ chuỗi JSON

18

Hình 2-7: Thành phần Apache Spark

27

Hình 3-1: Quy trình xử lý hàng hóa của MyStore

30

Hình 3-2: Biểu đồ use case mức tổng quát

37

Hình 3-4: Biểu đồ use case Đăng nhập

38

Hình 3-6: Biểu đồ use case Quản lý danh mục sản phẩm

39

Hình 3-7: Biểu đồ use case Quản lý sản phẩm

40


Hình 3-8: Biểu đồ use case Quản lý đơn hàng

40

Hình 3-9: Biểu đồ use case Quản lý quảng cáo

41

Hình 3-10: Biểu đồ use case Quản lý bài viết

41

Hình 3-11: Biểu đồ use case Xem bài viết

42

Hình 3-12: Biểu đồ use case Lưu vài viết

42

Hình 3-13: Biểu đồ use case Đặt nhắc nhở xem bài viết

43

Hình 3-14: Biểu đồ use case Quản lý địa chỉ giao hàng

43

Hình 3-15: Biểu đồ use case Quản lý giỏ hàng


44

Hình 3-16: Biểu đồ use case Xem tình trạng đơn hàng

44

Hình 3-17: Biểu đồ use case Tìm kiếm sản phẩm

45

Hình 3-18: Biểu đổ use case Xem sản phẩm

45

Hình 3-19: Biểu đồ use case Quản lý sản phẩm yêu thích

46

Hình 3-20: Biểu đồ use case Đánh giá sản phẩm

46

Hình 3-21: Biểu đồ use case Đặt hàng sản phẩm

47

Hình 3-22: Biểu đồ use case Chat

47


Hình 3-23: Biểu đồ Thống kê doanh thu

48


Hình 3-24: Biểu đồ use case Liên hệ Admin

48

Hình 3-25: Biểu đồ lớp

52

Hình 3-26: Giao diện trang chủ

72

Hình 3-27: Giao diện flash sale

73

Hình 3-28: Giao diện tìm kiếm hàng đầu

74

Hình 3-29: Giao diện Bộ sưu tập u thích

75


Hình 3-30: Giao diện Sản phẩm gợi ý

76

Hình 3-31: Giao diện Tìm kiếm sản phẩm

77

Hình 3-32: Giao diện Thơng tin sản phẩm

78

Hình 3-33: Giao diện Đăng ký tài khoản

79

Hình 3-34: Giao diện bài viết

80

Hình 3-35: Giao diện thơng báo nhắc xem bài viết

81

Hình 3-36: Giao diện tìm kiếm hàng đầu

82

Hình 3-37: Giao diện Giỏ hàng


83

Hình 3-38: Giao diện Nhập thơng tin khách hàng

84

Hình 3-39: Giao diện Xác nhận thơng tin mua hàng

85

Hình 3-40: Giao diện Đặt hàng thành cơng

86

Hình 3-41: Giao diện đơn mua

87

Hình 3-42: Giao diện chi tiết đơn hàng

88

Hình 3-43: Giao diện chức năng trong chi tiết sản phẩm

89

Hình 3-44: Giao diện nhắn tin

90


Hình 3-45: Giao diện danh sách tin nhắn

91

Hình 3-46: Giao diện Tài khoản

92

Hình 3-47: Giao diện Shop của tơi

93

Hình 3-48: Giao diện Quản lý đơn hàng

94

Hình 3-49: Giao diện yêu cầu cấp quyền truy cập vào camera và bộ nhớ

95

Hình 3-50: Giao diện thêm sản phẩm mới

96

Hình 3-51: Giao diện Doanh thu

97

Hình 3-52: Giao diện Shop người bán


98


Hình 3-53: Giao diện Quản trị viên

99

Hình 3-54: Giao diện cập nhật trạng thái đơn hàng

100

Hình 3-55: Giao diện quản lý chuyển khoản

101

Hình 3-56: Giao diện chi tiết chuyển khoản

102

Hình 3-57: Giao diện quản lý sản phẩm chờ xác nhận

103

Hình 3-58: Giao diện quản lý danh mục

104

Hình 3-59: Giao diện thêm mới danh mục

105


Hình 3-60: Giao diện sửa/xóa danh mục

106

Hình 3-61: Giao diện quản lý người dùng

107

Hình 3-62: Giao diện chi tiết người dùng

108

Hình 4-1: Utility matrix

109

Hình 4-2: Consine similarity

111

Hình 4-3: Cơng thức tích similarity giữa A và B

111

Hình 4-4: Sự tương đồng của 2 vector

112

Hình 4-5: Cơng thức tính RMSE


112

Hình 4-6: Kết quả load dữ liệu Content-based

114

Hình 4-7: Ví dụ feature vector của các item

114

Hình 4-8: Kết quả dự đốn content-based

114

Hình 4-9: RMSE của content-based

114

Hình 4-10: Bảng số sao user U rate cho item I

115

Hình 4-11: Các bước thực hiện Neighborhood-based CF

116

Hình 4-12: Cơng thức tính hệ sống tương quan Pearson giữa x và y

119


Hình 4-13: Ý tưởng của Matrix Factorization CF

121

Hình 4-14: Một phần Utility matrix

123

Hình 4-15: Một phần kết quả sau khi chuẩn hóa ma trận utility

123

Hình 4-16: Một phần ma trận similarity

123

Hình 4-17: Kết quả gợi ý raw

125

Hình 4-18: Hiển thị kết quả gợi ý trong ứng dụng

125

Hình 4-19: Lịch sử xem sản phẩm của người dùng

126



×