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

Khóa luận tốt nghiệp: Ứng dụng bán hàng tích hợp gợi ý đến người dùng

86 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây dựng và phát triển ứng dụng bán hàng tích hợp gợi ý sản phẩm đến người dùng
Tác giả Lê Thành An
Người hướng dẫn Ths. Thái Huy Tân
Trường học Đại học Quốc gia TP. Hồ Chí Minh
Chuyên ngành Truyền thông và Mạng máy tính
Thể loại Khóa luận tốt nghiệp
Năm xuất bản 2020
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 86
Dung lượng 40,14 MB

Nội dung

Ung dụng chủ yếu hướng đến giải quyết bài toán gợi ý sản phẩm dựa trên hành vi mua sắm cũng như tìm kiếm của những người dùng với nhau để tìm ra những điểm tương đồng trong việc mua sắm

Trang 1

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA MẠNG MÁY TÍNH VÀ TRUYÈN THÔNG

LÊ THÀNH AN

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

XÂY DỰNG VÀ PHÁT TRIEN UNG DUNG BAN HANG TÍCH HỢP GỢI Ý

SAN PHAM DEN NGƯỜI DUNG

E-Commerce Recommendation Application

KY SU NGANH TRUYEN THONG VA MẠNG MAY TÍNH

TP HO CHi MINH, 12/2020

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH TRUONG ĐẠI HỌC CONG NGHỆ THONG TIN KHOA MANG MAY TINH VA TRUYEN THONG

LE THANH AN - 16520008

KHOA LUAN TOT NGHIEP

XÂY DỰNG VA PHAT TRIEN UNG DUNG BAN HÀNG TÍCH HỢP GOI Y

SAN PHAM DEN NGƯỜI DUNG E-Commerce Recommendation Application

KY SƯ NGANH TRUYEN THONG VÀ MẠNG MAY TÍNH

TP HO CHi MINH, 12/2020

Trang 3

DANH SÁCH HỘI DONG BAO 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ố

của Hiệu trưởng Trường Đại học Công nghệ Thông tin.

Trang 4

ĐẠ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

NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP

CỦA CÁN BỘ HƯỚNG DÂN

Tên khoá luận:

XÂY DUNG VA PHAT TRIEN UNG DUNG BAN HÀNG TÍCH HỢP GOI Ý

SAN PHAM DEN NGUOI DUNG

SV thực hiện: Cán bộ hướng dẫn:

Lê Thành An 16520008 Ths.Thái Huy Tân

Đánh giá khoá luận

1 Về cudn báo cáo:

Số trang - Số chương

So bảng sô liệu So 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:

Đánh giá chung:

Điểm sinh viên: Người nhận xét

Lê Thành An Levees eee /10 (Ký tên và ghi rõ họ tên)

Trang 5

ĐẠI HỌC QUÓC GIA TP HÒ CHÍ MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

XÂY DUNG VA PHAT TRIEN UNG DỤNG BAN HANG TÍCH HỢP GOI Ý

SAN PHAM DEN NGƯỜI DUNG

SV thực hiện: Cán bộ phản biện:

Lê Thành An 16520008

Đánh giá khoá luận

1 Vé cuôn báo cáo:

Số trang Số chương

So bảng sô liệu So hình vẽ

S6 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:

Đánh giá chung:

Điểm sinh viên: Người nhận xét

Lê Thành An Levees eee /10 (Ký tên và ghi rõ họ tên)

Trang 6

LOI CAM ONĐầu tiên, với tat cả lòng biết ơn và su kính trọng, em xin trân trọng cảm on quý thay,

cô khoa Mạng máy tính và Truyền thông, cũng như các thầy, cô đang công tác tạitrường Đại học Công nghệ Thông tin - ĐHQG-HCM đã dùng tat cả tri thức và tâmhuyết dé truyền đạt những kiến thức, kinh nghiệm quý báu cho em trong suốt quá trình

học tập và rèn luyện tại ngôi trường này.

Đặc biệt, em xin gửi lời tri ân chân thành và sâu sắc đến Ths Thái Huy Tân — ngườithầy hướng dẫn đã hết sức tận tâm, nhiệt tình hỗ trợ và hết lòng giúp đỡ cho em trongsuốt quá trình thực hiện khóa luận tốt nghiệp Những định hướng, bổ sung, góp ý củathầy là nguồn cảm hứng và nền tảng cơ sở góp phần giúp em có những nghiên cứuđúng đắn, đạt được kết quả tốt nhất trong việc xây dựng, phát triển ứng dụng và hoànthiện khóa luận tốt nghiệp

Tiếp theo, em xin được phép gửi lời cảm ơn đặc biệt đến gia đình và người thân Giađình luôn là chỗ dựa tinh thần vững chắc, là nguồn động lực lớn giúp em vượt qua mọikhó khăn, phan dau hoàn thành tốt khóa luận nay

Cuối cùng, em xin gửi lời cảm ơn đến các anh, chị và các bạn sinh viên trường Đại họcCông nghệ Thông tin đã nhiệt tình hỗ trợ, chia sẻ ý kiến, góp ý giúp em trong suốt thời

gian thực hiện khóa luận.

Một lần nữa, em xin chân thành cảm ơn và xin gửi lời chúc sức khỏe đến quý thầy, cô.Kính chúc khoa Mạng máy tính và Truyền thông ngày càng phát triển và thành công

trong sự nghiệp “chẻo đò” cao quý.

TP Hồ Chí Minh, tháng 12 năm 2020

Tác giả

Trang 7

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH CONG HOA XÃ HỘI CHỦ NGHĨA VIET NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh Phúc

CÔNG NGHỆ THÔNG TIN

ĐÈ CƯƠNG ĐÈ TÀI LUẬN VĂN KỸ SƯ

1 Tên đề tài hoặc hướng NC:

Tên tiếng Việt: Ứng dụng bán hàng tích hợp gợi ý đến người dùng

Tên tiếng Anh: E-Commerce Recommendation Application

2 Ngành và mã ngành đào tạo:

Ngành: Truyền thông và mạng máy tính

Mã ngành : 52480102

3 Họ tên học viên thực hiện dé tài, khóa-đợt học:

Họ tên sinh viên: Lê Thành An MSSV: 16520008

Người hướng dẫn: ThS Thái Huy Tân

Địa chỉ email: tanth@uit.edu.vn Điện thoại: 0383410784

4 Tổng quan tình hình NC

Trong những năm gần day, việc sử dụng các ứng dụng trên các thiết bị di động dan trở

nên phổ biến hơn và gần như trở thành một phan trong cuộc sống hằng ngày Các ứng

dụng di động có mặt trong nhiều lĩnh vực như giáo dục, tài chính — kinh doanh, báo

chí, giao thông, y tế, công nghiệp, nông nghiệp, du lich, dich vu, giải trí và thé thao.

Xây dựng ứng dụng trên thiết bị di động đã và đang tiếp tục là xu thế trong nền công

nghiệp phần mềm.

