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

Xây dựng website bán sách trực tuyến

85 5 0

Đ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 website bán sách trực tuyến
Thể loại Dự án tốt nghiệp
Định dạng
Số trang 85
Dung lượng 4,99 MB

Các công cụ chuyển đổi và chỉnh sửa cho tài liệu này

Nội dung

Trường Đại học Bách Khoa Khoa Khoa học & Kỹ thuật Máy tính Luận Văn Tốt Nghiệp Đại Học Trang 1 LỜI CAM ĐOAN Em xin cam đoan luận văn tốt nghiệp đề tài “Xây dựng website bán sách” là sản

Trang 1

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH

TRƯỜNG ĐẠI HỌC BÁCH KHOA KHOA KHOA HỌC & KỸ THUẬT MÁY TÍNH

LUẬN VĂN TỐT NGHIỆP ĐẠI HỌC

XÂY DỰNG WEBSITE BÁN SÁCH TRỰC TUYẾN

Trang 5

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 1

LỜI CAM ĐOAN

Em xin cam đoan luận văn tốt nghiệp đề tài “Xây dựng website bán sách” là sản phẩm nghiên cứu của chính em dưới sự hướng dẫn của Thầy TS Phan Trọng Nhân Những nguồn tài liệu và số liệu tham khảo được đề cập đến trong đề cương này đều được trích dẫn nguồn cụ thể và nêu rõ trong phần phụ lục Các số liệu, kết quả của đề tài hoàn toàn trung thực, em xin hoàn toàn chịu trách nhiệm nếu vi phạm những gì đã cam đoan

Tp Hồ Chí Minh, ngày 26 tháng 09 năm 2022

Trang 6

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 2

LỜI CẢM ƠN

Đối với mỗi sinh viên khoa Khoa học và Kỹ thuật Máy tính, luận văn tốt nghiệp chính là công việc kết thúc quá trình học tập ở trường đại học, đồng thời mở ra trước mắt mỗi người một hướng đi mới vào cuộc sống thực tế trong tương lai Quá trình làm luận văn đã tạo điều kiện để em tổng hợp, hệ thống lại những kiến thức đã được học,

bổ sung thêm những kiến thức mới mà mình còn thiếu sót, rèn luyện khả năng vận dụng kiến thức đồng thời nâng cao khả năng tự nghiên cứu để giải quyết các vấn đề có thể phát sinh

Mặc dù đã cố gắng hết sức nhưng do kiến thức và kinh nghiệm còn hạn chế, do

đó luận văn tốt nghiệp của em khó tránh những thiếu sót, kính mong nhận được sự chỉ dẫn của các Thầy, Cô để em cũng cố, hoàn thiện kiến thức của mình hơn

Em xin chân thành bày tỏ lòng biết ơn đến Thầy TS Phan Trọng Nhân, giảng viên khoa Khoa học và Kỹ thuật Máy tính - trường Đại học Bách Khoa - Đại học Quốc gia Thành phố Hồ Chí Minh đã nhiệt tình hướng dẫn, cung cấp kiến thức, những góp ý quý báu, bổ sung những thiếu sót cho em trong quá trình thực hiện luận văn tốt nghiệp Đây sẽ là những kinh nghiệm quý báu giúp em hoàn thành tốt công tác của mình sau này

Em trân trọng bày tỏ lòng biết ơn đến các Thầy, Cô trong Ban Giám hiệu nhà trường đặc biệt là các Thầy, Cô đang giảng dạy và làm việc tại Khoa học và Kỹ thuật Máy tính - trường Đại Học Bách Khoa đã tận tình truyền thụ cho em những kiến thức quý báu trong suốt quá trình học tập tại giảng đường đại học

Cuối cùng, em kính chúc các Thầy, Cô luôn dồi dào sức khỏe để hoàn thành tốt

sự nghiệp giảng dạy của mình để tạo ra nhiều thế hệ sinh viên ưu tú và có ích cho xã hội

Tp Hồ Chí Minh, ngày 26 tháng 09 năm 2022

Trang 7

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 3

TÓM TẮT

Đề tài “Xây dựng website bán sách trực tuyến” được thực hiện trong thời gian mười hai tuần Trong quá trình thực hiện đề tài, em đã tập trung vào việc tìm hiểu cách thức và quy trình vận hành của một hệ thống bán sách trực tuyến, tham khảo một số

mô hình tương tự hiện có như: fahasha.com, tiki.com Song song với đó là việc xác định các bài toán liên quan và đề ra giải pháp, tìm hiểu các công nghệ phù hợp để xây dựng hệ thống Hệ thống hoạt động theo mô hình B2C và được xây dựng, phát triển trên nền tảng web Người dùng có thể tìm kiếm, mua hàng, thanh toán bằng nhiều hình thức tiện lợi Bên cạnh đó hệ thống sẽ được tính hợp tính năng đề xuất cho từng người dùng cụ thể mang lại trải nghiệm tốt nhất cho họ Ứng dụng trí tuệ nhân tạo hỗ trợ quá trình xác nhận đơn hàng cho nhân viên bán hàng

