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
SKL005871
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
*******
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)
*******
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ô!
*******
ĐỀ 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 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
2 29/03/2019 đến
04/04/2019Xác định yêu cầu
bán hàng thời trang:
- Yêu cầu chức năng.
3
05/04/2019 đến 28/04/2019
4
29/04/2019đến 20/05/2019
5
22/05/2018 đến 26/06/2019
6
27/06/2019 đến 30/06/2019
7
01/07/2019 đến 14/07/2019
MỤC LỤC
LỜI CẢM ƠN ......................................................................................................................
ĐỀ CƯƠNG LUẬN VĂN TỐT NGHIỆP ...........................................................................
MỤC LỤC ..........................................................................................................................
DANH SÁCH HÌNH ẢNH...................................................................................................
DANH SÁCH BẢNG BIỂU.................................................................................................
PHẦN 1: MỞ ĐẦU ............................................................................................................
1. TÍNH CẤP THIẾT CỦA ĐỀ TÀI...........................................................................
2. MỤC TIÊU CỦA ĐỀ TÀI.......................................................................................
3. ĐỐI TƯỢNG VÀ PHẠM VI TÌM HIỂU ...............................................................
PHẦN 2: NỘI DUNG.........................................................................................................
CHƯƠNG 1: TỔNG QUAN VỀ CHATBOT.................................................................
1.1.TỔNG QUAN VỀ CHATBOT...........
1.1.1
1.1.2. Phân loại chatbot phổ biến hiện nay ..........................................................
1.1.3. Cơ chế vận hành..........................................................................................
1.1.4
1.2.TÌM HIỂU VỀ BOTMAN ĐỂ TẠO
1.2.1
1.2.2
1.2.3. Các khái niệm cơ bản..................................................................................
1.2.3.1. Lắng nghe các tin nhắn ........
1.2.3.2. Phản hồi tin nhắn .................
1.2.3.3. Nhắn tin hội thoại .................
1.2.3.4. Lưu trữ thông tin người dùng
1.3.CÀI ĐẶT..............................................
CHƯƠNG 2: PUSH NOTIFICATION ..........................................................................
2.1. PUSH NOTIFICATION LÀ GÌ? .......................................................................
2.2.TÌM HIỂU VỀ SOCKET IO ĐỂ TẠ
2.2.1
2.2.2
2.2.3
2.2.4. Sử dụng với máy chủ node http ..................................................................
2.2.5
CHƯƠNG 3: LARAVEL FRAMEWORK....................................................................
3.1.GIỚI THIỆU VỀ PHP LARAVEL FR
3.2.CÁC THÀNH PHẦN CƠ BẢN.........
3.2.1
3.2.2
3.2.3
3.2.4
3.3.
CÀI ĐẶT.....................................................................
CHƯƠNG 4: KHẢO SÁT HIỆN TRẠNG.....................................................................
4.1.
KHẢO SÁT CHATBOT............................................
4.1.1.
Chatbot của facebook
4.1.2.
Chatbot của FAZ .......
4.1.3.
Chatbot của NHAKHO
4.2.
KHẢO SÁT CÁC TRANG WEB BÁN HÀNG TH
4.2.1.
Website yame .............
4.2.2.
Website tiki .................
4.2.3.
Website lazada ............
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............................................
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 U CẦU .....................................
6.3.
THIẾT KẾ CƠ SỞ DỮ LIỆU ..................................
6.3.1. dbo.user_chatbot .........................................................................................
6.3.2.
dbo.chatbot .................
6.3.3. dbo.category_group ....................................................................................
6.3.4. dbo.category_product .................................................................................
6.3.5.
dbo.promotion ............
6.3.6.
dbo.size .......................
6.3.7. dbo.product_size .........................................................................................
6.3.8.
dbo.product ................
6.3.9.
dbo.shoppingcart .......
6.3.10. dbo.users......................................................................................................
6.3.11. dbo.bill .........................................................................................................
6.3.12. dbo.bill_detail ..............................................................................................
6.3.13. dbo.slide .......................................................................................................
6.3.14. dbo.admins ..................................................................................................
6.3.15. dbo.password_resets ...................................................................................
6.4.
LƯỢC ĐỒ ERD.........................................................
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 THE
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À
7.6.
GIAO DIỆN TRANG ĐĂNG NHẬP BẰNG GOO
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............................................................................ 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. ..............................................................................................
Hình 2. Ví dụ BotMan khơng hiểu câu hỏi. ....................................................................................
Hình 3. BotMan trả lời câu hỏi. ......................................................................................................
Hình 4. Sử dụng hàm để quản lý trong BotMan ............................................................................
Hình 5. Code Lấy thơng tin khách hàng thơng qua ChatBot ........................................................
Hình 6. Hiển thị thơng tin khách hàng sau khi lấy thơng tin .........................................................
Hình 7. Lọc từ khóa ........................................................................................................................
Hình 8. Đoạn code lắng nghe sự kiện và trả lời lại. .......................................................................
Hình 9. BotMan sử dụng Conversation ..........................................................................................
Hình 10. Class OnboardingConversation .......................................................................................
Hình 11. Conversation lồng nhau ...................................................................................................
Hình 12. Thêm các button để người dùng lựa chọn .......................................................................
Hình 13. Dừng Conversation .........................................................................................................
Hình 14. Lưu thơng tin người dùng vào userStorage.....................................................................
Hình 15. Lấy dữ liệu đã lưu ............................................................................................................
Hình 16. Xóa dữ liệu đã lưu ............................................................................................................
Hình 17. Sự quan tâm theo thời gian của các PHP Framework ....................................................
Hình 34.Hiển thị View với đối số ....................................................................................................
Hình 35.Kiểm tra view có tồn tại hay khơng ..................................................................................
Hình 36.Cài đặt project laravel bước 2 ..........................................................................................
Hình 38. Trang web developer facebook ........................................................................................
Hình 39. Tạo tài khoản cho ứng dụng ............................................................................................
Hình 40. Tạo ChatBot facebook .....................................................................................................
Hình 41. Tạo ChatBot facebook .....................................................................................................
Hình 43. Chatbot của website Faz ..................................................................................................
Hình 44. Chatbot của website NHAKHOAKIM ............................................................................
Hình 45.Kháo sát website Yame .....................................................................................................
Hình 46.Khảo sát website Tiki ........................................................................................................
Hình 47.Khảo sát website Lazada ..................................................................................................
Hình 48.Lược đồ usecase diagram ..................................................................................................
Hình 49. Lược đồ tuần tự chatbot ..................................................................................................
Hình 50. Lược đồ tuần tự quản lý ngân hàng câu hỏi ....................................................................
Hình 51.Lược đồ tuần tự đăng ký ..................................................................................................
Hình 52.Lược đồ tuần tự đăng xuất ...............................................................................................
Hình 53.Lược đồ tuần tự đăng nhập ..............................................................................................
Hình 54.Lược đồ tuần tự mua hàng ...............................................................................................
Hình 55.Lược đồ tuần tự quên mật khẩu Admin ...........................................................................
6
Hình 56.Lược đồ tuần tự thêm sản phẩm vào giỏ hàng .................................................................
Hình 57.Lược đồ tuần tự xem chi tiết sản phẩm ............................................................................
Hình 58.Lược đồ tuần tự xem danh mục sản phẩm .......................................................................
Hình 59.Lược đồ tuần tự xem giỏ hàng ..........................................................................................
Hình 60.Lược đồ tuần tự tìm kiếm .................................................................................................
Hình 61.Lược đồ tuần tự quản lý nhóm danh mục ........................................................................
Hình 62.Lược đồ tuần tự quản lý danh mục ..................................................................................
Hình 63.Lược đồ tuần tự quản lý khuyến mãi ...............................................................................
Hình 64.Lược đồ tuần tự quản lý size sản phẩm ............................................................................
Hình 65.Lược đồ tuần tự quản lý sản phẩm...................................................................................
Hình 66.Lược đồ tuần tự quản lý tài khoản khách hàng ...............................................................
Hình 67.Lược đồ tuần tự quản lý hóa đơn .....................................................................................
Hình 68.Lược đồ ERD ....................................................................................................................
Hình 69. Giao diện ChatBot............................................................................................................
Hình 70.Giao diện trang chủ 1 ........................................................................................................
Hình 71.Giao diện trang chủ 2 ........................................................................................................
Hình 72.Giao diện trang chủ 3 ........................................................................................................
Hình 73.Giao diện tất cả sản phẩm theo danh mục nhóm sản phẩm ............................................
Hình 74.Giao diện chi tiết sản phẩm ..............................................................................................
Hình 75.Giao diện comment sản phẩm ..........................................................................................
Hình 76.Giao diện mơ tả sản phẩm ................................................................................................
Hình 77.Giao diện đăng nhập khách hàng .....................................................................................
Hình 78.Giao diện đăng nhập bằng Google....................................................................................
Hình 79.Giao diện đăng ký .............................................................................................................
Hình 80.Giao diện trang giỏ hàng...................................................................................................
Hình 81.Giao diện modal giỏ hàng .................................................................................................
Hình 82.Giao diện quản lý nhóm danh mục...................................................................................
Hình 83.Giao diện thêm nhóm danh mục.......................................................................................
Hình 84.Giao diện sửa nhóm danh mục .........................................................................................
Hình 85.Giao diện quản lý danh mục .............................................................................................
Hình 86.Giao diện thêm danh mục .................................................................................................
Hình 87.Giao diện sửa danh mục ...................................................................................................
Hình 88.Giao diện quản lý khuyến mãi ..........................................................................................
Hình 89.Giao diện thêm khuyến mãi ..............................................................................................
Hình 90.Giao diện sửa khuyến mãi ................................................................................................
Hình 91.Giao diện quản lý size sản phẩm ......................................................................................
Hình 92.Giao diện thêm size sản phẩm ..........................................................................................
Hình 93.Giao diện sửa size sản phẩm .............................................................................................
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 .......................................................................................................
Bảng 2.Phân tích yêu cầu ................................................................................................................
Bảng 3.dbo.user_chatbot ................................................................................................................
Bảng 4.dbo.chatbot .........................................................................................................................
Bảng 5.dbo. category_group ...........................................................................................................
Bảng 6.dbo. category_product ........................................................................................................
Bảng 7.dbo. promotion ...................................................................................................................
Bảng 8.dbo. size ...............................................................................................................................
Bảng 9.dbo. product_size ................................................................................................................
Bảng 10.dbo. product ......................................................................................................................
Bảng 11.dbo. shoppingcart .............................................................................................................
Bảng 12.dbo. users ..........................................................................................................................
Bảng 13.dbo. users ..........................................................................................................................
Bảng 14.dbo. bill_detail ..................................................................................................................
Bảng 15.dbo. slide ...........................................................................................................................
Bảng 16.dbo. admins .......................................................................................................................
Bảng 17.dbo.password_resets .........................................................................................................
Bảng 18.Xử lý giao diện quản lý hóa đơn .......................................................................................
Bảng 19. Xử lý giao diện trang chủ 1..............................................................................................
Bảng 20.Xử lý giao diện trang chủ 2...............................................................................................
Bảng 21.Xử lý giao diện trang chủ 3...............................................................................................
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 ...................................
Bảng 23.Xử lý giao diện chi tiết sản phẩm .....................................................................................
Bảng 24.Xử lý giao diện comment sản phẩm .................................................................................
Bảng 25.Xử lý giao diện mô tả sản phẩm .......................................................................................
Bảng 26.Xử lý giao diện đăng nhập khách hàng ............................................................................
Bảng 27.Xử lý giao diện đăng nhập bằng Google ..........................................................................
Bảng 28.Xử lý giao diện đăng ký ....................................................................................................
Bảng 29.Xử lý giao diện trang giỏ hàng .........................................................................................
Bảng 30.Xử lý giao diện modal giỏ hàng ........................................................................................
Bảng 31.Xử lý giao diện quản lý nhóm danh mục..........................................................................
Bảng 32.Xử lý giao diện thêm nhóm danh mục .............................................................................
Bảng 33.Xử lý giao diện sửa nhóm danh mục ................................................................................
Bảng 34.Xử lý giao diện quản lý danh mục ....................................................................................
Bảng 35.Xử lý giao diện thêm danh mục ........................................................................................
Bảng 36.Xử lý giao diện sửa danh mục ..........................................................................................
Bảng 37.Xử lý giao diện quản lý khuyến mãi .................................................................................
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