Hiện nay có khá nhiều Web/ Ứng dụng bán hàng thuộc các đơn vị kinh doanh tại Việt

Nam trên Internet qui mô từ nhỏ đến lớn, nhưng đa số những ứng dụng này khá tương

tự nhau và chưa có nhiều lắm sự tương tác với người sử dụng Khi một khách hàng

mua sắm online thì có hai xu hướng: thứ nhất là họ đã định hướng được sản phẩm mà

Trang 8

họ sẽ mua, thứ hai là họ chỉ tham quan mà chưa biết mình sẽ mua gì Van dé đặt ra là

làm sao người dùng có thể chọn mua được những sản phẩm phù hợp nhất với mình

trong vô vàn sản phẩm mà họ đang tìm Trường hợp này người dùng sẽ cần đến sự trợ giúp của hệ thống gợi ý sản phẩm đề giải quyết vấn đề này.

5 Tính khoa học va tính mới

Ý tưởng về ứng dụng mua sắm tích hợp gợi ý dựa trên các tiêu chí do người ding cung

cấp là một ý tưởng mới và trên thị trường vẫn chưa có nhiều ứng dụng đáp ứng được nhu cầu trên Nên có thể xem đây là một vấn đề mới, đáp ứng được nhu cầu, cũng như

xu hướng hiện tại của ngành lập trình ứng dụng di động và rất cần được nghiên cứu,

khai thác.

Ung dụng chủ yếu hướng đến giải quyết bài toán gợi ý sản phẩm dựa trên hành vi mua sắm cũng như tìm kiếm của những người dùng với nhau để tìm ra những điểm tương đồng trong việc mua sắm từ đó tạo nên một hệ thống gợi ý sản phẩm Đây là một

hướng giải quyết mới hơn so với các ứng dụng hiện nay trên thị trường.

Ứng dụng được kỳ vọng sẽ mang lại lợi ích thiết thực khi tạo ra trải nghiệm mua săm tốt hơn cho người dùng, phần nào làm tăng giá trị của doanh nghiệp, cũng như tăng tỉ

lệ mua hàng thành công hơn khi khách hàng khi đến với app.

6 Mục tiêu, đối tượng và phạm vi nghiên cứu

6.1 Mục tiêu

Xây dựng một ứng dụng di động hoạt động trên nền tảng Android mang tên “EC

Mobile” với những mục tiêu cụ thể như sau:

- Ung dụng giải quyết được van dé đặt ra ban đầu về nhu cầu mua sắm của người

dùng Gợi ý sản phẩm cho người dùng, tuỳ vào từng loại thông tin và ngữ cảnh thì sẽ có những sản phẩm phù hợp để gợi ý Đối với những tài khoản đã mua

hang thì sẽ gợi ý theo những sản pham đã mua và những loại sản phẩm tương

tự, và cũng gợi ý theo hành vi của người dùng dựa vào lượt yêu thích sản phẩm.

Trang 9

- Thu thập thông tin dir liệu các sản phẩm từ trang tiki.vn về làm dữ liệu chính

của ứng dụng.

- Ứng dụng cung cấp các chức năng cơ bản như đăng ký, đăng nhập, sửa chữa

profile, thêm giỏ hàng, thanh toán, bình luận sản phẩm.

- Ứng dụng có các tinh năng nâng cao như hiển thị các sản phẩm nội bật, các sản

phẩm gợi ý theo từng người dùng dựa trên thuật toán từ đó mang đến cho người

dùng những trãi nghiệm hữu ích.

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

Khóa luận này hướng đến việc nghiên cứu các đối tượng sau:

- Nghiên cứu và tìm hiểu về thư viện React Native trong việc xây dựng giao diện

cho ứng dụng.

- _ Nghiên cứu và tìm hiểu về Node.js và hệ quản trị cơ sở dữ liệu Neo4j trong việc

xây dựng server cho ứng dụng.

6.3 Phạm vi nghiên cứu

Đề tài được nghiên cứu trong phạm vi phòng thí nghiệm.

7 Nội dung, phương pháp

Giai đoạn 1: Khảo sát, phân tích và thiết kế hệ thống cho ứng dụng.

- Kết quả dự kiến: Xác định các chức năng, luồng xử lý dữ liệu của ứng dụng.

Định hướng quá trình xây dựng và phát triển ứng dụng.

- Phương pháp: Thu thập thông tin người dùng, xây dựng các mô hình phân ra

chức nang, usecase, luồng đữ liệu và mô hình thực thể kết hợp.

Giai đoạn 2: Nghiên cứu, tìm hiểu công nghệ, kỹ thuật, các thư viện cần sử trong để

xây dựng và phát triển ứng dụng Xây dựng Server cho ứng dụng.

- _ Kết quả dự kiến: Xây dựng Server cho ứng dung.

- Phương pháp: Ap dụng các công nghệ kỹ thuật Node.js, hệ quản trị cơ sở đữ

liệu Neo4j Thực hiện kết nối gửi, nhận đữ liệu thông qua tương tác API.

Giai đoạn 3: Xây dựng giao diện và phát triển chức năng cho ứng dụng.

Trang 10

- _ Kết quả dự kiến: Xây dựng hoàn chỉnh ứng dụng từ giao điện đến chức năng.

- Phuong pháp: Sử dụng các kỹ thuât, công nghệ, thư viện mà cộng đồng lập trình

React Native hỗ trợ để hoàn thành việc xây dựng ứng dụng Kiểm thử nhiều lần

dé hoàn thiện hệ thống.

Giai đoạn 4: Hoàn thiện báo cáo.

- Kết quả dự kiến: Hoàn chỉnh bảo cáo, trình bày báo cáo trước giảng viên và hội

đồng.

- Phương pháp: Tự đánh giá và so sánh kết quả đạt được với các mục tiêu dé ra

ban dau dé tiến tới kết luận, nhìn nhận ưu khuyết điểm và hoàn thiện báo cáo.

8 Kế hoạch bố trí thời gian NC

Thời gian Nội dung tập trung thực hiện

07/09/2020 — 21/09/2020 Tìm hiểu về Cơ sở dit liệu Neo4j

19/10/2020 — 26/10/2020 Chinh stra va hoan thién back-end.

26/10/2020 — 09/11/2020 Xây dung giao điện cho Mobile và đô di

liệu.

09/11/2020 - 16/11/2020 Xây dựng trang admin quản lí khách

hàng.

16/11/2020 — 29/11/2020 Tiến hành deploy server và xuất file app

30/11/2020 — 20/12/2020 Tổng duyệt hệ thống, kiểm tra độ chính

xác.

Trang 11

21/12/2020 — 27/12/2020 Hoan tat báo cáo khoá luận tốt nghiệp.

28/12/2020 — 10/01/2020 Phản biện khoá luận tốt nghiệp

11/01/2020 — 17/01/2020 Bảo vệ khoá luận tốt nghiệp

9.Tai liệu tham khảo

[1] [Trực tuyến] Available: https://nodejs.org/en/ [Đã truy cập tháng 10 2020]