Trang 8

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 4

MỤC LỤC

Chương 1 GIỚI THIỆU ĐỀ TÀI 11

1.1 Giới thiệu đề tài 11

1.2 Khái niệm về thương mại điện tử 11

1.3 Mục tiêu và phạm vi đề tài 11

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ SỬ DỤNG 12

2.1 Các mô hình kinh doanh sách trực tuyến hiện có 12

2.1.1 Fahasa 12

2.1.2 Tiki 12

2.2 Công nghệ sử dụng xây dựng hệ thống 12

2.2.1 Front-end 12

2.2.1.1 HTML 5 12

2.2.1.2 CSS3 và SCSS 13

2.2.1.3 ReactJS 13

2.2.2 Back-end 13

2.2.2.1 NodeJs và framework Express 13

2.2.2.2 MySQL 14

2.2.2.3 Elasticsearch 14

2.2.2.4 Hệ thống đề xuất 15

2.2.2.5 Mã QR 16

2.2.2.6 Mạng thần kinh nhân tạo (Artificial Neural Network) 19

2.2.6.7 ChatBot hỗ trợ khách hàng 20

2.2.6.8 Các dịch vụ Cloud sử dụng triển khai hệ thống 20

2.2.6.8.1 Amazon Elastic Compute Cloud (EC2) 20

2.2.6.8.2 Amazon OpenSearch Service (AOS) 20

2.2.6.8.3 Relational Database Service (RDS) 20

2.2.6.7.4 Database Migration Service (DMS) 21

2.2.6.7.5 CloudFalre DNS 21

CHƯƠNG 3 PHÂN TÍCH YÊU CẦU 22

3.1 Mô tả hệ thống 22

3.1.1 Đặc tả chức năng 22

3.1.2 Đặc tả phi chức năng 23

3.1.3 Bài toán và giải pháp 23

Trang 9

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 5

3.2 Thiết kế Use-case 25

3.2.1 Use-case diagram và use-case scenario cho quản trị viên 26

3.2.2 Use-case diagram và use-case scenario cho người dùng 36

3.2.4 Các use-case khác 42

CHƯƠNG 4 THIẾT KẾ HỆ THỐNG 45

4.1 Kiến trúc hệ thống 45

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

4.2.1 Mô hình thực thể liên kết - ERD 47

4.2.2 Ánh xạ sang bảng dữ liệu 49

4.3 Thiết kế giao diện 53

4.3.1 Giao diện trang chủ 53

4.3.2 Giao diện trang chi tiết sản phẩm 55

4.3.3 Giao diện trang thanh toán 57

4.3.4 Giao diện trang quản lý đơn hàng 58

4.3.5 Giao diện trang thông tin cá nhân 59

4.4.6 Giao diện trang quản lý địa chỉ 59

4.4.7 Giao diện trang thông báo 60

4.4.8 Giao diện trang đăng nhập 61

4.6.7 Giao diện đăng ký tài khoản 61

4.6.8 Giao diện trang tổng quan (Admin) 62

4.6.9 Giao diện quản lý sản phẩm 63

4.9.10 Giao diện quản lý người dùng 64

4.9.11 Giao diện quản lý đơn hàng 65

4.9.12 Giao diện quản lý mã giảm giá 66

CHƯƠNG 5 HIỆN THỰC VÀ KIỂM THỬ HỆ THỐNG 68

5.1 Hiện thực hệ thống 68

5.1.1 Khởi tạo máy chủ AWS – EC2 68

5.1.2 Khởi tạo máy chủ cơ sở dữ liệu MySQL 69

5.1.3 Khởi tạo máy chủ ElasticSearch 70

5.1.4 Cấu dịch vụ DNS CloudFlare 71

5.2 Kiểm thử đơn vị (Unit test) 72

5.2.1 Quy trình kiểm thử 72

5.2.3 Công cụ sử dụng 72

5.2.3 Kết quả kiểm thử 73

Trang 10

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 6

5.3 Đánh giá khả năng chịu tải của hệ thống 73

5.3.1 Phương pháp đánh giá 73

5.3.2 Kiểm thử trên máy chủ Amazon Web Service ( AWS ) 74

5.3.2.1 Kiểm thử phương thức GET 74

5.3.2.2 Kiểm thử phương thức PUT 74

5.3.3 Đánh giá chung 75

5.4 Đánh giá hiệu quả của hệ thống đề xuất 75

CHƯƠNG 6 TỔNG KẾT 78

6.1 Kết quả đạt được 78

6.2 Hạn chế và nhược điểm 78

6.3 Hướng phát triển 78

DANH MỤC TÀI LIỆU THAM KHẢO 80

Trang 11

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 7

