BỘ GIÁO DỤC VÀ ĐÀO TẠO
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT
THÀNH PHỐ HỒ CHÍ MINH
ĐỒ ÁN TỐT NGHIỆP
NGÀNH CƠNG NGHỆ PHẦN MỀM
TÌM HIỂU CHATBOT & PUSH NOTIFICATION VÀ
XÂY DỰNG ỨNG DỤNG TÍCH HỢP VÀO
WEBSITE BÁN HÀNG
GVHD: TRƯƠNG THỊ NGỌC PHƯỢNG
SVTH: TRẦN VĂN TRÍ
MSSV: 15110341
SVTH: PHẠM VĂN TỚI
MSSV: 15110337
SKL 0 0 5 8 7 1
Tp. Hồ Chí Minh, tháng /2019
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
----------
TRẦN VĂN TRÍ – 15110341
PHẠM VĂN TỚI – 15110337
Đề Tài:
TÌM HIỂU CHATBOT & PUSH
NOTIFICATION VÀ XÂY DỰNG ỨNG
DỤNG TÍCH HỢP VÀO WEBSITE BÁN
HÀNG
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN
THS. TRƯƠNG THỊ NGỌC PHƯỢNG
KHÓA 2015 - 2019
TRƯỜNG ĐẠI HỌC SƯ PHẠM KỸ THUẬT TP. HỒ CHÍ MINH
KHOA CÔNG NGHỆ THÔNG TIN
BỘ MÔN CÔNG NGHỆ PHẦN MỀM
----------
TRẦN VĂN TRÍ – 15110341
PHẠM VĂN TỚI – 15110337
Đề Tài:
TÌM HIỂU CHATBOT & PUSH
NOTIFICATION VÀ XÂY DỰNG ỨNG
DỤNG TÍCH HỢP VÀO WEBSITE BÁN
HÀNG
KHÓA LUẬN TỐT NGHIỆP KỸ SƯ CNTT
GIÁO VIÊN HƯỚNG DẪN
THS. TRƯƠNG THỊ NGỌC PHƯỢNG
KHÓA 2015 - 2019
ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
*******
XẢ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN HƯỚNG DẪN
Họ và tên Sinh viên 1: Trần Văn Trí
MSSV 1: 15110341
Họ và tên Sinh viên 2: Phạm Văn Tới
MSSV 2: 15110337
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Tìm hiểu ChatBot & Push Notification và xây dựng ứng dụng tích hợp vào
website bán hàng.
Giáo viên hướng dẫn: ThS.Trương Thị Ngọc Phượng
NHẬN XÉT
1.Về nội dung đề tài và khối lượng thực hiện:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
2. Ưu điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3. Khuyết điểm
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
4. Đề nghị cho bảo vệ hay không ?
5. Đánh giá loại :
6. Điểm :
Tp. Hồ Chí Minh, ngày tháng năm 2019
Giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
*******
XẢ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
PHIẾU NHẬN XÉT CỦA GIÁO VIÊN PHẢN BIỆN
Họ và tên Sinh viên 1: Trần Văn Trí
MSSV 1: 15110341
Họ và tên Sinh viên 2: Phạm Văn Tới
MSSV 2: 15110337
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Tìm hiểu ChatBot & Push Notification và xây dựng ứng dụng tích hợp vào
website bán hàng.
Giáo viên phản biện:
NHẬN XÉT
1.Về nội dung đề tài và khối lượng thực hiện:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
2. Ưu điểm:
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
3. Khuyết điểm
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
...........................................................................................................................................
4. Đề nghị cho bảo vệ hay không ?
5. Đánh giá loại :
6. Điểm :
Tp. Hồ Chí Minh, ngày tháng năm 2019
Giáo viên phản biện
(Ký & ghi rõ họ tên)
LỜI CẢM ƠN
Lời đầu tiên, người thực hiện xin gửi lời cảm ơn chân thành và sự tri ân sâu sắc
đối với các thầy cô của trường Đại học sư phạm kỹ thuật TPHCM, đặc biệt là các thầy
cô khoa công nghệ thông tin của trường. Và em cũng xin chân thành cám ơn cô Trương
Thị Ngọc Phượng đã nhiệt tình hướng dẫn, giúp đỡ người thực hiện hồn thành tốt mơn
học này.
Trong q trình học tập, cũng như là trong q trình làm bài báo cáo, khó tránh
khỏi sai sót, rất mong các thầy, cơ bỏ qua. Đồng thời do trình độ lý luận cũng như kinh
nghiệm thực tiễn cịn hạn chế nên bài báo cáo khơng thể tránh khỏi những thiếu sót, em
rất mong nhận được ý kiến đóng góp thầy, cơ để em học thêm được nhiều kinh nghiệm
và sẽ hoàn thành tốt hơn những bài báo cáo sắp tới. Người thực hiện xin chân thành cảm
ơn các quý thầy, cô!
ĐH SƯ PHẠM KỸ THUẬT TP.HCM
KHOA CNTT
*******
XẢ HỘI CHỦ NGHĨA VIỆT NAM
Độc lập – Tự do – Hạnh phúc
*******
ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP
Họ và tên Sinh viên 1: Trần Văn Trí
MSSV 1: 15110341
Họ và tên Sinh viên 2: Phạm Văn Tới
MSSV 2: 15110337
Thời gian làm luận văn : Từ : 07/03/2019
Đến : 16/07/2019
Chuyên ngành: Công nghệ phần mềm
Tên đề tài: Tìm hiểu ChatBot & Push Notification và xây dựng ứng dụng tích hợp vào
website bán hàng.
Giáo viên hướng dẫn: ThS.Trương Thị Ngọc Phượng
Nhiệm Vụ Của Tiểu Luận:
1. Tìm hiểu lý thuyết về ChatBot, Push Notification, Laravel Framework
2. Xác định yêu cầu ChatBot, Push Notification, website bán hàng thời trang
3. Mơ hình hóa u cầu, thiết kế cơ sở dữ liệu
4. Thiết kế giao diện
5. Viết code xử lý
6. Kiểm thử, sửa lổi
7. Viết báo cáo
Để cương viết luận văn:
MỤC LỤC
1. Phần MỞ ĐẦU
1.1. Tính cấp thiết của đề tài
1.2. Mục tiêu của đề tài
1.3. Đối tượng và phạm vi tìm hiểu
2. Phần NỘI DUNG
1. Chương 1: Tổng quan về chatbot
1.1. Tổng quan về chatbot
1.2. Tìm hiểu về botman để tạo chatbot
1.3. Cài đặt
2. Chương 2: Push notification
2.1.Ppush notification là gì?
2.2. Tìm hiểu về socket io để tạo push notification
3. Chương 3: Laravel Framework
3.1. Giới thiệu về php laravel framework
3.2. Các thành phần cơ bản
3.3. Cài đặt
4. Chương 4: Khảo sát hiện trạng
4.1. Khảo sát chatbot
4.2. Khảo sát các trang web bán hàng thời trang online
5. Chương 5: Tiếp nhận yêu cầu
5.1. Yêu cầu chức năng
5.2. Yêu cầu phi chức năng
5.3. Phân tích u cầu
6. Chương 6: Mơ hình hóa u cầu và thiết kế csdl
6.1. Lược đồ usecase diagram
6.2. Mơ hình hóa yêu cầu
6.3. Thiết kế cơ sở dữ liệu
6.4. Lược đồ erd
7. Chương 7: Thiết kế giao diện và xử lý
7.1. Giao diện chatbot
7.2. Giao diện trang chủ
7.3. Giao diện trang tất cả sản phẩm theo danh mục nhóm sản phẩm
7.4. Giao diện trang chi tiết sản phẩm
7.5. Giao diện trang đăng nhập khách hàng
7.6. Giao diện trang đăng nhập bằng google
7.7. Giao diện trang đăng ký người dùng
7.8. Giao diện trang giỏ hàng
7.9. Giao diện modal giỏ hàng
7.10.
Giao diện trang quản lý nhóm danh mục
7.11.
Giao diên quản lý danh mục
7.12.
Giao diện quản lý khuyến mãi
7.13.
Giao diện quản lý size sản phảm
7.14.
Giao diện quản lý sản phẩm
7.15.
Giao diện quản lý tài khoản khách hàng
7.16.
Giao diện quản lý hóa đơn
8. Chương 8: Ứng dụng chatbot và push notification vào website
8.1. Chatbot
8.2. Push notification
9. Chương 9: Kiểm thử phần mềm test case
9.1. Kiểm thử cho các màn hình
3. Phần KẾT LUẬN
Tài liệu tham khảo
[1] />[2] />[3] />[4] />[5] />[6] />[7] />[8] BotMan – From Zero to Chatbot
[9] />KẾ HOẠCH THỰC HIỆN
STT
Thời gian
1
07/03/2019 đến 28/03/2019
Cơng việc
Tìm hiểu lý thuyết Laravel
Framework, ChatBot, Push
notification
2
29/03/2019 đến 04/04/2019
Xác định yêu cầu bán hàng thời
trang:
- Yêu cầu chức năng.
Ghi chú
- u cầu phi chức năng.
3
05/04/2019 đến 28/04/2019
Mơ hình hóa yêu cầu, thiết kế cơ sở
dữ liệu:
- Lược đồ UseCase.
- Sơ đồ Sequence.
- Thiết kế database.
4
29/04/2019đến 20/05/2019
Thiết kế giao diện.
5
22/05/2018 đến 26/06/2019
Viết code xử lý.
6
27/06/2019 đến 30/06/2019
Kiểm thử, sửa lổi.
7
01/07/2019 đến 14/07/2019
Viết báo cáo.
Ý kiến giáo viên hướng dẫn
(Ký & ghi rõ họ tên)
Tp. Hồ Chí Minh, ngày tháng năm 2019
Người viết đề cương
(Ký & ghi rõ họ tên)
MỤC LỤC
LỜI CẢM ƠN ...................................................................................................................... 5
ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP ........................................................................... 6
MỤC LỤC .......................................................................................................................... 10
DANH SÁCH HÌNH ẢNH................................................................................................... 6
DANH SÁCH BẢNG BIỂU ................................................................................................. 9
PHẦN 1: MỞ ĐẦU ............................................................................................................ 11
1.
2.
3.
TÍNH CẤP THIẾT CỦA ĐỀ TÀI........................................................................... 11
MỤC TIÊU CỦA ĐỀ TÀI ....................................................................................... 11
ĐỐI TƯỢNG VÀ PHẠM VI TÌM HIỂU ............................................................... 11
PHẦN 2: NỘI DUNG ......................................................................................................... 12
CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT................................................................. 12
1.1. TỔNG QUAN VỀ CHATBOT ........................................................................... 12
1.1.1. Khái niệm chatbot ....................................................................................... 12
1.1.2. Phân loại chatbot phổ biến hiện nay .......................................................... 12
1.1.2.1. Simple Chatbot ...................................................................................... 12
1.1.2.2. Smart ChatBot....................................................................................... 12
1.1.3. Cơ chế vận hành.......................................................................................... 13
1.1.4. Ưu điểm ....................................................................................................... 13
1.2. TÌM HIỂU VỀ BOTMAN ĐỂ TẠO CHATBOT .............................................. 14
1.2.1. BotMan là gì? .............................................................................................. 14
1.2.2. BotMan web wedget .................................................................................... 14
1.2.3. Các khái niệm cơ bản.................................................................................. 15
1.2.3.1. Lắng nghe các tin nhắn ......................................................................... 15
1.2.3.2. Phản hồi tin nhắn .................................................................................. 17
1.2.3.3. Nhắn tin hội thoại ................................................................................. 18
1.2.3.4. Lưu trữ thông tin người dùng ................................................................ 21
1.3. CÀI ĐẶT ............................................................................................................. 22
CHƯƠNG 2: PUSH NOTIFICATION .......................................................................... 22
2.1. PUSH NOTIFICATION LÀ GÌ? ....................................................................... 22
2.2. TÌM HIỂU VỀ SOCKET IO ĐỂ TẠO PUSH NOTIFICATION ..................... 22
2.2.1. Socket io ...................................................................................................... 22
2.2.2. Cài đặt server .............................................................................................. 22
2.2.3. Cài đặt javascript client .............................................................................. 22
2.2.4. Sử dụng với máy chủ node http .................................................................. 23
2.2.4.1. Server (app.js) ....................................................................................... 23
2.2.4.2. Client (index.html) ................................................................................ 24
2.2.5. Sử dụng với express .................................................................................... 24
2.2.5.1. Server (app.js) ....................................................................................... 24
2.2.5.2. Client (index.html) ................................................................................ 24
CHƯƠNG 3: LARAVEL FRAMEWORK .................................................................... 25
3.1. GIỚI THIỆU VỀ PHP LARAVEL FRAMEWORK ........................................ 25
3.2. CÁC THÀNH PHẦN CƠ BẢN .......................................................................... 26
3.2.1. Laravel controller ....................................................................................... 26
3.2.2. Laravel model ............................................................................................. 26
3.2.3. Laravel view ................................................................................................ 26
3.2.4. Route trong laravel ..................................................................................... 29
3.3. CÀI ĐẶT ............................................................................................................. 29
CHƯƠNG 4: KHẢO SÁT HIỆN TRẠNG ..................................................................... 30
4.1. KHẢO SÁT CHATBOT..................................................................................... 30
4.1.1. Chatbot của facebook ................................................................................. 30
4.1.2. Chatbot của FAZ ........................................................................................ 32
4.1.3. Chatbot của NHAKHOAKIM .................................................................... 32
4.2. KHẢO SÁT CÁC TRANG WEB BÁN HÀNG THỜI TRANG ONLINE ....... 33
4.2.1. Website yame .............................................................................................. 33
4.2.2. Website tiki .................................................................................................. 34
4.2.3. Website lazada ............................................................................................. 34
CHƯƠNG 5: TIẾP NHẬN YÊU CẦU ........................................................................... 36
5.1. YÊU CẦU CHỨC NĂNG................................................................................... 36
5.2. YÊU CẦU PHI CHỨC NĂNG ........................................................................... 37
5.3. PHÂN TÍCH YÊU CẦU ..................................................................................... 37
CHƯƠNG 6: MƠ HÌNH HĨA U CẦU VÀ THIẾT KẾ CSDL ................................ 39
6.1. LƯỢC ĐỒ USECASE DIAGRAM .................................................................... 39
6.2. MƠ HÌNH HÓA YÊU CẦU ............................................................................... 40
6.3. THIẾT KẾ CƠ SỞ DỮ LIỆU ............................................................................ 51
6.3.1. dbo.user_chatbot ......................................................................................... 51
6.3.2. dbo.chatbot .................................................................................................. 51
6.3.3. dbo.category_group .................................................................................... 52
6.3.4. dbo.category_product ................................................................................. 52
6.3.5. dbo.promotion ............................................................................................. 53
6.3.6. dbo.size ........................................................................................................ 54
6.3.7. dbo.product_size ......................................................................................... 54
6.3.8. dbo.product ................................................................................................. 55
6.3.9. dbo.shoppingcart ........................................................................................ 56
6.3.10. dbo.users...................................................................................................... 57
6.3.11. dbo.bill ......................................................................................................... 58
6.3.12. dbo.bill_detail .............................................................................................. 59
6.3.13. dbo.slide....................................................................................................... 60
6.3.14. dbo.admins .................................................................................................. 61
6.3.15. dbo.password_resets ................................................................................... 63
6.4. LƯỢC ĐỒ ERD .................................................................................................. 63
CHƯƠNG 7: THIẾT KẾ GIAO DIỆN VÀ XỬ LÝ ....................................................... 64
7.1. GIAO DIỆN CHATBOT .................................................................................... 64
7.2. GIAO DIỆN TRANG CHỦ ................................................................................ 64
7.3. GIAO DIỆN TRANG TẤT CẢ SẢN PHẨM THEO DANH MỤC NHÓM SẢN
PHẨM. ........................................................................................................................ 66
7.4. GIAO DIỆN TRANG CHI TIẾT SẢN PHẨM ................................................. 67
7.5. GIAO DIỆN TRANG ĐĂNG NHẬP KHÁCH HÀNG ..................................... 68
7.6. GIAO DIỆN TRANG ĐĂNG NHẬP BẰNG GOOGLE ................................... 69
7.7. GIAO DIỆN TRANG ĐĂNG KÝ NGƯỜI DÙNG ............................................ 70
7.8. GIAO DIỆN TRANG GIỎ HÀNG .................................................................... 70
7.9. GIAO DIỆN MODAL GIỎ HÀNG ................................................................... 71
7.10. GIAO DIỆN TRANG QUẢN LÝ NHÓM DANH MỤC ............................... 72
7.11. GIAO DIÊN QUẢN LÝ DANH MỤC ........................................................... 74
7.12. GIAO DIỆN QUẢN LÝ KHUYẾN MÃI ....................................................... 76
7.13. GIAO DIỆN QUẢN LÝ SIZE SẢN PHẢM................................................... 78
7.14. GIAO DIỆN QUẢN LÝ SẢN PHẨM ............................................................ 80
7.15. GIAO DIỆN QUẢN LÝ TÀI KHOẢN KHÁCH HÀNG .............................. 82
7.16. GIAO DIỆN QUẢN LÝ HÓA ĐƠN .............................................................. 84
CHƯƠNG 8: ỨNG DỤNG CHATBOT VÀ PUSH NOTIFICATION VÀO WEBSITE
........................................................................................................................................ 86
8.1. CHATBOT .......................................................................................................... 86
8.1.1. Nhóm kịch bản đơn giản............................................................................. 86
8.1.2. Nhóm kịch bản sử dụng dialogflow ............................................................ 89
8.2. PUSH NOTIFICATION ..................................................................................... 91
8.2.1. Gửi mail khi đặt hàng. ................................................................................ 91
8.2.2. Thông báo cho quản trị biết có người đặt hàng. ........................................ 91
8.2.3. Thơng báo khi có khuyển mãi mới. ............................................................ 93
CHƯƠNG 9: KIỂM THỬ PHẦN MỀM TEST CASE .................................................. 96
9.1. KIỂM THỬ CHO CÁC MÀN HÌNH ................................................................ 96
9.1.1. Test case cho màn hình Chatbot................................................................. 96
9.1.2. Test case cho màn hình đăng nhập............................................................. 96
9.1.3. Test case cho màn hình mua sản phẩm ...................................................... 97
9.1.4. Test case cho màn hình gửi mail xác nhận đặt hàng ................................. 97
9.1.5. Test case cho màn hình thơng báo cho quản trị khi có người đặt hàng .... 97
9.1.6. Test case cho màn hình thơng báo khuyến mãi mới .................................. 98
PHẦN 3: KẾT LUẬN ........................................................................................................ 99
1.
2.
3.
4.
5.
NHỮNG KẾT QUẢ ĐẠT ĐƯỢC ........................................................................... 99
NHỮNG KHÓ KHĂN KHI THỰC HIỆN ĐỀ TÀI ............................................... 99
ƯU ĐIỂM ................................................................................................................ 99
NHƯỢC ĐIỂM ....................................................................................................... 99
HƯỚNG PHÁT TRIỂN.......................................................................................... 99
TÀI LIỆU THAM KHẢO ............................................................................................... 101
DANH SÁCH HÌNH ẢNH
Hình 1. Script code BotMan wedget. ..............................................................................................14
Hình 2. Ví dụ BotMan khơng hiểu câu hỏi. ....................................................................................15
Hình 3. BotMan trả lời câu hỏi. ......................................................................................................16
Hình 4. Sử dụng hàm để quản lý trong BotMan ............................................................................16
Hình 5. Code Lấy thơng tin khách hàng thơng qua ChatBot ........................................................17
Hình 6. Hiển thị thơng tin khách hàng sau khi lấy thơng tin .........................................................17
Hình 7. Lọc từ khóa ........................................................................................................................17
Hình 8. Đoạn code lắng nghe sự kiện và trả lời lại. .......................................................................18
Hình 9. BotMan sử dụng Conversation ..........................................................................................18
Hình 10. Class OnboardingConversation .......................................................................................19
Hình 11. Conversation lồng nhau ...................................................................................................19
Hình 12. Thêm các button để người dùng lựa chọn .......................................................................20
Hình 13. Dừng Conversation .........................................................................................................21
Hình 14. Lưu thơng tin người dùng vào userStorage.....................................................................21
Hình 15. Lấy dữ liệu đã lưu ............................................................................................................21
Hình 16. Xóa dữ liệu đã lưu ............................................................................................................22
Hình 17. Sự quan tâm theo thời gian của các PHP Framework ....................................................25
Hình 34.Hiển thị View với đối số ....................................................................................................28
Hình 35.Kiểm tra view có tồn tại hay khơng ..................................................................................28
Hình 36.Cài đặt project laravel bước 2 ..........................................................................................29
Hình 38. Trang web developer facebook ........................................................................................30
Hình 39. Tạo tài khoản cho ứng dụng ............................................................................................30
Hình 40. Tạo ChatBot facebook .....................................................................................................31
Hình 41. Tạo ChatBot facebook .....................................................................................................31
Hình 43. Chatbot của website Faz ..................................................................................................32
Hình 44. Chatbot của website NHAKHOAKIM ............................................................................32
Hình 45.Kháo sát website Yame .....................................................................................................33
Hình 46.Khảo sát website Tiki ........................................................................................................34
Hình 47.Khảo sát website Lazada ..................................................................................................34
Hình 48.Lược đồ usecase diagram..................................................................................................39
Hình 49. Lược đồ tuần tự chatbot ..................................................................................................40
Hình 50. Lược đồ tuần tự quản lý ngân hàng câu hỏi....................................................................41
Hình 51.Lược đồ tuần tự đăng ký ..................................................................................................42
Hình 52.Lược đồ tuần tự đăng xuất ...............................................................................................42
Hình 53.Lược đồ tuần tự đăng nhập ..............................................................................................42
Hình 54.Lược đồ tuần tự mua hàng ...............................................................................................43
Hình 55.Lược đồ tuần tự quên mật khẩu Admin ...........................................................................43
6
Hình 56.Lược đồ tuần tự thêm sản phẩm vào giỏ hàng .................................................................43
Hình 57.Lược đồ tuần tự xem chi tiết sản phẩm ............................................................................44
Hình 58.Lược đồ tuần tự xem danh mục sản phẩm .......................................................................44
Hình 59.Lược đồ tuần tự xem giỏ hàng ..........................................................................................44
Hình 60.Lược đồ tuần tự tìm kiếm .................................................................................................45
Hình 61.Lược đồ tuần tự quản lý nhóm danh mục ........................................................................45
Hình 62.Lược đồ tuần tự quản lý danh mục ..................................................................................46
Hình 63.Lược đồ tuần tự quản lý khuyến mãi ...............................................................................47
Hình 64.Lược đồ tuần tự quản lý size sản phẩm ............................................................................48
Hình 65.Lược đồ tuần tự quản lý sản phẩm...................................................................................49
Hình 66.Lược đồ tuần tự quản lý tài khoản khách hàng ...............................................................50
Hình 67.Lược đồ tuần tự quản lý hóa đơn .....................................................................................50
Hình 68.Lược đồ ERD ....................................................................................................................63
Hình 69. Giao diện ChatBot............................................................................................................64
Hình 70.Giao diện trang chủ 1 ........................................................................................................64
Hình 71.Giao diện trang chủ 2 ........................................................................................................65
Hình 72.Giao diện trang chủ 3 ........................................................................................................65
Hình 73.Giao diện tất cả sản phẩm theo danh mục nhóm sản phẩm ............................................66
Hình 74.Giao diện chi tiết sản phẩm ..............................................................................................67
Hình 75.Giao diện comment sản phẩm ..........................................................................................67
Hình 76.Giao diện mơ tả sản phẩm ................................................................................................68
Hình 77.Giao diện đăng nhập khách hàng .....................................................................................68
Hình 78.Giao diện đăng nhập bằng Google....................................................................................69
Hình 79.Giao diện đăng ký .............................................................................................................70
Hình 80.Giao diện trang giỏ hàng...................................................................................................70
Hình 81.Giao diện modal giỏ hàng .................................................................................................71
Hình 82.Giao diện quản lý nhóm danh mục...................................................................................72
Hình 83.Giao diện thêm nhóm danh mục.......................................................................................73
Hình 84.Giao diện sửa nhóm danh mục .........................................................................................73
Hình 85.Giao diện quản lý danh mục .............................................................................................74
Hình 86.Giao diện thêm danh mục .................................................................................................74
Hình 87.Giao diện sửa danh mục ...................................................................................................75
Hình 88.Giao diện quản lý khuyến mãi ..........................................................................................76
Hình 89.Giao diện thêm khuyến mãi ..............................................................................................76
Hình 90.Giao diện sửa khuyến mãi ................................................................................................77
Hình 91.Giao diện quản lý size sản phẩm ......................................................................................78
Hình 92.Giao diện thêm size sản phẩm ..........................................................................................79
Hình 93.Giao diện sửa size sản phẩm .............................................................................................79
7
Hình 94.Giao diện quản lý sản phẩm .............................................................................................80
Hình 95.Giao diện thêm sản phẩm .................................................................................................80
Hình 96.Giao diện sửa sản phẩm ....................................................................................................81
Hình 97.Giao diện quản lý tài khoản khách hàng ..........................................................................82
Hình 98.Giao diện thêm tài khoản khách hàng ..............................................................................83
Hình 99.Giao diện sửa tài khoản khách hàng ................................................................................84
Hình 100.Giao diện quản lý hóa đơn ..............................................................................................84
Hình 101.Giao diện sửa hóa đơn ....................................................................................................85
Hình 102. Tạo tài khoản Dialogflow ...............................................................................................89
Hình 103. Tạo Intent trong dialogflow ...........................................................................................90
Hình 104. Mail xác nhận đơn hàng.................................................................................................91
Hình 105. Thơng báo khi có khuyến mãi mới ................................................................................95
8
DANH SÁCH BẢNG BIỂU
Bảng 1.Yêu cầu phi chức năng .......................................................................................................37
Bảng 2.Phân tích yêu cầu ................................................................................................................37
Bảng 3.dbo.user_chatbot ................................................................................................................51
Bảng 4.dbo.chatbot .........................................................................................................................51
Bảng 5.dbo. category_group ...........................................................................................................52
Bảng 6.dbo. category_product ........................................................................................................52
Bảng 7.dbo. promotion ...................................................................................................................53
Bảng 8.dbo. size ...............................................................................................................................54
Bảng 9.dbo. product_size ................................................................................................................54
Bảng 10.dbo. product ......................................................................................................................55
Bảng 11.dbo. shoppingcart .............................................................................................................56
Bảng 12.dbo. users ..........................................................................................................................57
Bảng 13.dbo. users ..........................................................................................................................58
Bảng 14.dbo. bill_detail ..................................................................................................................59
Bảng 15.dbo. slide ...........................................................................................................................60
Bảng 16.dbo. admins .......................................................................................................................61
Bảng 17.dbo.password_resets .........................................................................................................63
Bảng 18.Xử lý giao diện quản lý hóa đơn .......................................................................................64
Bảng 19. Xử lý giao diện trang chủ 1..............................................................................................64
Bảng 20.Xử lý giao diện trang chủ 2...............................................................................................65
Bảng 21.Xử lý giao diện trang chủ 3...............................................................................................66
Bảng 22.Xử lý giao diện tất cả sản phẩm theo danh mục nhóm sản phẩm ...................................66
Bảng 23.Xử lý giao diện chi tiết sản phẩm .....................................................................................67
Bảng 24.Xử lý giao diện comment sản phẩm .................................................................................68
Bảng 25.Xử lý giao diện mô tả sản phẩm .......................................................................................68
Bảng 26.Xử lý giao diện đăng nhập khách hàng ............................................................................68
Bảng 27.Xử lý giao diện đăng nhập bằng Google ..........................................................................69
Bảng 28.Xử lý giao diện đăng ký ....................................................................................................70
Bảng 29.Xử lý giao diện trang giỏ hàng .........................................................................................71
Bảng 30.Xử lý giao diện modal giỏ hàng ........................................................................................72
Bảng 31.Xử lý giao diện quản lý nhóm danh mục..........................................................................72
Bảng 32.Xử lý giao diện thêm nhóm danh mục .............................................................................73
Bảng 33.Xử lý giao diện sửa nhóm danh mục ................................................................................73
Bảng 34.Xử lý giao diện quản lý danh mục ....................................................................................74
Bảng 35.Xử lý giao diện thêm danh mục ........................................................................................75
Bảng 36.Xử lý giao diện sửa danh mục ..........................................................................................75
Bảng 37.Xử lý giao diện quản lý khuyến mãi .................................................................................76
9
Bảng 38.Xử lý giao diện thêm khuyến mãi .....................................................................................77
Bảng 39.Xử lý giao diện sửa khuyến mãi .......................................................................................77
Bảng 40.Xử lý giao diện quản lý size sản phẩm .............................................................................78
Bảng 41.Xử lý giao diện thêm size sản phẩm .................................................................................79
Bảng 42.Xử lý giao diện sửa size sản phẩm ....................................................................................79
Bảng 43.Xử lý giao diện quản lý sản phẩm ....................................................................................80
Bảng 44.Xử lý giao diện thêm sản phẩm ........................................................................................81
Bảng 45.Xử lý giao diện sửa sản phẩm ...........................................................................................81
Bảng 46.Xử lý giao diện quản lý tài khoản khách hàng .................................................................82
Bảng 47.Xử lý giao diện thêm tài khoản khách hàng .....................................................................83
Bảng 48.Xử lý giao diện sửa tài khoản khách hàng .......................................................................84
Bảng 49.Xử lý giao diện quản lý hóa đơn .......................................................................................85
Bảng 50.Xử lý giao diện sửa hóa đơn .............................................................................................85
Bảng 51.Test case cho phần mềm ...................................................................................................96
Bảng 52. Test case màn hình ChatBot ............................................................................................96
Bảng 53. Test case cho màn hình đăng nhập ..................................................................................96
Bảng 54. Test case cho màn hình mua sản phẩm ...........................................................................97
Bảng 55. Test case cho màn hình gửi mail xác nhận đặt hàng.......................................................97
Bảng 56. Test case cho màn hình thơng báo khuyến mãi mới .......................................................98
10
PHẦN 1: MỞ ĐẦU
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI
Trong những năm gần đây, cuộc sống con người càng ngày càng được nâng cao
cả về chất và lượng. Cùng với đó là sự phát triển của Internet và các cuộc cách mạng
công nghiệp, sự sáng tạo, đổi mới ngày càng được chú trọng. Mặc dù mới mẻ trong lĩnh
vực khoa học và công nghệ nhưng chatbot đang được nghiên cứu và phát triển rất mạnh
mẽ. Chatbot là một hình thức thơ sơ của phần mềm trí tuệ nhân tạo, là một chương trình
được tạo ra từ máy tính tiến hành cuộc trị chuyện thơng qua các phương pháp nhập văn
bản có thể trả lời các câu hỏi và xử lý các tình huống theo hướng kịch bản hoặc phi kịch
bản. Có rất nhiều cơng cụ cũng như thư viện hỗ trợ cho chatbot như: Dialog Flow,
Wit.ai, Google home, Amazone Lex,…
Đề tài “Tìm hiểu chatbot & push notification và xây dựng ứng dụng tích hợp vào
website bán hàng” được xây dựng dựa trên ngôn ngữ PHP và NodeJS, trả lời tự động và
thực hiện yêu cầu của người sử dụng tùy chỉnh theo ý của người quản trị website, giúp
tăng sự tương tác giữa người quản trị và người dùng website.
2. MỤC TIÊU CỦA ĐỀ TÀI
-
Tìm hiểu về Chatbot, push notification, Laravel Framework.
-
Xây dựng website demo.
3. ĐỐI TƯỢNG VÀ PHẠM VI TÌM HIỂU
-
Các cơng cụ lập trình ngơn ngữ PHP.
-
Laravel Framework, socket IO, BotMan, ngôn ngữ thiết kế giao diện và xây dựng
website: Ajax, JavaScript, Bootstrap, HTML, CSS.
-
Nghiên cứu các chức năng của ChatBot, pushnotification, website bán hàng thời
trang.
11
PHẦN 2: NỘI DUNG
CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT
1.1.
TỔNG QUAN VỀ CHATBOT
WhatsApp, Skype, Viber, Facebook đề là những ứng dụng được sử dụng nhiều
nhất hiện nay. Riêng Facebook Messenger có hơn 1,2 tỷ người dùng hàng tháng, Vì vậy
kéo theo đó nhu cầu tương tác tăng cao hơn bao giờ hết.
Để giải quyết vấn đề này, Chatbox đã được tạo ra để mô phỏng như con người,
giúp hỗ trợ người dùng tương tác một cách nhanh chóng và tiện lợi nhất.
Tại Việt Nam, chatbot được ứng dụng chủ yếu trong các hoạt động về thu thập
thơng tin, chăm sóc khách hàng một cách tự động.
1.1.1. Khái niệm chatbot
Chatbox là hộp chat tự động được cài vào Website và hiện lên chào hỏi khi khách
hàng truy cập vào trang. Giống như một nhân viên lễ tân, chatbox giúp đón khách và
ghi nhận những thông tin của khách hàng.
1.1.2. Phân loại chatbot phổ biến hiện nay
Tùy thuộc vào những chương trình cụ thể, có thể chia chatbox làm 2 loại chính:
Thực hiện công việc theo lệnh đã được thiết lập (simple chatbox), thực hiện công việc
bằng cách đào tạo (Smart chatbox).
1.1.2.1.
Simple Chatbot
Hiểu đơn giản là simple chatbox hoạt động dựa trên từ khóa được lập trình sẵn.
mỗi lệnh được nhà phát triển sử dụng những từ thông dụng. Nếu người dùng đặt câu hỏi
khơng có chứa từ khóa, bot sẽ khơng thể hiểu được và chúng sẽ phản hồi bằng thông
điệp như: “Xin lỗi, tơi khơng hiểu”. Ví dụ: Chatbot facebook.
1.1.2.2.
Smart ChatBot
Smart chatbox hoạt động dựa trên trí tuệ nhân tạo khi giao tiếp với người dùng.
Thay vì sử dụng câu trả lời được chuẩn bị sẵn thì robot có thể phản hồi nhiều dạng câu
trả lời khác nhau trên nhiều lĩnh vực, chủ đề. Ngồi ra, những gì khách hàng nói sẽ được
lưu lại làm dữ liệu. Ví dụ: Siri, Cortana…
Mặt khác, khi phân loại theo cách Chatbot tương tác với người dùng thì có:
Chatbot Âm Thanh (Audiotory): Sử dụng hình thức giao tiếp bằng âm thanh. Một
số cái tên có thể kể tới như: Google Assistant, Siri, Cortana…
12
Chatbot Văn Bản (Textual): Tương tác với đối tượng bằng văn bản. Ví dụ như
chatfuel, manychat, simsimi…
1.1.3. Cơ chế vận hành
Về cơ bản, để chatbot tương tác tự nhiên nhất với người dùng thì lập trình viên
cần thiết lập 3 thông số cơ bản sau:
-
Phiên dịch yêu cầu: Đây là phần quyết định mức độ “thông minh” của chatbot.
Tùy theo thơng số đầu vào chatbot là gì mà cần tới hệ thống “translate” đặc thù
để máy có thể hiểu được. Một khi hiểu đúng yêu cầu của người dùng thì các phần
xử lý sau mới có thể đưa ra kết quả chính xác nhất.
-
Xử lý yêu cầu: Sau khi tiếp nhận yêu cầu thì chatbot sẽ xử lý dữ liệu dựa trên hệ
thống thư viện của mình. Hệ thống thư viện càng chi tiết thì thơng tin mang lại
cho người dùng càng hữu ích.
-
Phản hồi tới người dùng: Bước cuối cùng của 1 quy trình Chatbot đó là hồi đáp
người dùng.
1.1.4. Ưu điểm
-
Tiết kiệm thời gian và công sức: Chatbox sẽ giúp tiết kiệm thời gian, công sức
bằng cách hỗ trợ người dùng một cách hồn tồn tự động.
-
Chăm sóc khách hàng 24/7: khi bạn và nhân viên đi ngủ hết thì chatbox vẫn
hoạt động và tư vấn khách hàng tự động. Một nhân viên ln ln chăm chỉ,
khơng địi hỏi. Là một phần thiết yếu trong chiến lược tiếp thị của mỗi doanh
nghiệp, tuy nhiên để chăm sóc khách hàng tốn rất nhiều thời gian. Để cải thiện
tình trạng đó, Chatbot có thể giúp đỡ người mua từ khi họ bắt đầu đặt chân vào
web cho đến khi họ nhận được đơn hàng của mình.
-
Thu thập và phân tích dữ liệu: Ý thức bảo mật thông tin cá nhân ngày càng
cao. Chính vì vậy để mà lấy được thơng tin của khách hàng là điều khó khăn.
Chẳng hạn như để khách hàng điền thông tin vào phiếu khảo sát cần rất nhiều
thúc đẩy về marketing, khuyến mại, tặng phiếu giảm giá mua hàng,… Tuy nhiên,
với chatbox thì có thể thu thập ý kiến khách hàng bằng cách đặt ra hàng loạt
những câu hỏi trong hội thoại hết sức tự nhiên để lấy thơng tin. Chatbox sẽ tự
động phân tích và đánh giá tồn bộ thơng tin thu thập được giúp có cái nhìn bao
qt nhất về thức khách hàng mong muốn. Từ đó có thể xây dựng được chiến
lược tiếp thị tốt nhất.
13
-
Tăng khả năng tương tác: Chatbox độc đáo và khác những ứng dụng nhắn tin
khác là chúng có khả năng tương tác với khách hàng, lại có thể chủ động kéo dài
cuộc hội thoại. Điều đó có nghĩa khách hàng thấy được kết nối lâu hơn so với
việc sử dụng những hình thức tiếp thị khác. Bởi vì chatbox với khả năng học hỏi
trong q trình tương tác, chúng có thể phát hiện những đặc tính nổi bật của người
dùng liên quan đến thương hiệu và sản phẩm, dịch vụ mà khách hàng quan tâm.
-
Chủ động tương tác với khách hàng: Để tránh tình trạng thụ động xử lý tương
tác khách hàng. Chatbox trong marketing được lập trình để có thể tự động gửi
thơng báo chào mừng ngay khi có người đặt chân vào website, fanpage của bạn.
Sau khi tìm hiểu chatbox là gì và những lý do nên ứng dụng chatbox vào kinh
doanh, Có thể nói ứng dụng nhắn tin đã trở thành điểm đến hàng đầu cho mọi
thương hiệu nhằm tiếp cận người tiêu dùng, bởi vậy không có gì đáng ngạc nhiên
khi Chatbot ngày càng trở nên phổ biến. Bằng việc triển khai Chatbox cho chiến
lược tiếp thị, chắc chắn sẽ dễ dàng hơn trong quá trình tìm hiểu đối tượng mục
tiêu, điều chỉnh nỗ lực tiếp thị đồng thời tiếp cận người tiêu dùng mới và kiếm
tiền từ các kênh bán hàng của bạn.
1.2.
TÌM HIỂU VỀ BOTMAN ĐỂ TẠO CHATBOT
1.2.1. BotMan là gì?
BotMan là 1 framework agnostic của PHP Chatbot và được thiết kế để đơn giản
hóa việc phát triển các chatbot trên nhiều nền tảng messaging khác nhau như Slack,
Telegram,... Agnostic là 1 thuật ngữ dùng để đề cập đến 1 cái gì đó có thể tương tác giữa
nhiều hệ thống khác nhau.
1.2.2. BotMan web wedget
BotMan Web Widget là giao diện chatbot. Có thể sử dụng url online như sau:
<scrip tsrc=' />
Hoặc có thể tải về, sau đó nhúng thư viện này vào trang khung của website và
đặt bên dưới thư viện Jquery như sau:
Hình 1. Script code BotMan wedget.
14
1.2.3. Các khái niệm cơ bản
1.2.3.1.
Lắng nghe các tin nhắn
Mặc định cấu hình Routes trong framework Laravel ở file routes/web.php sẽ quản
lý các đường dẫn của website. Trong Botman, bộ quản lý việc lắng nghe thông báo nằm
trong file routes/botman.php. Bằng cách này botman có thể phân biệt được khác biệt
giữa patterns của URL và messages mà khách hàng gửi cho chatbot.
Admin có thể chỉ định đoạn text (kiểu string) cho chatbot lắng nghe và xử lý.
Botman lắng nghe đoạn văn bản người dùng nhập, thực hiện việc kiểm tra đoạn văn bản
đó trùng khớp dữ liệu trong file botman.php. Nếu trùng khớp, đoạn code thực hiện cấu
trúc lệnh:
$bot->reply(“Answer goes here”);
Nếu đoạn text không trùng khớp với bất cứ đoạn khối mã lắng nghe nào, botman
thực hiện fallback:
Botman trả lời cho đoạn text người dùng nhập ngồi xử lý:
Hình 2. Ví dụ BotMan khơng hiểu câu hỏi.
15
Ví dụ sau, chatbot lắng nghe đoạn tin nhắn “Xin chào” và trả lời “Chào bạn!”:
Hình 3. BotMan trả lời câu hỏi.
Đoạn code được sử dụng cho việc chatbot lắng nghe đoạn text và phản hồi về
người dùng cuối:
Các đoạn dữ liệu người dùng nhập vào có thể phân tách nhau bằng ký tự “|”, ký
tự này giúp botman lọc dữ liệu chỉ cần trùng 1 trong số các dữ liệu phân tách đó, botman
đều có thể xử lý. Ngồi ra, admin có thể tùy chỉnh cho việc Chatbot trả lời bằng đoạn
text hoặc xử lý thơng qua lập trình hàm. Việc sử dụng hàm sẽ giúp admin quản lý việc
trả lời câu hỏi của khách hàng một cách thông minh và tiện lợi hơn:
Hình 4. Sử dụng hàm để quản lý trong BotMan
Tuy nhiên, việc trả lời câu hỏi của khách hàng thông qua đoạn văn bản vẫn chưa
đáp ứng được u cầu vì đơi khi khách hàng cịn cung cấp cả thông tin mà hệ thống cần
xử lý theo thơng tin đó. Ví dụ, khi khách hàng nhập tên, tuổi, số điện thoại, email cho
một chiến dịch marketing nào đó. Hệ thống phải đảm bảo được yêu cầu sẽ lấy được
16
thông tin mà khách hàng nhập và thực hiện việc lưu dữ liệu vào các bảng trong cơ sở dữ
liệu.
Việc lấy thông tin khách hàng nhập, người dùng cuối sẽ có thể nhập một hoặc
nhiều biến thơng qua cặp dấu “{” và “}”. Ví dụ:
Hình 5. Code Lấy thơng tin khách hàng thông qua ChatBot
Kết quả xử lý đoạn văn bản người dùng nhập:
Hình 6. Hiển thị thơng tin khách hàng sau khi lấy thông tin
Tuy nhiên, nếu người dùng nhập nội dung khác với cấu trúc lắng nghe của
Botman, điều này làm cho botman trả về hàm fallback. Để tránh việc gây khó khăn cho
người dùng cuối sử dụng chatbox, người thực hiện đã thực hiện kiểm tra đoạn text đó
trùng khớp 1 phần với hàm lắng nghe của botman. Việc lọc các từ dư thừa được thể hiện
qua các ký tự: “.*” ở nơi cần lọc. Đoạn mã minh họa:
Hình 7. Lọc từ khóa
1.2.3.2.
Phản hồi tin nhắn
Bot gửi phản hồi message để truyền đạt thông tin dựa trên thơng tin nhận vào.
Botman có thể phản hồi messages thơng qua nhiều cách khác nhau:
Đối với message đơn thuần có thể sử dụng hàm:
$bot->reply(“Messages do here”);
17