[2] [Trực tuyến] Available: https://neo4j.com/ [Đã truy cập thang 10 2020]

[3] [Trực tuyến] Available:

https://www.dbooks.org/graph-algorithms-14920578 19/read/ [Đã truy cập thang 10 2020].

[4] [Truc tuyén] Available:

https://go.neo4j.com/rs/710-RRC-335/images/Graph_Databases_for_Beginners.pdf [Đã truy cập thang 10 2020].

[5] [Truc tuyến] Available: https://reactnative.dev/docs/getting-started [Đã truy cập

thang 10 2020].

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

NGƯỜI HƯỚNG DẪN SINH VIÊN

(Họ tên và chữ ký) (Họ tên và chữ ký)

Trang 12

1.1 Tên để tài -226xccc chu cong 191111 c1 HH1 1111111 1111111 111111.10111111 11.111 2

1.3 Muc n0 vi SN .e ö443 31.4 Đối tượng và phạm vi nghiên cứu -¿¿2+2++22EEE+++t2EEEE+z+tttEEk+errrrrrkecree 5

1.4.1 Đối tượng nghiên CỨU -2- ¿5£ S£+E£+E£+EE£EE+EEEEEEEEEEEEEEEEEEEEEEEErkrkrrrkrree 5

1.4.2 Pham h0) an 6

1.5 Nội dung và phương pháp nghiên CỨU - 252522 S2£+E+E+tEEE+E+t+eEexetxersrreererre 6

1.6 Cấu trúc khoá luận -. -¿- -s+22+2+EEE22EE22E1127E12E112E1127E122111211E2211 2112112 E1 Errrky 12

Trang 13

Chương 2 CƠ SỞ LÝ THUYÊTT - 2-2-2 S£9E2E££E£+EEEEE£EEEEEEEEEEEEEEEEEEEErrkrrerrree 13

2.1 Tổng quan công nghê sử dụng 2-©+2++2EE+++2EEEE+tEEEEEEEEEEtEEEkxrrrrrkrrere 13

2.1.1 GiGi thigu CHUNG 0.134 13

2.1.2 Lý do chọn công Nghé - 5 21199 gu ngư 13

"8Ð 0 hồ 13

2.2.1 GiGi thigu 13

2.2.2 Tai sao nên sử dụng Node.js eceeescesceceneceeeeeceseeeceaeeeacecseeceaeeeeeeseeeeaeeeaee 14

2.2.3 Ap dung Node.js vào dé tài xây dựng ứng dung EC Mobile - 15

2.3 Neo4| Œp đe @ / 16

2.3.3 Labels trong ÏNe0O4|J, - cà LH HS HH HH He 18

2.3.4 Relationships trong ÌNe0O4|J - - nh HH HH ng ng Hư 19

2.3.5 Properties trong NCO4] oc cecesceseesceseeecceseescceseceeeeseceeeseceeeseeseceaeeeeeaeeaeeees 19

2.3.6 Traversal trong NC04] ce eesssessessececcesecseesseeseceseseceseseseseseeeaeeeeeeeeeeeaes 20

2.3.8 Interaction 0n 20

2.3.9 Isolation Ï€V€ÌÏS 2010101101101 111 1111199535111 1kg 5 kg 21

Trang 14

2.3.10 Default locking behavior - - 5 + E111 1 vn rệt 21

2.3.11 Deadlocks - án TH TH TH HH re 21

2.3.12 Delete S€IanIICS - 5 HH TH TH HH gi nu ưự 22