MỤC LỤC HÌNH ẢNH

Hình 1 Thống kê mức độ sử dụng của các web framework/ library năm 2021 13

Hình 2 Kiến túc Client-Server 14

Hình 3 Vị trí thành phần “Positioning detection marker” trong mã QR 17

Hình 4 Vị trí thành phần “Alignment markings” trong mã QR 8 17

Hình 5.Vị trí thành phần “Timming parttern” trong mã QR 8 17

Hình 6 Vị trí thành phần “Version information” trong mã QR 8 18

Hình 7 Vị trí thành phần “Format information” trong mã QR 8 18

Hình 8 Vị trí thành phần “Data and error correction key” trong mã QR 8 18

Hình 9 Vị trí thành phần “Quiet zone” trong mã QR 8 18

Hình 10 Trình tự giải mã mã QR 8 19

Hình 11 Mạng neural nhân tạo (ANN) 19

Hình 12 Mô hình tính toán của neural 20

Hình 13 Mô hình hoạt động của DMS 21

Hình 14 Sự thay đổi giá trị của hàm mất mát trong quá trình đào tạo 24

Hình 15 Kết quả dự đoán trên tệp dữ liệu thử nghiệm 24

Hình 16 Use-case diagram cho toàn bộ hệ thống 25

Hình 17 Use-case diagram cho người quản trị (admin) 26

Hình 18 Use-case Quản lý đơn hàng 26

Hình 19 Use-case quản lý sản phẩm 29

Hình 20 Use-case quản lý mã giảm giá 31

Hình 21 Use-case thống kê bán hàng 33

Hình 22 Use-case diagram cho người dùng 36

Hình 23 Use-case quản lý giỏ hàng 38

Hình 24 Use-case quản lý đơn hàng (người dùng) 39

Hình 25 Use-case đặt hàng 40

Hình 26 Use-case thay đổi thông tin cá nhân 42

Hình 27 Mô hình kiến trúc hệ thống 45

Hình 28 Mô hình EER 47

Hình 29 Lượt đồ ánh xạ EER sang bảng dữ liệu 49

Hình 30 Giao diện trang chủ 54

Hình 31 Giao diện ChatBot 55

Hình 32 Giao diện trang chi tiết sản phẩm 56

Hình 33 Giao diện trang thanh toán 57

Hình 34 Áp dụng mã giảm giá 57

Hình 35 Thêm địa chỉ nhận hàng 58

Hình 36 Giao diện trang quản lý đơn hàng 58

Hình 37 Giao diện xem chi tiết một đơn hàng 59

Hình 38 Giao diện trang thông tin cá nhân 59

Hình 39 Trang quản lý địa chỉ giao hàng 60

Hình 40 Thêm một địa chỉ nhận hàng 60

Hình 41 Trang thông báo 60

Hình 42 Giao diện trang đăng nhập 61

Hình 43 Đăng nhập bằng tài khoản Gmail 61

Hình 44 Giao diện trang đăng ký tài khoản 62

Trang 12

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 8

Hình 45 Giao diện trang quản lý sản phẩm (admin) 63

Hình 46 Danh sách sản phẩm 63

Hình 47 Chi tiết sản phẩm 64

Hình 48 Thêm sản phẩm mới 64

Hình 49 Giao diện quản lý người dùng 65

Hình 50 Giao diện danh sách đơn hàng 65

Hình 51 Cập nhật trạng thái đơn hàng 65

Hình 52 Chi tiết đơn hàng 66

Hình 53 Giao diện danh sách mã giảm giá 66

Hình 54 Thêm mã giảm giá 67

Hình 55.Lựa chọn cấu hình máy chủ 68

Hình 56 Khởi động Nginx 1.18.0 69

Hình 57 Tạo cơ sở dự liệu bằng dịch vụ RDS của Amazon 69

Hình 58 Tùy chỉnh kết nối giữa database và máy chủ EC2 70

Hình 59 Khởi tạo máy chủ ElasticSearch 70

Hình 60 Thiết lập quản lý kết nối tới ElasticSearch Server 71

Hình 61 Thiết lập DNS table 71

Hình 62 Thay đổi DNS Nameservers trên Namecheap.com 71

Hình 63 Thiết lập giới hạn số lượng yêu cầu tới máy chủ theo địa chỉ IP 72

Hình 64 Kết quả thực hiện kiểm thử tự động các APIs trên ứng dụng Postman 73

Hình 65 Biểu đồ thể hiện thời gian phản hồi của phương thức GET 74

Hình 66 Biểu đồ thể hiện thời gian phản hồi của phương thức PUT 74

Hình 67 Biểu đồ tỷ lệ chuyển đổi từ các vị trí đề xuất sản phẩm tương đồng 75

Hình 68 Biểu đồ tỷ lệ chuyển đổi từ các vị trí đề xuất sản phẩm mua cùng 76