2.3.13 Create Unique node - - (5 1319011211 11 911111 ng gi ng ng ng ry 23

2.3.14 Transaction ©V€TI( (+13 23191 1H TH TH TH TT TH HH Hàn 23

2.3.15 Nền tang d6 thị Neo4j ứng dụng - 2 2 2 s+E+£E+£EerEerkerrrrerree 242.3.16 Thuật toán tim đường và tìm kiếm trong đồ thị -¿s2sz5ss5s+2 242.3.17 Ngôn ngữ truy van Cypher trong Neo4j, - 2-2 + ++x+zxerxzxerxecree 25

2.3.18 TÍnh TỞ - s6 G1111 v9 TH TH TH Tu Hi HH nà rờ 26

2.3.19 Tại sao nên sử dụng NeO4] - c1 SH HH gniệt 26

2.3.20 Áp dụng Neo4j vào dé tài xây dựng ứng dụng EC Mobile 27

"con on 28

2.4.2 Tại sao nên sử dung React Native LH ng HH gi, 28

2.4.3 Áp dung React Native vào dé tài xây dựng ứng dụng EC Mobile 28Chương 3 PHAN TÍCH VÀ THIET KE HE THÓNG : ¿- 525: 29

3.1 Kiến trúc hệ thống -22-+2++++2EE+E+2EEE1222211122711127211E22711127111 2.011 Xe 20

3.2 Mô hình phân rã chức nang - +: 5+ ++2+t+t*+E+k+EESEEEEEEEEEEEEEEEEESEEEkrkrkrrrrke 30

Trang 15

E600 06 75a 33

3.3.1 Mô tả Use Case đăng ký khách hàng 5 5c + + Esserseesersree 34

3.3.2 Mô tả Use Case Đăng nhập của khách hàng -. -+ <++<<x+<s++ 34

3.3.3 Mô tả Use Case Mua hàng của khách hàng - - « +s «+ csesserseess 34

3.3.4 Mô tả Use Case xem danh sách sản phẩm của khách hàng 36

3.3.5 Mô tả Use Case đăng nhập của Admin 5 5< + *S+x£+skseseeeerrexes 38

3.3.6 Mô ta Use Case quản lý sản phâm Admin 2-2 5 5£s+£E£zEz2zz25+2 38

3.3.7 Mô ta Use Case quan lý danh mục Admn - -. 5< << <£++++sex+ses2 39

3.3.8 Mô tả Use Case quản lý hóa đơn - - + SE SE + +vkskkskkskrskeskrkkree 39

3.3.9 Mô tả Use Case quản lý khách hàng -¿- +2 +5+++2£+<£+sEzsreereererse 40

3.3.10 Mô tả Use Case thong kê doanh thu 2 2 2 2 +2£E£E£EezEzzzzzzs+2 403.4 Lược d6 lớp ¿¿¿2222222222222222122221112271112221112211122201122.022.222 cu 4I3.5 Lượt đồ Sequence - 2++++2E+++222211222711127111122711127111E2.711 11 2 CC 41

3.5.1 Lượt đồ Đăng nhập - 2© 2+1 2 SEEEEE1E71211071121171211111 21111 re 41

3.5.2 Lược đồ xem danh sách sản phẩm - 2 ¿+ z++++£++Extzzxerxezrxrres 423.5.3 Lược đồ bình luận sản phẩm - ¿2 2 £+£+S++EE+EE+EEeEEerEerkerrerrerree 433.5.4 Lược đồ thêm sản phẩm vào giỏ hàng và thanh toán - - 443.6 Thiết kế cơ sở dữ LGU eeceeccescseccssecssecsssecesecesucessesesecesuccssecsssessusersesssuesstecsuesesesesteensees 45

Trang 16

3.6.1 Mô hình thực thé kết hOp ceccscceccsssessessessessessessessussussesssessessessessessecsecsessecaes 45

3.6.2 Mô tả thuộc tính các node đại diện - - 5-5 5523 S* 3+ +2 £++zeeezeeeeess 45

3.7 Xác định mô hình gỢI - - c5 22t S*5E2E2E121211E11111112111111711111.1111 1e 48

Chương 4 HIỆN THUC UNG DUNG EC MOBILE - 2-22 5¿2z+£xzzzxerxz 49

4.1 Các giao diện chính của Ung Ụng - - - - +52 St St EvEeEerererererrrrkrkereeerke 49

4.2 Đặc tả giao diện của Ứng Ụng ¿+ +: se ++x+t SE H1 111 111k re 49

4.2.1 Giao diện đăng nhập 5 s11 HH ng HH ng rệc 49

4.2.2 Giao diện Trang ChỦ - <1 1E HH HH Hư, 51

4.2.3 Giao diện trang tìm kiếm sản phẩm + 2 2 2 +2 ++£E+£xezEezxz+zzzzez 524.2.4 Giao diện Danh mục sản phẩm -° š mm 53

4.2.5 Giao diện quản lí cá nhân khách hàng - s2 +s+5+++s£+x£+£+vesersxss 54

4.2.6 Giao diện xem chi tiết sản Pham ¿2© 2 £+£+££2+£E+EE+£EerEezrzrerree 55

4.3 Đặc ta giao diện Web Admin - c5 2: 31+ * 2221211211111 57

4.3.1 Giao diện đăng nhập - 5-6 2c 1191 TH HH ng ngư 57

4.3.2 Giao diện chiến dịch giảm giá 2-22 2£ ©S2+EE£EESEEtEEEEEErrrxerkrerkrree 574.3.3 Giao diện sản phẩm - + 2 kSt+EE+2EEE2E211211221211121 7171211 cxeC 584.3.4 Giao diện thêm sản phẩm lấy từ dit liệu của tiki.vn 2-22 59Chương 5 KET LUẬN VA HƯỚNG PHAT TRIÉN 2- 2 5 s+£s2+£zzz2ce2 60

Trang 17

5.1 Kết Ua cecccccccccccccseccsecsuccsucssecsuecsucssecsuecsucsuecsusssucsuessuessussueesuessucssecsuesscsusesuessessueesueesvees 60

“mô ằăằẰằẽẼ -alDGỢNCNŨ 605.1.2 Nhược điỂm ¿- -ScSt+ESt+EEE1SEEE1SEEEEEEEEEEEEEEEEEEEEEEEEEEEEEEESEEEESEEEkrrrrrree 615.2 Huong phat trim Ng: 3“: 61

Tai ligu tham Khao eee cece 63

Trang 18

DANH MỤC HÌNH VE

Hình 3.1 Công thức tính chỉ số PageRank - 2-2 5 x+E+£E+EE££E£E£EzEezrerrerrxee 7Hình 3.2 Mô tả độ ảnh hưởng của sản phẩm trên hệ thong 2 2 2 2 5+‡ 8Hình 3.3 Công thức tính chi số Jaccard c.ccccscsssessesssessssssesssessesssessesssessesssecsessseeseseseesees 9Hình 3.4 Mối quan hệ tương đồng của khách hàng - -«- -=++sx*+kEssvesseessee 9

Hình 3.5 Gợi ý từ hóa đơn của khách hang - s6 S5 + *+sEsekeerrsseeerrsee 10

Hình 3.6 Dữ lệu có được sau khi thu thập từ trang TIki.Vn -+-s++<<++sx+s+2 11

Hình 2.1 Tinh năng của NOd€.]S - c1 S191 kt 14

Hình 2.2 Ví dụ mô hình lưu dữ liệu Neo44J .- - - S5 ** +2 ++EEseerseesrerrsreree 16

Hình 2.3 Mô hình lưu trữ trong ÌNe€0O4|J - - c c1 2 1H HH ng giệt 18

Hình 2.4 Vi du node trong N@04j eeeeceesceesccesceceeeeeeeceesneceaeeesceseeeesaeeeaeeseaeesaeesaee 18

Hình 2.5 Vi du Labels trong ÌNeo04J - - - - E1 111111119 Hkt 19

Hình 2.6 Ví du Relationship trong NeO4J eseecceecceeseeesceeseeceseeeseecseeceaeeseeseeeeeaeeaee 19

Hình 2.7 Mô hình ứng dụng đồ thị NeO4) c.cccccecescesseesessessessesssessssesessessessessesseeseeaees 24

Hình 4.1 Giao diện đăng nhập - - - - + 1 11911911211 91 20901 ng nh ngàn gớc 50

Hình 4.2 Giao diện Trang chủ - <5 1 019119019111 HH 51

Hình 4.3 Giao diện Trang tìm kiẾm 2-2 2© +E£2E2EE£EE2EEEEEEEEEEEEEEEEEerkrrkrrrree 52Hình 4.4 Giao diện Danh mục sản phẩm ¬— 53

Trang 19

Hình 4.5 Giao diện quản lí cá nhân khách hàng - + +22 + + + ***EE++EE+eEEseereskrrerreees 54

Hình 4.6 Giao diện chỉ tiết sản pham c cccccsccsssessssessseesseesssesssecsssesssesssecssecsssecssecssecsseessseesseee 55

Hình 4.7 Giao diện đăng nhập web admin 5 2+ 2 32x E* SH TH HH rêp 57

Hình 4.8 Giao diện chiến dịch giảm giá -2- 22 ©++2+++EEEtEEESEE+eEEErEExrerkrerrrrrrrree 58

Hình 4.9 Giao điện sản phamn ccccccccsssssssessseessessseesssessssssecsseessssesueesseessssssecsseesseeeseesseesseee 58

Hình 4.10 Giao điện thêm sản phẩm từ tiki.Vn 2-2¿52222+2E+2EE+eEEEvtrxrerxrerrrrrrrrrr 59

Trang 20

DANH MỤC SƠ ĐỎ

Sơ đồ 3.1 Sơ đồ kiến trúc hệ thống -2- 2-25 +E£+E£2E2EE£EEEEEEEEEEEEEEEEEEEErkerrerree 29

Sơ đồ 3.2 Sơ đồ phân rã chức năng của khách hàng -. - 2-2 + +£+£s£zx£+£z+se2 31

Sơ đồ 3.3 Sơ đồ phân rã chức năng của Adimin 2 ¿©s+x++z++zx++zxvzxezrxeee 32

Sơ đồ 3.4 Sơ đỒ US€CaSG G5 St E1 E211 1111111111111 1111111111111 1111111 cE 33

Sơ đồ 3.5 Sơ đỗ quan hỆ - 2-2292 EEEE2E1211271211271211111211111211 11.1111 xe 41

Sơ d6 3.6 Sơ đồ đăng nhập - ¿- + 2 251 SE£EEEEEEEE2E21121121121122121111171 2121 1 cre 41

Sơ đồ 3.7 Sơ đồ xem danh sách sản phâẩm - + 2+2 ++£E+EE+EE+EEeEE£EzEerrerree 42

Sơ đồ 3.8 Sơ đồ bình luận sản phẩm 2-2-5 £2E£+E£2EE2EE+EE£EESEESEEeEEeEEerkerrerree 43

Sơ đồ 3.9 Sơ đồ thêm giỏ hàng và thanh toán -2- ¿2 +£+££+x+£Ee£xz+zxvrxezrxeee 44

Sơ đồ 3.10 Lược d6 quan hỆ - 2-22 2 S£2S2‡EE2EE9EEE2EE2E1E71211171221171.211 21 xe 45

Trang 21

DANH MỤC BANG BIEU

Bang 1.1 Thống kê chức năng ứng dụng - 2-2 2 x+SE+£E+EEtEE£E£EzErrerrerrxee 3Bang 1.2 Bảng thuộc tính sản phẩm -2- 2: 5£ £2E2£E£+E£2EE£EE2EEEEEEEEeEErrkerrerreee 11

Bang 3.1 Mô tả Use Case đăng ký khách hang cee ceeeseeseceeeneceeeeeeeeceseeeeeeeeaeeees 34

Bang 3.2 Mô ta Use Case Đăng nhập của khách hang +5 «++sc+s<++exsss2 34

Bang 3.3 Mô tả Use Case mua hàng - - - 5 11T ng rệt 34

Bang 3.4 Mô ta Use Case xem danh sách sản phẩm 2-2 2£ + +£x+£xzxz+zz+t 36

Bảng 3.5 Mô tả Use Case đăng nhập Admin - - s25 + £+*£+eeeexeereeeseereses 38

Bang 3.6 Mô tả Use Case quản lý sản phẩm - 5 s1 E + kEsvEssesiesseesrsree 38

Bang 3.7 Mô ta Use Case quan lý danh mục «5 5+ +52 **+£+2E£eEesEeereererrsee 39

Bảng 3.8 Mô ta Use Case quản lý hóa đơn c5 3 + SEEsresrrereseserrree 39

Bang 3.9 Mô ta Use Case quản lý khách hàng - 5 56+ + *++2kE+skEssereeereses 40

Bang 3.10 Mô ta Use Case thống kê danh thu 2 2 22522 E£E+£Ee£Ee£EzEezreee 40