Hình 69 Biểu đồ tỷ lệ chuyển đổi từ các vị trí đề xuất sản phẩm dành cho bạn 77

Trang 13

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 9

MỤC LỤC BẢNG BIỂU

Bảng 1 Use-case scenario xem chi tiết đơn hàng 27

Bảng 2 Use-case scenario hủy đơn hàng 28

Bảng 3 Use-case scenario tìm kiếm đơn hàng 28

Bảng 4 Use-case scenario thêm sản phẩm mới 29

Bảng 5 Use-case scenario chỉnh sửa sản phẩm 30

Bảng 6 Use-case scenario xóa sản phẩm 30

Bảng 7 Use-case scenario ẩn sản phẩm 31

Bảng 8 Use-case scenario tạo mã giảm giá 32

Bảng 9 Use-case scenario chỉnh sửa mã giảm giá 32

Bảng 10 Use-case scenario xóa mã giảm giá 33

Bảng 11 Use-case scenario phân tích bán hàng 34

Bảng 12 Use-case scenario xem chi tiết người dùng 34

Bảng 13 Use-case scenario tìm kiếm người dùng 35

Bảng 14 Use-case scenario khóa tài khoản người dùng 36

Bảng 15 Use-case scenario đăng ký tài khoản 37

Bảng 16 Use-case scenario tìm kiếm sản phẩm 37

Bảng 17 Use-case scenario thay đổi số lượng sản phẩm trong giỏ hàng 38

Bảng 18 Use-case scenario xóa sản phẩm trong giỏ hàng 39

Bảng 19 Use-case scenario xem chi tiết đơn hàng 39

Bảng 20 Use-case scenario hủy đơn hàng (người dùng) 40

Bảng 21 Use-case scenario thêm vào giỏ hàng 41

Bảng 22 Use-case scenario thêm mã giảm giá 41

Bảng 23 Use-case scenario thanh toán 42

Bảng 24 Use-case scenario đăng nhập 43

Bảng 25 Use-case scenario thay đổi thông tin 43

Bảng 26 Use-case scenario thay đổi ảnh đại diện 44

Bảng 27.Use-case scenario thay đổi mật khẩu 44

Bảng 28 Chi tiết bảng “User” 50

Bảng 29 Chi tiết bảng “Books” 50

Bảng 30 Chi tiết bảng “Shippingaddress” 50

Bảng 31 Chi tiết bảng “Districts” 51

Bảng 32 Chi tiết bảng “Provinces” 51

Bảng 33.Chi tiết bảng “Order_details” 51

Bảng 34 Chi tiết bảng “Orders” 52

Bảng 35 Chi tiết bảng “Vouchers” 52

Bảng 36 Chi tiết bảng “Ratings” 52

Bảng 37 Chi tiết bảng “Discounts” 52

Bảng 38 Chi tiết bảng “authors” 53

Bảng 39 Chi tiết bảng “Categories” 53

Bảng 40.Chi tiết bảng “predict_cancellation” 53

Trang 14

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 10

DANH SÁCH THUẬT NGỮ VÀ KHÁI NIỆM

Thuật ngữ Tên đầy đủ Ghi chú

API Application Programming

Interface

Phương thức trung gian kết nối các ứng dụng và thư viện khác nhau

B2B Business to Business Mô hình kinh doanh giữa các

công ty, doanh nghiệp với nhau

B2C Business to Customer Mô hình kinh doanh giữa doanh

Back-end Back-end Phần hoạt động ở phía máy chủ,

nhận yêu cầu và xử lý thông tin từ người dùng

Client-server client-server Là mô hình mạng máy tính bao

gồm 2 thành phần chính là máy khách (client) và máy chủ ( server)

Mask pattern Mask pattern Là một dãy cấu tạo được tạo ra và

chèn vào mã QR giúp các thiết bị quét dễ dàng quét và đọc mã

Request Yêu cầu gửi lên máy chủ

DNS Domain Name System Hệ thống phân giải tên miền

Trang 15

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 11

Chương 1 GIỚI THIỆU ĐỀ TÀI

Hiện nay với sự phát triển mạnh mẽ của công nghệ, cuộc sống cuộc con người ngày càng gắn liền với môi trường internet Công nghệ ngày càng có vai trò quan trọng trong mọi mặt, mọi lĩnh vực của cuộc sống Mô hình kinh doanh trực tuyến ngày càng trở nên phổ biến và quen thuộc với nhiều người Xây dựng mô hình kinh doanh trực tuyến gần như là yếu tố phải có của các doanh nghiệp hoạt động trong lĩnh vực kinh doanh hiện nay Nó không chỉ giúp cho doanh nghiệp có khả năng tiếp cận khách hàng, mở rộng kinh doanh tốt hơn, mà còn cải thiện việc quản lý, giảm chi phí đại lý