Bảng 3.11 “Thuộc tính PrOC[UCS - 5 2< E22 E311 1931133111 1119119 1119111 1 ng Hệt 45

Bảng 3.12 Thuộc tính Categories - - (5 131911911211 1 91101 ng ng nàn gớc 46

Bang 3.13 Thuộc tính CuSfOIm€TS - G5 5 1119301910111 191v ng 46

Bang 3.14 Thuodc tinh Admins 0 n ằ - 47

Bảng 3.15 Thuộc tính Orders G5 + 21115311931 1511 1E 11 9119 111kg kt 47

Trang 22

Bảng 3.16 Thuộc tính Comments

Bảng 3.17 Thuộc tính Campains.

Trang 23

DANH MỤC TU VIET TAT

STT | Từ viết tắt Nội dung

1 API Application Programming Interface

2 CSDL Co sở đữ liệu

3 WWW World Wide Web

4 HTTP Hypertext Transfer Protocol

Trang 24

TÓM TẮT KHOÁ LUẬN

Khóa luận với đề tài Xây dựng app bán hàng tích hợp gợi ý sản phâm đến người dùng

— EC Mobile được thực hiện trong bối cảnh sự phát triển mạnh mẽ và bùng nô củangành lập trình ứng dụng trên thiết bị di động

Công nghệ thông tin đang phát triển với tốc độ rất nhanh, và sẽ không xa lạ nếu chúng

ta thấy bây giờ có khá nhiều web bán hàng xuất hiện trên thị trường, và cũng không

quá bất ngờ nếu bạn đang lướt facebook và xem một chủ đề thì sau đó khi quay lại facebook hàng loạt các tin về chủ để bạn đã xem lúc trước hiện lên, điều đó thật tốt và

làm cho người dùng thật sự thích thú Vì những trải nghiệm đó nên em quyết định chọn

đề tài “Xây dựng app bán hàng tích hợp gợi ý sản phẩm đến người dùng” giúp chongười mua hang cảm thấy tiện lợi hơn, được gợi ý những sản phẩm đang quan tâmkhông cần phải tìm kiếm nhiều, cũng như tăng độ trải nghiệm cho người dùng

Ứng dụng EC Mobile được áp dụng các công nghệ, kỹ thuật và thư viện cần thiết như

Node.Js, Neo4j, React Native vào xây dựng và phát triển

Ứng dụng EC Mobile có giao diện trực quan, hiện đại và thân thiện với người dùng.Cùng với đó, EC Mobile sở hữu các chức năng như tìm kiếm sản pham, thêm giỏ hàng,thanh toán, bình luận và đặc biệt là chức năng hỗ trợ gợi ý sản phâm phù hợp

TP Hồ Chí Minh, ngày 15 tháng 12 năm 2020

Tác giả

Trang 25

Chương 1 TONG QUAN VE DE TÀI

1.1 Tén dé tai

XAY DUNG VA PHAT TRIEN UNG DUNG BAN HANG TICH HOP GOI Y SAN

PHAM DEN NGƯỜI DUNG — EC MOBILE

(E-Commerce Recommendation Application)

1.2 Dat van dé

Hiện nay có kha nhiều web bán hàng thuộc các đơn vi kinh doanh tại Việt Nam trên

internet, qui mô từ nhỏ đến lớn, nhưng đa số những web này khá tương tự nhau và

chưa có nhiều lắm sự tương tác với người sử dụng Khi một khách hàng vào một

website thương mại điện tử thì có hai xu hướng: thứ nhất là họ đã định hướng được sảnphẩm cụ thê mà họ đã mua, thứ hai là họ chỉ định hướng được loại sản phẩm ma họ sẽmua Đối với trường hợp thứ nhất thì đơn giản là họ đã định hướng được sẽ mua sản

phẩm nào rồi, van dé chỉ là chọn mua ở đâu mà thôi Đối với trường hợp thứ hai thì

người dùng sẽ gặp khó khăn hơn nhiều, họ sẽ phải chọn sản phẩm phù hợp nhất với

nhu cau của họ Vấn dé đặt ra là làm sao họ có thé làm được điều đó trong vô vản sản

phẩm cùng chủng loại mà họ đang tìm Trong trường hợp này người dùng sẽ cần đến

sự trợ giúp của hệ thống gợi ý san phâm dé giải quyết van đề về này

Rất lâu rồi facebook hay youtube, Ebay, Amazon, Netflix đã có chức năng gợi ý người

dùng, dựa vào chủ đề mà người dùng click và xem, cũng như thời gian người dùngxem, hay dựa vào thông tin của người dùng như địa chỉ, tuổi, giới tính mà có những

gợi ý phù hợp, giúp cho người ding có trải nghiệm tốt hơn, thích thú hơn khi sử dụng

Đa số các website bán hàng hiện tại chưa có hệ thống phân tích gợi ý người dùng hay chức năng gợi ý người dùng cũng như có các giải pháp về trải nghiệm người dùng như

lưu lại giỏ hàng hay lưu lại những sản phẩm đã xem nhưng cũng chưa thật sự đem lại

trải nghiệm tốt hơn cho người dùng

Do đó tại sao chúng ta không tích hợp hệ gợi ý người dùng cho một ứng dụng bán

hàng? Với nó, phần nào làm tăng giá trị của doanh nghiệp, cũng như tăng tỉ lệ thành

Trang 26

công hơn khi khách hàng khi đến với app, cũng tăng trải nghiệm cho người dùng tốt

hơn.

1.3 Mục tiêu của đề tài

Xây dựng ứng dụng di động mang tên EC Mobile với những mục tiêu cụ thể như sau:

- Ung dụng giải quyết được vấn đề đặt ra ban đầu về nhu cầu mua sắm của khách

hàng Từ đó hỗ trợ gợi ý sản phẩm phủ hợp nhất dựa trên sự tương tác trong quátrình mua sắm của khách hàng

- Ung dụng cung cấp day đủ các chức năng cơ bản như đăng kí, đăng nhập, xem

hàng, thêm giỏ hàng, thanh toán, bình luận sản phẩm

- Giao diện ứng dụng được thiết kế một cách trực quan, chuyên nghiệp, thân thiện

Tìm kiếm, thêm sản phẩm vào giỏ hàng và thanh toán

(Admin) Công cụ thu thập thông tin đữ liệu sản phẩm từ trang thương

„ mại điện tử tikI.vn, lưu vê cơ sở dữ liệu.

Trang 27

bình luận và mua sản pham)

- _ Nội dung bình luận

Chức năng bình luận bao gồm:

- Nội dung bình luận

- Mute độ hai lòng (tốt, không tốt) đối với sản phẩm

Gợi ý sản phẩm

đang nằm trong

chiên dịch giảm giá

Hệ thống tạo nhiều chiến dịch giảm giá, trong mỗi chiến dịchbao gồm các sản phẩm phù hợp theo nội dung chiến dịch vàđược giảm theo một mức giá nhất định

cao trong tuân

Hệ thống sử dụng thuật toán PageRank dé đánh giá tam quantrọng tương đối của 1 sản phâm nhất định trong toàn bộ hệthống Từ đó có được danh sách những sản phẩm tốt, đượcnhiều người quan tâm giúp khách hàng có trãi nghiệm tốt hơn

trong việc tìm kiêm sản phâm.

việc mua sam.

Thuật toán này so sánh tập hợp các nút (ở đây là những khách

Trang 28

các khách hàng với | hàng) có những điểm chung ví dụ cùng yêu thích một sản

nhau phẩm, từ đó thống kê được danh sách những Khách hang có

chung sở thích.

Khi đó hệ thống sẽ gợi ý những sản phẩm mà khách hàng này

đã mua cho các khách hàng khác có chung sở thích với mình.

(Nỗi bật) Khi tìm kiếm một sản phẩm, hệ thống sẽ gợi ý những sản phẩm

tương tự mà những người bạn cũng đã từng tương tác với

1.4 Đối tượng và phạm vi nghiên cứu

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

Khoá luận này hướng đến việc nghiên cứu các đối tượng sau:

- _ Nghiên cứu và tìm hiểu về nhu cầu thực tế của người dùng đối với ứng dụng

mua sắm gợi ý sản phẩm đến người dùng

- _ Nghiên cứu về các yêu cầu và kỹ thuật trong việc xây dựng ứng dụng trên thiết

bị di động.

- _ Nghiên cứu về các thuật toán ma Neo4j hỗ tro dé giải quyết các van đề về gợi ý

sản phâm đên người dùng.

- _ Nghiên cứu về công nghệ, cơ chế hoạt động và ứng dụng của NodeJS, hệ quan

trị cơ sở dữ liệu Neo4j trong việc xây dựng server và quản lý, lưu trữ co sở dữ liệu cho ứng dụng.

Trang 29

- _ Nghiên cứu ứng dụng các kĩ thuật, thư viện hỗ trợ thiết kế giao diện ứng dụng

phù hợp với xu hướng thiết kế hiện tại trên thị trường

1.4.2 Phạm vi nghiên cứu

Đề tài được nghiên cứu và xây dựng ứng dụng cho thiết bị đi động hoạt động ở hai hệđiều hành Android và IOS Đề tài được nghiên cứu, hoàn thiện thành một sản phẩm cụthê và được kiểm tra, thử nghiệm ở quy mô vừa phải

1.5 Nội dung và phương pháp nghiên cứu

Nôi dung 1 Khảo sát nhu cầu, cách thức hoạt động của ứng dụng

Mục đích: Nắm rõ nhu cầu mua sắm online của khách hàng, biết được khi nàokhách hàng quan tâm đến những mặt hàng nào

Phương pháp thực hiện: Phân tích, khảo sát thực tế về nhu cầu của người sửdụng đối với các ứng dụng khai thác về đề tài mua sắm online

Kết quả thực hiện: Khảo sát được số liệu thống kê về nhu cầu mua sắm online,mức độ cần thiết của ứng dụng Lên kế hoạch xây dựng và phát triển ứng dụng

Nôi dung 2 Phân tích, thiết kế hệ thống và các thuật toán áp dụng để có được kết quảgợi ý sản phẩm đến người dùng

Mục đích Ap dụng các thuật toán vào xử li dit liệu dé cho ra được kết qua gỢI ý

chính xác và tốt nhất đến khách hàng

Phương pháp thực hiện Tham khảo những tài liệu về phân tích chức năng ứngdụng, tiến hành nghiên cứu các thuật toán và áp dụng vào giải quyết vấn đề

Kết quả thực hiện:

(1) Thuật toán Page Rank [3]:

Dé giải quyết bài toán gợi ý những sản pham có độ ảnh hưởng cao trong hệ thống chokhách hàng ta dùng thuật toán PageRank PageRank là thuật toán phân tích các liên kết

được dùng trong Google Search để xếp hạng các trang web Thuật toán này chỉ định

giá trị nhất định cho mỗi thành phần của một tập hợp các văn bản liên kết với nhau, ví

dụ như WWW Mục đích "đo" tầm quan trọng tương đối của các liên kết trong tập hợp

Trang 30

đó Áp dụng vào bài toán dùng để đánh giá tầm quan trọng tương đối của 1 sản phẩmnhất định trong toàn bộ hệ thống Giả sử sản phâm A được các khách hàng T1 Tn quantâm (dựa vào lượt xem , mua, bình luận) Ta có công thức tính chi sỐ PageRank của sảnphẩm A như sau:

Hình 1.1 Công thức tính chỉ số PageRank

Trong đó:

T: Số lượng và chất lượng quan tâm của khách hàng đối với sản phẩm

C: Số lượng Outlink trên mỗi sản phâm.

PR: Chỉ số PageRank trên từng sản phẩm

Tham số d: Hệ số điều chỉnh, đa phần thường lấy d là 0,85

PageRanks tạo một tỉ lệ % phân bố điểm số trên các sản phẩm, do đó PageRank củatổng tất cả các sản phâm sẽ là một

Giá trị PageRank càng cao đồng nghĩa sản phẩm đó càng được nhiều người ưa chuộng.

Từ đó ta có được danh sách các sản pham đang Hot

Trang 31

+ — OF ——h00000)

~~ SIMILARITY

Hình 1.2 Mô tả độ ảnh hưởng của sản phẩm trên hệ thong

Chú thích:

(1)- Node Product: Là những sản phẩm của hệ thông

(2)- Node User: Là những khách hàng của hệ thống

(3)- Node Order: Là những giỏ hàng đã được thanh toán của khách hàng.

(4)- Node Comment: Là những bình luận về một sản phâm của khách hàng

(2) Thuật toán NodeSimilarity [3]:

Sử dụng thuật toán tìm điểm tương đồng (Node Similarity) tính toán và tìm ra đượcnhững khách hàng có điểm chung trong việc mua sắm

Thuật toán này so sánh tập hợp các nút (ở đây là những khách hàng) có những điểmchung ví dụ cùng yêu thích một sản phẩm, từ đó thống kê được danh sách nhữngKhách hàng có chung sở thích Node Similarity tính toán các điểm tương đồng theocặp dựa trên số liệu Jaccard, còn được gọi là Điểm tương tự Jaccard

Trang 32

Chi số Jaccard là một số từ 0 đến 1 cho biết hai tập hợp giống nhau như thé nào Nếuhai tập hợp không có phần tử chung, thì chỉ số Jaccard bằng 0 Jaccard được tính băng

cách chia kích thước giao của hai tập hợp cho hợp của hai tập hợp đó.

Trang 33

Chú thích:

(1)- Node User: Là những khách hàng của hệ thống

(2)- Node Product: Là những sản phẩm của hệ thống

(3)- Relationship FOCUS: Là quan hệ về sự quan tâm của khách hàng đối với sảnphẩm được tổng hợp dựa trên 3 yếu tố: lượt xem, lượt bình luận, lượt mua

(4)- Relationship SIMILARITY: Dựa vào điểm Jaccard sau khi tính toán hệ thống sẽgán mối quan hệ “tương đồng” giữa các khách hàng

Day | Can dong ho Sức

Hình 1.5 Gợi y từ hóa đơn của khách hàng

Những sản phẩm mà User8 đã mua sẽ được mang qua dé gợi ý cho User10.

Nôi dung 3: Xây dựng công cụ thu thập dit liệu sản phẩm từ trang thương mại đện tử

tiki.vn.

Mục đích: Dé có được một lượng lớn đữ liệu sản pham đủ dé đáp ứng cho ứngdụng thì việc tạo dữ liệu băng tay hoàn toàn bất khả thi Công cụ Crawl dữ liệu manglại một khối dữ liệu lớn thuận tiện cho việc xây dựng dữ liệu ban đầu

10

Trang 34

Phương pháp nghiên cứu: Thực hiện khảo sát và thu thập dữ liệu từ nhiềunguồn, các trang web thương mại điện tử Tìm hiểu và nghiên cứu các thư viện Crawl.Chọn tiki.vn làm trang thu thập đữ liệu sản phẩm.

Kết quả thực hiện: Xây dựng dữ liệu ban đầu bằng cách thu thập hơn 700 sảnphẩm theo danh mục từ trang thương mại điện từ tiki.vn

Sản phẩm thu thập bao gồm các thông tin:

Bảng 1.2 Bảng thuộc tính sản phẩm

Field Data Type M6 ta

id String Mỗi sản phẩm có 1 ID khác nhau

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

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

image String Đường dan hình ảnh của san phẩm

decription String Mô tả thông tin chi tiết của sản phẩm

Xe Phoenix

Hình 1.6 Dữ léu co được sau khi thu thập từ trang Tiki.vn

Chú thích:

11

Trang 35

(1)- Tất cả danh mục trong hệ thống

(2)- Tất cả sản phẩm nằm trong một danh mục của hệ thống

1.6 Câu trúc khoá luận

Trong bài báo cáo này, em xin được trình bày về những kiến thức, cơ sở lý thuyết mà

em đã nghiên cứu và áp dụng Cũng như những phân tích, đánh giá trong quá trình làm

việc, xây dựng và phát triển ứng dụng EC Mobile Báo cáo khóa luận này được trình

bày với câu trúc như sau:

Chương 1: Giới thiệu tổng quan về dé tài nghiên cứu, các van dé cần giải quyết,

mục đích nghiên cứu, phạm vi nghiên cứu và phương pháp nghiên cứu.

Chương 2: Giới thiệu các kĩ thuật công nghệ, các thư viện cần thiết đã nghiêncứu, tìm hiểu và áp dụng vào việc xây dựng phát triển dé tài

Chương 3: Đề ra các đặc tả yêu cầu phân tích thiết kế hệ thống, thiết kế kiến

trúc và các mô hình cần thiết cho toàn bộ hệ thong

Chương 4: Trinh bày việc thực hiện các thiết kế được xây dung từ chương 3,

hiện thực và giới thiệu giao diện ứng dụng, minh hoạ cách thức hoạt động thực

tế của ứng dụng

Chương 5: Tổng kết khoá luận, nêu lên ý nghĩa khoá luận, trình bày những mặt

tích cực đã đạt được cũng như nhìn nhận, đánh giá về những hạn chế còn tồn đọng Từ đó đưa ra cách giải quyết, hướng phát triển tiếp theo cho ứng dụng EC

Mobile

12

Trang 36

Chương 2 CƠ SỞ LÝ THUYET

2.1 Tổng quan công nghê sử dụng

2.1.1 Giới thiệu chung

Xây dựng App:

- Back end : Nodejs, Javascript

- Font end :React Native.

- Database : Neo4j.

2.1.2 Lý do chọn công nghệ

- Nodejs là công nghệ sử dụng phù hợp cho các ứng dụng, web cần sự tương tác

nhanh với người dùng,với cộng đồng phát triền mạnh mẽ đa số các vấn đề trong

lập với Nodejs đều được giải quyết.

- Neo4j là co sở dữ liệu đồ thị mạnh mẽ trong phần gợi ý người ding, mang xã

hội.

2.2 NodeJS

2.2.1 Giới thiệu

Dựa theo [1] định nghĩa từ website chính thức của Node.js https://nodejs.org thì

Node.js là một JavaScript thời gian thực được xây dựng trên Chrome’s V8 JavaScript

engine Node.js sử dụng các phan phát sinh các sự kiện (event-driven), mô hình