và đánh giá hiệu suất hoạt động của doanh nghiệp Mô hình kinh doanh trực tuyến còn giúp người dùng có trải nghiệm dễ dàng hơn, thuận lợi và tiết kiệm nhiều thời gian hơn Nắm bắt được xu thế hiện tại, em đã thực hiện đề tài về “website kinh doanh sách” Webiste tập trung vào sản phẩm sách với nhiều thể loại khác nhau và mục tiêu khách hàng là những người có quan tâm và nhu cầu mua sách Website tạo ra môi trường riêng biệt để tập trung vào một nhóm người dùng nhất định giúp họ dễ dàng có thể tìm kiếm được những loại sách họ cần cũng như nhận được sự gợi ý phù hợp với

sở thích và nhu cầu của bản thân khách hàng

Thương mại điện tử là hoạt động kinh doanh trên môi trường internet Thương mại điện tử có thể bao gồm các họa động mua bán hàng hóa, dịch vụ, ….Từ năm 1979, hình thức kinh doanh trực tuyến đã xuất hiện Đến năm 1989, kỹ nguyên World Wide Web mở ra, tạo tiền đề cho sự phát triển mạnh mẽ của thương mại điện tử Cho đến ngày nay, cùng với sự phát triển vượt bật của công nghệ, thương mại điện tử đã phát triển với một tốc đột nhanh chóng Theo báo cáo của Hiệp hội Thương mại điện tử Việt Nam (VECOM), tốc độ tăng trưởng trung bình của thương mại điện tử giai đoạn 2016-2019 khoảng 30%, dự đoán tốc độ tăng trưởng trung bình giai đoạn 2020-2025 là 29% và đến năm 2025, quy mô thương mại điện tử nước ta đạt 52 tỷ USD.1

kê hiệu suất kinh doanh, quản lý sản phẩm bằng QR code cho người quản lý

1Tham khảo số liệu từ :

https://vnexpress.net/thuong-mai-dien-tu-se-phat-trien-the-nao-trong-5-nam-toi-4336327.html

Trang 16

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 12

CHƯƠNG 2 CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ SỬ DỤNG

2.1.1 Fahasa

Fahasa.com 2 là một website kinh doanh sách trực tuyến lâu đời tại Việt Nam Với lợi thế được phát triển và điều hành bởi một công ty lớn với nhiều năm kinh nghiệm trong lĩnh vực xuất bản sách Uy tín của thương hiệu mang làm niềm tin cho người dùng trong việc mua sắm trực tuyến, cùng sự chuyên nghiệp và minh bạch trong chính sách, đã tạo tiền đề cho Fahasa nhanh chóng chiếm được thị phần và có vị trí trên môi trường kinh doanh trực tuyến, đặc biệt là lĩnh vực sách và văn phòng phẩm Fahasa hoạt động thuần theo mô hình B2C Hệ thống cung cấp nhiều hình thức thanh toán phổ biến hiện nay tuy nhiên vẫn chưa chấp nhận hình thức thanh toán COD ( Cash on delivery ), hỗ trợ khách hàng theo dõi đơn hàng, tính năng mã giảm giá,…

2.1.2 Tiki

Tiki.vn 3 là một website thương mại điện tự lớn và uy tín tại Việt Nam, được thành lập vào tháng 03/2010 Ban đầu Tiki.vn được nhiều người biết đến như là một nhà sách trực tuyến Từ những thời điểm ban đầu, Tiki hoạt động dựa trên mô hình B2C, có nghĩa là Tiki sẽ là đơn vị trực tiếp nhập hàng, kiểm tra và bán ra thị trường

Về sau, Tiki phát triển ngày càng lớn mạnh và mở rộng phân khúc của mình trên nhiều loại sản phẩm khác như : thiết bị công nghệ, văn phòng phẩm, nhà cửa và đời sống… Đồng thời Tiki cũng phát triển thêm mô hình kinh doanh C2C song song với mô hình B2C trên cùng một hệ thống Tiki cũng hỗ trợ nhiều hình thức thanh toán trực tuyến phổ biến hiện này kể cả thanh toán COD, cung cấp các tùy chọn cho khác hàng theo dõi đơn hàng, các chương trình mã giảm giá Ngoài ra, Tiki còn xây dựng các trò chơi nhỏ trên website, giúp người dùng nhận được nhận phần thưởng khi tham gia Nhưng mục đích chính của việc này chính là tăng tương tác của người dùng trên website, từ

đó sẽ có lợi nhiều mặt về tiếp thị

Ưu điểm:

- HTML5 giúp các nhà phát triển tạo ra các ứng dụng web nâng cao, khả năng

xử lý đồ họa, âm thanh, video, GPS, camera mà không cần đến các plug-in

hỗ trợ Đây là điểm khác biết lớn giữa HTML5 và các phiên bản tiền nhiệm

- HTML5 chạy ổn định trên hầu hết các trình duyệt web phổ biến như : Google Chrome, Firefox , Opera, Safari, Cốc Cốc, Microsoft Edge,…

- HTML5 có khả năng tương thích cao với nhiều thiết bị như : latop, smartphone, ipad, tablet, chỉ cần các thiết bị sử dụng trình duyệt có thể hiểu được ngôn ngữ này

2Fahasa Tham khảo tại : https://www.fahasa.com/gioi-thieu-fahasa

3Tiki Tham khảo tại : https://tiki.vn/thong-tin/gioi-thieu-ve-tiki

Trang 17

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 13

- HTML5 có thể được sử dụng chung với như ngôn ngữ lập trình khác như JavaScript, Python, C#, Ruby, PHP, Java để tạo ra ứng dụng web

2.2.1.2 CSS3 và SCSS

CSS (Cascading Style Sheets) là ngôn ngữ được sử dụng để định dạng các phần

tử tạo ra bởi HTML CSS được phát triển bởi W3C (World Wide Web Consortium) vào năm 1996 CSS3 là bản nâng cấp mới nhất của CSS với mục đích mở rộng CSS2.1 CSS3 bổ sung, mang đến nhiều tính năng mới hỗ trợ định dạng tốt hết với nhiều kiểu thiết kế hiện đại

SCSS là một chương trình tiền xử lý CSS (CSS preprocessor) giúp người dùng

viết code CSS theo giống một ngôn ngữ lập trình, cấu trúc rõ ràng, giúp cho việc sửa lỗi nâng cấp diễn ra dễ dàng hơn Vì trình duyệt không thể hiểu được SCSS, nên cuối cùng SCSS cũng sẽ được biên dịch thành CSS từ đó trình duyệt có thể hiểu được nội dung

2.2.1.3 ReactJS

ReactJS là một thư viện Javascript mã nguồn mở miễn phí dùng để xây dựng

UI ReactJS được phát triển bởi Facebook (nay đổi tên thành Meta) và được ra mắt vào tháng 03 năm 2013

ReactJS xây dựng nhầm mục đích tạo ra những ứng dụng web với hiệu suất cao, dễ bảo trì và tái xử dụng các thành phần UI (gọi là component) Bằng cách sử dụng thuật toán “The Diffing Algorithm” và Vitural DOM, ReactJS xem xét sự thay đổi giao diện và quyết định những gì cần thiết kết xuất lại

ReactJS được nhiều công ty lớn sử dụng cho website của mình như là : facebook.com, shopee.vn, bittrex.com, ….Theo số liệu thống kế của Stackoverflow ReactJS là web framework/ library được sử dụng nhiều nhất trong năm 2021

Hình 1 Thống kê mức độ sử dụng của các web framework/ library năm 2021 4

2.2.2 Back-end

2.2.2.1 NodeJs và framework Express

NodeJS là một nền tảng được xây dựng trên “V8 Javascript engine” được viết bằng C++ và Javascript Nền tảng này được phát triển bởi Ryan Lienhart Dahl bảo trợ bởi công ty Joyentvào năm 2009 Nodejs giúp cho việc thực thi mã Javascript có thể

4Nguồn ảnh : insights.stackoverflow.com/

Trang 18

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 14

thực hiện được trên máy tính như một ứng dụng độc lập Phần lõi của Nodejs chủ yếu viết bằng C++ nên tốc độ và hiệu xuất xử lý khá nhanh

Express là framework mã nguồn mở miễn phí được xây dựng trên nền tảng Nodejs Express được sử dụng để xây dựng các ứng dụng web và API một cách nhanh chóng Express chỉ hỗ trợ ngôn ngữ Javascript, đây cũng là điểm lợi thế của framework này, khi các lập trình viên chỉ cần sử dụng một ngôn ngữ duy nhất để phát triển cho cả front-end và back-end của hệ thống Express cũng là một web framework được sử dụng nhiều thứ 3 theo thống kê của Stackoverfollow năm 2021

2.2.2.2 MySQL

MySQL là một hệ thống quản trị cơ sở dữ liệu mã nguồn mở miễn phí (Relational Database Management System, viết tắt là RDBMS) phát triển bởi Oracle MySQL được viết bằng C và C++, hoạt động theo mô hình client-server dựa trên ngôn ngữ truy vấn có cấu trúc (SQL)

Hình 2 Kiến túc Client-Server 5 Cách thức hoạt động :

- Người xây dựng hệ thống dùng mySQL tạo cơ sở dữ liệu để lưu trữ và thao tác, định nghĩa quan hệ giữa các bảng trong cơ sở dữ liệu

- Client sẽ gửi yêu cầu tới server Server phân tích yêu câu và thực hiện các câu truy vấn SQL tương ứng trên mySQL

- Server sẽ trả về kết quả cho phía client