non-blocking I/O dé tạo ra các ứng dụng nhẹ và hiệu quả cao cho các ứng dụng về dữ liệu

thời gian thực chạy trên các thiết bị phân tán

13

Trang 37

Run High

Eas

Fast ¥

Integration With JS

Stacks

Versatile Processing

Times

Hình 2.1 Tinh năng cua NodeJs

Node.js là một mã nguồn mở được phat triển bởi Ryan Dahl Phiên bản đầu tiên của

Node.js được cho ra mắt vào năm 2009 Node.js có thể chạy được trên nhiều nền tảng

khác nhau như Windows, Linux hay Mac OS.

Điều đặc biệt ở Node.js mang lại là mặc dù các JavaScript thường được sử dụng trên

client thì Node.js dù được xây dựng trên nền tảng JavaScript một ngôn ngữ thuần client

nhưng có thé sử dụng dé thực hiện các công việc trên ca client va server

2.2.2 Tại sao nên sử dung Node.js

Một số đặc điểm [1] quan trọng giúp Node.js trở nên rất đáng dé nghiên cứu sử dụng

đó là:

- _ Không đồng bộ và phát sinh sự kiện (Event Driven): Tất cả các API của thư

viện Node.js đều không đồng bộ, nghĩa là blocking (khóa) Nó rất cần thiết vì

Node.js không bao giờ đợi một API trả về dữ liệu Server chuyên sang một APIsau khi gọi nó và có cơ chế thông báo về sự kiện của Node.js giúp Server nhận

được phản hồi từ các API gọi trước đó.

- Tốc độ xử ly nhanh: Được thực thi dựa trên V8 JavaScript Engine của Google

Chorme Kha năng tự build server bằng ngôn ngữ client giúp cho việc trung

14

Trang 38

chuyên dữ liệu diễn ra nhanh hơn Đồng thời giảm khả năng rủi ro bị ngắt(interupt) Ngoài ra nhờ cơ chế NonI/O Blocking, tận dụng tối da tài nguyên của

server, không tạo ra độ trễ như các ngôn ngữ server-side khác

- Các tiến trình đơn giản nhưng hiệu năng cao: Node.js sử dung một mô hình

luồng đơn (single thread) với các sự kiện lặp Các cơ chế sự kiện giúp Server trảlại các phản hồi với một cách không khóa va tạo cho Server hiệu quả cao ngượclại với các cách truyền thống tạo ra một số lượng luồng hữu hạn để quản lý

request Nodejs sử dụng các chương trình đơn luồng và các chương trình nàycung cấp các dịch vụ cho số lượng request nhiều hơn so với các Server truyềnthống như Apache HTTP Server

- JavaScript là một ngôn ngữ phổ biến, điều này đã giúp node.js trở nên dễ dang

được sử dụng và áp dụng rộng rãi hơn.

- Node.js hỗ trợ rất tốt cho việc xây dựng ứng dụng thời gian thực

2.2.3 Áp dung Node.js vào đề tài xây dung ứng dụng EC Mobile

Nhóm sử dụng Node.Js vào việc xây dựng server cho ứng dụng, tạo các phương thức

Get/Post nhận và gửi kết quả cho client bởi những lợi ích to lớn mà Node.js mang lại

Khả năng xử lý dữ liệu thời gian thực, tốc độ xử lý nhanh chóng, thực hiện được nhiềuyêu cau cùng lúc va dé dang sử dụng rat phù hợp dé xây dựng server cho ứng dụng di

động Bên cạnh đó, việc sử dụng Node.js dé xây

dựng server cho phép dễ dàng can thiệp sâu vào việc xử lý, lưu trữ dữ liệu và khả

năng mở rộng lớn.

15

Trang 39

2.3 Neo4j

2.3.1 Giới thiệu

Neo4j [2] [4] là cơ sở dữ liệu đồ thi, cơ sở dit liệu đồ thị là một dang cơ sở dit liệu

thường được sử dụng trong việc mô tả các mạng thông tin như mạng xã hội, mạng cảm

biến, dạng mà ở đó thông tin mô tả như một thực thé trên một đồ thị có hướng

Hình 2.2 Vi du mô hình lưu dit liệu Neo4j

Neo4j là hệ quản tri cơ sở dữ liệu đồ thị đầu tiên được giới thiệu vào năm 2007 va công

bố phiên bản 1.0 vào năm 2010 Hiện nay neo4j là một trong những hệ quản trị cơ sở

dữ liệu đồ thị được sử dụng nhiều nhất.

Nếu như cơ sở dir liệu quan hệ như SQLServer, MySQL, Oracle, một đối tượng như MonHoc (subject) với các đặc điểm của đối tượng (properties) được mô tả bằng một Bảng dữ liệu gồm nhiều cột với tên Bảng là tên của đối tượng, các cột trong Bảng mô

tả đặc điểm của đối tượng Mối quan hệ giữa các đối tượng được xây dựng bằng cách

ghi nhận thông tin của thực thé cha vào thực thé con

Đối với neo4j đối tượng được mô tả thành các đỉnh của đồ thị, đặc điểm của đối tượng

được mô tả qua thuộc tính của đỉnh và mối quan hệ giữa các đối tượng được mô tảbăng liên kết có hướng giữa các đỉnh

16

Trang 40

“Graphs are one of the unifying themes of computer science—an abstract representation that describes the organization of transportation systems, human interactions, and telecommuni-cation networks That so many different structures can

be modeled using a single formalism is a source of great power to the educated

programmer.” (Steven S Skiena, Stony Brook Uni).

Hiện nay, hầu hết các thách thức đữ liệu xoay quanh các mối quan hệ, không chỉ lậpBang dữ liệu rời rac Công nghệ đồ thi và phân tích cung cấp các công cụ mạnh mẽ dé

kết nối dữ liệu được sử dụng trong nghiên cứu, sáng kiến xã hội và giải pháp kinh

doanh như:

- _ Mô hình hóa môi trường năng động từ thị trường tài chính đến dịch vụ CNTT

- Du báo sự lây lan của dịch bệnh cũng như sự chậm trễ và ngừng dịch vụ của

Ripple.

- Tim các tính năng dự đoán cho máy hoc dé chéng lại tội phạm tài chính

- Kham phá các mau cho các trải nghiệm và đề xuất được cá nhân hóa

Khi dữ liệu ngày càng kết nỗi với nhau và các hệ thống ngày càng tinh vi, nó rất cầnthiết dé sử dụng các mối quan hệ phong phú và phát triển trong dữ liệu

Neo4J là cơ sở dữ liệu dạng đồ thị nên mô hình lưu trữ, cấu trúc lưu trữ và đối tượngmang đặc điểm của cơ sở đữ liệu dạng đồ thị nói chung Tức là Neo4J lưu trữ dữ liệutrên các nút (node), xây dựng lên các cau trúc dit liệu khác nhau băng các relationships

17

Ngày đăng: 02/10/2024, 03:05

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

  • Đang cập nhật ...

TÀI LIỆU LIÊN QUAN