Ưu điểm của mySQL là có cộng đồng sử dụng rộng lớn, tốc độ cao, ổn định, tương thích với nhiều hệ điều hành như Windows, Linux, Mac OS X, Unix,… MySQL là hệ quản trị cơ sở dữ liệu được sử dụng nhiều thứ hai sau Oracle 6

2.2.2.3 Elasticsearch

Elasticsearch7 là một công cụ tìm kiếm dựa trên nền tảng Apache Lucene Elasticsearch hoạt động như một server, giao tiếp thông qua giao thức RESTful Vì thế, không quan trọng hệ thống viết bằng gì, đều có thể giao tiếp dễ dàng với Elasticsearch server

Ưu điểm:

- Giao tiếp thông qua giao thức RESTful

- Khả năng phân tán dữ liệu trên nhiều nút (node) trong một cụm (cluster) và tìm kiếm song song trên các nút, giúp cho tốc độ truy vấn dữ liệu nhanh chóng

5Nguồn ảnh : https://www.hostinger.com/tutorials/what-is-mysql

6Số liệu tham khảo từ : https://db-engines.com/en/ranking

7ElasticSearch Truy cập : https://www.elastic.co/

Trang 19

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 15

- Khả năng mở rộng theo chiều ngang trên nhiều nút

- Hỗ trợ truy vấn mờ (fuzzy query), nghĩa là những cụm từ truy vấn có thể viết sai do lỗi đánh máy thì vẫn có thể tìm kiếm được bằng cách đo mức độ tương đồng bằng hệ số “Levenshtein edit distance”

Nhược điểm:

- Elasticsearch được thiết kế để làm việc với vai trò là một công cụ tìm kiếm

Vì vậy, những tác vụ như thêm, xóa, sửa dữ liệu sẽ không được tối ưu như các loại cơ sở dữ liệu khác, có khả năng mất mát dữ liệu Vì thế việc sử dụng thêm một cơ sở dữ liệu chính là mySQL như trong đề tài này là điều cần thiết

- Không có mối quan hệ ràng buộc giữa dữ liệu với nhau, dẫn tới khả năng sai lệch

2.2.2.4 Hệ thống đề xuất

Hệ thống đề xuất nhằm dự đoán những sản phẩm hoặc nội dung mà người dùng

có khả năng sẽ thích hoặc đang tìm kiếm Từ đó hướng người dùng đến việc mua hàng hoặc dẫn họ đến nội dung mà họ mong muốn Một hệ thống đề xuất hiệu quả làm tăng

tỷ lệ mua hàng và trải nghiệm của người dùng, tăng tỷ lệ giữ chân khách hàng trên các website hoặc các ứng dụng trực tuyến Hệ thống đề xuất đóng vai trò vô cùng quan trọng trong bất kỳ hệ thống thương mại, dịch vụ nào Trong phạm vi của đề tài này, một hệ thống đề xuất sản phẩm sẽ được xây dựng nhằm mục đích gợi ý cho người dùng những sản phẩm có thể họ sẽ thích, dựa trên yếu tố hành vi của họ và các thuộc tính của sản phẩm Hệ thống được hiện thực dựa trên hai phương pháp là lọc cộng tác (Collaborative Filtering) và lọc dựa trên nội dung (Content based Filtering)

 Lọc cộng tác ( Collaborative Filtering ) :

Với phương pháp này, ta sẽ có hai hướng tiếp cận là dựa trên người dùng và dựa trên sản phẩm Dựa trên người dùng bằng cách tìm mối quan hệ giữa các người dùng với nhau thông qua hành vi tương tác của họ, tìm ra những người dùng tương đồng với nhau nhất Từ đó dự đoán sợ thích của các người dùng khác thuộc cùng nhóm tương đồng này Tương tự như hướng tiếp cận dựa trên người dùng, hướng tiếp cận dựa trên sản phẩm tìm những sản phẩm tương đồng dựa trên yếu tố đánh giá của người dùng Gợi ý những sản phẩm tương đồng với sản phẩm mà họ đang xem

Ưu điểm:

- Không cần biết rõ các đặc tính của sản phẩm, vì phương pháp này dựa vào tương tác của người dùng với sản phẩm

- Nắm bắt được sở thích của người dùng theo thời gian

- Mở rộng khả năng đề xuất cho các sản phẩm khác thể loại

Nhược điểm:

- Phụ thuộc dữ liệu từ những người dùng khác

- Với những người chưa có tương tác, thì phương pháp này không thể áp dụng

- Không thể gợi ý những sản phẩm mới, chưa có bất kỳ đánh giá nào

- Độ chính xác giảm khi sở thích người dùng thay đổi

 Lọc dựa trên nội dung (Content based Filtering)

Phương pháp này dựa trên những đặc trưng của sản phẩm và hành vi người dùng để đề xuất đến những sản phẩm tương tự cho người dùng đó Bằng

Trang 20

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 16

cách ghi lại các hành vi của người dùng như lịch sử mua hàng, lịch sử đánh giá, thêm vào giỏ hàng, xem sản phẩm, bấm yêu thích sản phẩm được cập nhật theo thời gian thực

Ý tưởng của phương pháp này là xây dựng hồ sơ cho các sản phẩm dưới dạng các vector đặc trưng Từ đó ta có thể tính độ tương đồng giữa các sản phẩm bằng cách tính độ tương đồng giữa các vetor đặc trưng của chúng Gợi ý cho người dùng những sản phẩm họ có thể thích dựa vào các sản phẩm gần đây

họ đã tương tác

Ưu điểm của phương pháp này là:

- Không phụ thuộc vào dữ liệu của những người dùng khác như phương pháp lọc cộng tác

- Mang tính cá nhân hóa, nội dung đề xuất được thay đổi liên tục theo hành vi của người dùng Hệ thống có thể dựa vào điều này

để thay đổi bố cục của website để mang lại sự thích thú và trải nghiệm tốt cho người dùng

- Những sản phẩm mới cũng sẽ có khả năng được đề xuất

Cả hai phương pháp trình bày như trên đều có những ưu và nhược điểm riêng Việc kết hợp cả hai phương pháp trong việc xây dựng hệ thống đề xuất sẽ mang lại hiệu quả cao hơn, nhờ việc khắc phục nhược điểm và kết hợp các ưu điểm của cả hai phương pháp

 Phương pháp đánh giá hệ thống đề xuất:

Một hệ thống đề xuất hiệu quả là một hệ thống mang lại lợi ích cho cả người dùng và người phát triển hệ thống Đánh giá hiệu quả của hệ thống dựa trên các tiêu chí sau:

- Xem xét tỷ lệ chuyển đổi đơn hàng từ lượt nhấp chuột vào các sản phẩm được đề xuất

- Xem xét tỷ lệ nhấp chuột giữa các đề xuất theo ví trị xếp hạng của sản phẩm trong danh sách đề xuất

- Khảo sát ý kiến người dùng về những gì họ được đề xuất

2.2.2.5 Mã QR

Mã QR (QR code) là viết tắt của từ “quick response code” Là một dạng thông tin được mã hóa để máy có thể đọc khi quét bằng camera Mã QR được phát triển từ năm 1994 bởi một công ty của Nhật Bản có tên là Denso Wave

Ưu điểm của mã QR:

- Lưu trữ được nhiều thông tin hơn so với mã vạch truyền thống

- Có thể sử dụng để lưu trữ các liên kết website, nên được sử dụng phổ biến trong việc truy cập nhanh, thanh toán trực tuyến, truy cập các điểm truy cập mạng không dây

- Đọc được nhanh chóng với nhiều góc độ khác nhau

- Khả năng tự sửa chữa lỗi và khôi phục dữ liệu

Trang 21

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 17

- Positioning detection marker : phần này được đặt tại ba gốc của

mã, giúp nhận diện vị trí, hướng của mã trên bề mặt hiển thị

Hình 3 Vị trí thành phần “Positioning detection marker” trong mã QR 8

- Alignment markings : phần này giúp máy quét có thể quét mã ở nhiều góc độ khác nhau

Hình 4 Vị trí thành phần “Alignment markings” trong mã QR 8

- Timming parttern : gồm các ô vuông trắng và đen xen kẻ nhau, giúp máy quét xác định được độ lớn của ma trận dữ liệu

Hình 5.Vị trí thành phần “Timming parttern” trong mã QR 8

- Version information : lưu thông tin về phiên bản mã đang sử dụng

8Nguồn ảnh : https://www.qr-code-generator.com/qr-code-marketing/qr-codes-basics

Trang 22

Trường Đại học Bách Khoa

Khoa Khoa học & Kỹ thuật Máy tính

Luận Văn Tốt Nghiệp Đại Học Trang 18

Hình 6 Vị trí thành phần “Version information” trong mã QR 8

- Format information : lưu các thông tin về sửa lỗi, mask pattern

Hình 7 Vị trí thành phần “Format information” trong mã QR 8

- Data and error correction key : lưu trữ dữ liệu ( chế độ, độ dài thông điệp, nội dung thông điệp) và thông tin sửa lỗi

Hình 8 Vị trí thành phần “Data and error correction key” trong mã QR 8

- Quiet zone: giúp phân biệt mã với môi trường xung quanh

Hình 9 Vị trí thành phần “Quiet zone” trong mã QR 8 Cách thức hoạt động:

Dựa vào các thành phần định vị, máy quét định dạng hình dáng và vị trí nội dung có thể quét để thu được mã Bắt đầu phân tích mã bằng cách đọc từ vị trí góc dưới bên phải, theo đường zig-zag bao gồm các thông tin lần lượt là : kiểu dữ liệu, độ dài thông điệp, nội dung thông điệp và thông tin sửa lỗi

Ngày đăng: 20/06/2023, 20:39

w