Nhưng với thực trạng thông tin hiện nay, rất nhiều website chia sẻ về thông tin bat động sản một cách tràn lan khiến người dùng hoang mang về thông tin loại hình dịch vụ mà họ cần song s
Trang 1ĐẠI HỌC QUOC GIA TP HO CHÍ MINH
TRUONG DAI HỌC CÔNG NGHỆ THONG TIN
KHOA CONG NGHE PHAN MEM
NGUYEN DZOAN HOANG KHANH DUY
KHOA LUAN TOT NGHIEP
XÂY DUNG UNG DỤNG ĐÁNH GIA VA TU VAN
HO TRỢ LỰA CHON BAT DONG SAN BANG
CHATBOT
Build application for support evaluation and consulting real
estate selection by chatbot
KỸ SU NGÀNH CÔNG NGHỆ PHAN MEM
TP HÒ CHÍ MINH, 2021
Trang 2ĐẠI HỌC QUỐC GIA TP HÒ CHÍ MINH
TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN
KHOA CÔNG NGHỆ PHẢN MÈM
NGUYEN DZOAN HOANG KHÁNH DUY- 16520292
KHÓA LUẬN TÓT NGHIỆP
UNG DỤNG HO TRỢ DANH GIA VA TU VAN LUA
CHON BAT DONG SAN BANG CHATBOT
BUILD APPLICATION FOR SUPPORT EVALUATION AND CONSULTING REAL ESTATE SELECTION BY CHATBOT
KY SU NGANH CONG NGHE PHAN MEM
GIANG VIEN HUONG DAN
TS DO THỊ THANH TUYEN
TS NGUYEN TRINH DONG
TP HO CHi MINH, 2021
Trang 3DANH SÁCH HỘI ĐÒNG BẢO VỆ KHÓA LUẬN
Hội đồng chấm khóa luận tốt nghiệp, thành lập theo Quyết định số
ngày của Hiệu trưởng Trường Đại học Công nghệ Thông tin.
— e cece ee eeeeeeeeeeeteeeeeeseaaeeeeeees — Chủ tịch.
PA — eee ee nee eec ee eceeneeeeaeeaeeeeaeeeeeegs — Thu ky.
Bo lee ee — Ủy viên
4 ›
Trang 4ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HOA XÃ HỘI CHỦ NGHĨA VIET NAM
TRƯỜNG ĐẠI HỌC Độc Lập — Tự Do — Hanh Phúc CÔNG NGHỆ THÔNG TIN
TP HCM ngày tháng năm 2021
NHAN XÉT KHOA LUẬN TOT NGHIỆP
(CUA CÁN BO HƯỚNG DAN)
Tên khoá luận:
UNG DUNG HO TRỢ ĐÁNH GIÁ VA TƯ VAN LỰA CHỌN BAT DONG
SAN BANG CHATBOT
Nhóm sinh viên thực hiện: Cán bộ hướng dẫn:
Nguyễn Dzoãn Hoàng 16520292 TS Nguyễn Trịnh Đông Khánh Duy TS Đỗ Thị Thanh Tuyền
Đánh giá Khóa luận
1 Về cuôn báo cáo:
Số trang _ Số chương _
Số bang số liệu " Số hình vẽ "
Số tài liệu thamkhảo | Sản phẩm "
Một số nhận xét về hình thức cuốn báo cáo:
2 Về nội dung nghiên cứu:
Trang 5Điểm từng sinh viên:
Nguyễn Dzoãn Hoàng Khánh Duy: /10
Người nhận xét
(Ký tên và ghi rõ họ tên)
Trang 6ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM
Tên khoá luận:
ỨNG DỤNG HỖ TRỢ ĐÁNH GIÁ VÀ TƯ VẤN LỰA CHỌN BÁT ĐỘNG
SAN BANG CHATBOT
Nhóm sinh viên thực hiện: Cán bộ phản biện:
Nguyễn Dzoãn Hoàng 16520292
Khánh Duy
Đánh giá Khóa luận
1 Về cuốn báo cáo:
Số trang Số chương
Số bảng số liệu Số hình vẽ
Số tài liệu tham khảo Sản phẩm
Một số nhận xét về hình thức cuốn báo cáo:
Trang 72 Về nội dung nghiên cứu:
4 Về thái độ làm việc của sinh viên:
Điểm từng sinh viên:
Nguyễn Dzoan Hoàng Khánh Duy: ⁄7Ø
Người nhận xét (Ký tên và ghi rõ họ tên)
Trang 8LỜI CẢM ƠN
Trong suốt những năm theo học tại khoa Công nghệ phần mềm trường Đại học Công nghệ Thông tin Em đã tìm tòi và được trang bị rất nhiều các kiến thức
cơ bản việc sử dụng công nghệ và cốt lõi trong lập trình cũng như những kỹ
năng thực tế để có thể hoàn thành Khóa luận tốt nghiệp của mình.
Chúng em xin gửi lời cảm ơn chân thành đến TS Đỗ Thị Thanh Tuyển, TS.
Nguyễn Trịnh Đông và đặc biệt là ThS Trần Anh Dũng đã giúp đỡ em một
cách nhiệt tình Qua những lời gợi ý đó em có thẻ tiếp tục nghiên cứu công nghệ cũng như lên ý tưởng để hoàn thành luận văn tốt nghiệp của mình.
Em xin gửi lòng biết ơn sâu sắc đến gia đình đã tạo mọi điều kiện về vật chat, tỉnh thần, động viên đề hỗ trợ em trong khóa luận trong suốt thời gian qua.
Cuối cùng em xin gửi lời chào đến những người bạn đã giúp đỡ em thực hiện khóa luận cũng như trong suốt những thời gian đã cùng đồng hành trong những
cuộc vui cũng như thời gian nghiên cứu, học tập cùng nhau và đã có những giây
phút vui vẻ, hạnh phúc của một thời sinh viên đàng nhớ.
Trong quá trình làm khóa luận này chúng em không tránh khỏi được những
sai sót, rat mong quý thay cô sẽ chỉ ra những lỗi sai dé em có thé rút được kinh nghiệm cho chính bản thân mình đề tránh những lỗi lầm nghiêm trọng hơn sau
này.
Em xin chân thành cảm ơn Xin gửi tới mọi người lời chúc sức khỏe tốt đẹp
nhất và có được nhiều niềm vui cũng như hạnh phúc trong cuộc sống về mặt
sự nghiệp, gia đình và trong các mối quan hệ.
TP Hồ Chí Minh, tháng 1 năm 2021
Sinh viên 1
(Ký tên và ghi rõ họ tên)
Trang 9ĐẠI HỌC QUOC GIA TP HO CHÍMINH CONG HOA XÃ HỘI CHỦ NGHĨA VIỆT NAM
TRƯỜNG ĐẠI HỌC Độc Lập — Tự Do — Hạnh Phúc
CÔNG NGHỆ THÔNG TIN
TP HCM, ngày tháng năm 2021
DE CUONG CHI TIẾT
TEN DE TAI: UNG DUNG HO TRO DANH GIA VA TU VAN LUA CHON BAT DONG SAN BANG CHATBOT
TEN DE TAI ( TEN TIENG ANH ): BUILD APPLICATION TO
SUPPORT EVALUATION AND CONSULTING REAL ESTATE SELECTION BY CHATBOT
Cán bộ hướng dẫn: TS Đỗ Thi Thanh Tuyền TS Nguyễn Trinh Đông
Thời gian thực hiện: Từ ngày 01/03/2021 đến ngày 27/06/2021
Sinh viên thực hiện:
1 Nguyễn Dzoãn Hoàng Khánh Duy- 16520292
Nội dung đề tài:
¢ _ Giới thiệu:
- Hiện nay công nghệ thông tin đang phát triển mạnh mẽ và ngày càng
phổ biến, tác động đến mọi mặt của xã hội Đồng thời nhu cầu nhà
ở chỗ sinh hoạt là nhu cầu cấp thiết hàng ngày của con người, đặc biệt là thời nay, khi ai cũng muốn có một căn phòng riêng dé tiện
sinh sống Nắm bắt được xu thế này, các công ty Nhưng việc tiếp cận một trang thông tin có nhanh chóng có thé là một van dé lớn
Trang 10- Doanh nghiệp, tô chức, cá nhân nói chung hiện nay đã bắt đầu triển
khai công nghệ thông tin vào việc thu thập, chia sẻ thông tin nhà đất
giúp cho mọi người dé dàng tìm kiếm nơi ở phù hợp và nhanh chóng.
Nhưng với thực trạng thông tin hiện nay, rất nhiều website chia sẻ
về thông tin bat động sản một cách tràn lan khiến người dùng hoang
mang về thông tin loại hình dịch vụ mà họ cần song song đó là những mối lo về tài chính và những thông tin không đúng sự thật.
e Lý do chọn đề tài:
- Mong muốn tạo ra một ứng dụng giúp cho doanh nghiệp hoặc cá
nhân có thé đăng bài và chia sẻ thông tin bat động sản cho minh.
Khách hàng cũng có thể tìm được thông tin bất động sản phù hợp
với nhu câu của bản thân
- Việc quá nhiều thông tin cũng làm cho người ding trở nên rối loạn
và không biết chọn lựa loại thông tin cho phù hợp => giải pháp cần
có một trợ lý ảo hỗ trợ để tư vấn cho khách hàng.
- _ Nhận thấy được những hạn chế của việc quan lý thông tin buôn bán
bất động sản qua những từ giấy phát ngoài đường, em đã thực hiện
đề tài thiết kế Website thu thập và chia sẻ thông tin bất động sản
đồng thời tích hợp chatbot đề giúp cho mọi người thuận tiện trong
việc tìm kiếm thông tin bất động sản hơn.
- Nhóm đã tham khảo các trang tin tức (batdongsan.com.vn,
propzy.vn) và nhận thấy rằng các trang trên đều chưa có tích hợp chatbot cho phần mềm của mình, vẫn còn sử dụng biện pháp tư vấn
Trang 11thông qua Messenger hoặc thông qua ứng dụng tin nhắn online trên
trang Vậy vẫn đề đặt ra khi khách hàng tìm kiếm vào những khung ngoài giờ hành chính nhưng vẫn cần sự tư van thi sẽ không có nhân
viên liên hệ trực tiếp những thông tin đó cho người dùng.
Ngoài ra, việc tạo ra chatbot có tích hợp những câu trả lời có sẵn giúp cho nhân viên liên hệ trực tiếp có thé tạo ra những câu hỏi hoặc những câu trả lời cơ bản để người dùng có thể nhận nhanh những
câu trả lời đó mà không cần tư vấn.
Vậy có sự tham gia của chatbot thì người dùng lẫn doanh nghiệp có
thể tiết kiệm được thời gian trao đổi thông tin Khách hàng cũng
nhận được lượng thông tin chính xác mà không phải tốn thời gian
dé chờ đợi người từ van.
Xây dựng một ứng dụng hỗ trợ, tư vấn cho người dung tìm được các
bất động sản dựa vào địa điểm một cách nhanh chóng.
Tìm hiểu và học hỏi công nghệ mới và áp dụng lại vào đề tài.
Tạo ra ứng dụng có giao diện thân thiện với người ding, dé dang thao tác chỉnh sửa các thông tin cần thiết.
Phát triển ứng dụng có tính thực tiễn cao dé có thể triển khai vào
thực tế.
Trang 12- _ Dựa trên nền tảng lý thuyết đã được giảng viên tư van và đề cử, kết
hợp với những công nghệ, hy vọng có thể xây dựng được một sản
phẩm có kết quả tốt đạt những tiêu chí ban đầu đã đề ra và mong
-_ Khách hàng vừa vào trang đang cần tư vấn nhanh về thông tin cơ
bản về bất động sản, và cần gợi ý tìm kiếm thông tin phù hợp cho
mình
¢ Tinh mới/ khác biệt về chức năng:
- Xây dựng chatbot để cung cấp thông tin bat động sản cho khách
hàng đề đưa ra lựa chọn thích hợp.
- Người dùng có thé quan lý thông tin cá nhân và thanh toán tại
website.
- Tìm kiếm và lọc thông tin cho website sử dụng bat động sản.
- Chia sẻ các tin tức cần thiết cho website.
Trang 13Chương 1.
Kéo dữ liệu từ trang batdongsan.com, prozy dé in các thông tin
bài viết trên website.
Xây dựng và tích hợp chatbot cho website bắt động sản đã xây
dựng dựa vào hệ thống đề cử cho người dùng thông tin cần
thiết.
Chức năng người dùng có thể tự quản lý thông tin cá nhân
Tích hợp thanh toán Paypal đề thực hiện chức năng nạp tiền đề thanh toán cho mỗi lần đăng bài
Xây dựng API bằng Laravel để xây dựng backend cho website
Sử dụng MySQL database để lưu trữ dữ liệu vận hành của
website
Nextjs sử dụng dé xây dựng giao diện của trang
Xây dựng chatbot bằng Dialogflow để tư van người dùng lựa
chọn loại bat động sản cho phù hợp Dùng Scrapy dé cào dữ liệu cho website.
Ngoài ra còn tích hợp với dịch vụ của Paypal đề tiễn hành thanh toán để đăng bài viết lên website
e Nén táng công nghệ:
- Front-end: Nextjs
- Back-end: Laravel
- Database: MySQL
Trang 14Cao đữ liệu: Thư viện Goutte của Laravel
Dialogflow
IDE: Visual Studio Code
Kết quả mong đợi:
Xây dựng website có đầy đủ chức năng cơ bản tìm kiếm thông tin,
xem thông tin chỉ tiết và quản lý thông tin cá nhân của người dùng Kéo được dữ liệu từ các nguồn trang tin tức bất động sản có uy tín
dé hiền thị liên website, cho người dùng tìm hiểu và biết thêm thông
tin về bat động sản.
Xây dựng được chatbot có chức năng gợi ý và cung cấp thông tin
bất động sản cần thiết cho người dùng.
Các tiêu chí khác:
Xây dựng ứng dụng có giao diện đẹp dé khách hàng dé tương tác
khi ghé vào website sử dụng.
Đối với khách hàng có thé cập nhật, thêm xóa sửa đổi thông tin cá nhân và nạp tiền để đăng bài viết của mình Và đăng tin tức bài
viết của mình lên trang chủ.
Chức năng bình luận trên website.
Thiết kế UI/UX phù hợp dé khách hang có thể chuyền màn hình
và thao tác một cách nhanh nhất và thuận tiện nhất,
Sử dung Crawl kéo các bài viết từ các trang thông tin bat động sản
có uy tín đưa về web đề khách hàng tiện lợi trong việc đọc tin tức
về bất động sản
Kế hoạch thực hiện: (thời gian thực hiện trong 18 tuần)
STT Công việc Thời gian thực hiện
Trang 15Phase 1: Tìm hiểu và xây dựng ứng dụng
web gồm những chức năng cơ bán
backend và frontend và kết nối cơ sở dữ
10 tuần
liệu
1 Sprint 1: Tim hiéu vé Nextjs + Tuan 1 > 3 ( 01/03/2021 —
Laravel + MySQL 21/03/2021 )
2 Sprint 2: Xây dựng giao diện Tuần 4— 7 (22/03/2021 —
website sử dung NextJS 11/04/2021)
; Sprint 3: Xây dựng Backend băng Tuần 8— 10 (12/04/2021 —
Laravel và kêt nôi co sở dữ liệu sử 02/05/2021 )
dụng MySQL
Phase 2: Tìm hiểu Scrapy và kéo dữ liệu
từ các website tham khảo bên ngoài và đổ
dữ liệu lên website
2 tuần
Sprint 4: Kéo dữ liệu từ website đồ Tuần 11 (03/05/2021 —
4
dữ liệu lên 09/05/2021)
Sprint 5: Xây dựng giao diện cho
5 chatbot với Reactjs, kéo đữ liệu tir | Tuần 12
các website và thực hiện phân tích,
thực hiện template cho chatbot
(10/05/2021 — 16/05/2021)
Phase 3: Tìm hiểu và tích hợp chatbot hỗ
trợ đánh giá thông tin của một bat động 4 tuần
sản
6 Sprint 6: Tìm hiểu Dialogflow và Tuân l3
tìm cách tích hợp vào website (17/05/2021 — 23/05/2021)
7 Sprint 7: Xây dựng giao diện cho Tuân 14-— 16 (24/05/2021 —
chatbot với Reactjs, kéo dé liệu từ | 13/06/2021)
Trang 16các website và thực hiện phân tích,
thực hiện template cho chatbot
Phase 4: Kiểm thử, đánh giá sản phẩm và
viết báo cáo
Trang 17Mục lục
TÓM TAT KHÓA LUẬN -2222222222222cttttEE11 irirriie 1
Chương 1 GIỚI THIỆU CHUNG -222222c++2222222vcczr+rrrrrx 2 1.1 Lý do chọn để tài -cc:-+-2222222222+22222221112 222221 rrtrrrrkrrrrrrrrrrri 2
1.2 Tính năng mới/ khác biỆ( + St SE ‡E‡EvEeEekerEkskrkrkrkrrrrrerree 3
1.3 Đối tượng nghiên cứu :222+++222++++tE2ES++tttEESErrtrrkrrrrrrrkrrrrrrr 3
1.4 Phạm vi nghiên CỨU ¿- - + St kề TH 001220 1 run 3
1.5 Khảo sat các trang liÊn QUan: +65 St grrưy 4
1.51 — Giới thiệu: S2 HH are 4
1.5.2 Khảo sát trang prOpZy.VN: -ccccStetrtetieterrerirrrrerrree 4
1.5.3 Khảo sat trang batdongsan.COm.Vn -cs+c++cscsrereerre 5
Chuong2 KIEN THỨC NEN TẢNG 2 ©2222¿+2222+2zt22EEEerrrrrrserrrrr 7 2.1 Tổng quan về mô hình MVC z£22V2222++++2222222+z+rrtrtrrrrrvsee 7
2.1.1 Khái niệm + che 7
2.1.2 Cấu trúc mô hình MVC
2.1.3 Tại sao dùng mô hình MVC 5S re, 8
2.2 Tổng quan về ReactJS
2.2.1 Giới thiệu Ă Serieiehirrrerererre 9
2.2.2 Ưu nhược điểm của Reactjs
2.4 Laravel.
2.5 MySQL à.oo 2g 2nHnnH00 011.11 14
Trang 18Chương 3 TIM HIẾU VÀ LỰA CHON CÔNG NGHỆ UNG DỤNG
CHATBOT 15
3.1 Tìm hiểu về chatbot 22c+£222222222+++t2EEEEESEErrrtrttErkkvrrrrrrrrrrrres 15
3.1.1 Giới thiệu về Chatbot: -2cccc2222+cseccvvrreerrrerrrrrrrvee 15
3.1.2 _ Tính ứng dụng l6
3.1.3 _ Xu hướng phat triỂn cc¿+2222ccseEcEvrrrerrrrererrrrvee 16
3.2 Tìm hiểu về Facebook Messenger
3.3.3 Một số khái niệm cơ bản ccccccrrrrrrrrrrrirrrrrrrrrriee 19
3.4 Áp dụng công nghệ vào chatbot -:-:©22+++2222+++2222S+zrtvrzxecrrrres 20
3.4.1 Facebook Api HH re 20
3.4.2 Facebook Graph Api -c-ccccctrtethrererrrrerererree 20
3.4.3 Nhận dạng thực thể (Name Entity Recognition) 21
3.5 Dịch vụ DialoBfÏOW sáng HH HH ve 23
3.5.1 — Giới thiệu Ăck HH ưey 23
3.5.2 Quá trình Understanding - 5c <5 Scteterrrkekererek 23
3.5.3 Ý định (Intenf) -¿-522222+2222212222211122222112 22211 24 3.5.4 Thực thé (Entitie§) -+<222++t2EEEt2EE1271112211 2211 crreC 26
3.5.5 Chức năng FullfillmenIs ¿+5 +s+xsrtrtetsrrrererekerererre 28
3.5.6 Chức năng InfergTafIOIS + chư 29
Trang 19Chương 4 XÂY DỰNG HỆ THỒNG -22-25¿22+c2E22x2zxrzrxrrrree 304.1 Xây dựng kiến trúc hệ thống ¿- 22 +¿+2++2E+2EE2EE222127112212221 212221 ee 30
4.1.1 _ Kiến trúc hệ thống Website - 25c se E2 2E ckrkee 304.1.2 _ Kiến trúc hệ thống ChatBoI - 2-52 2ESEESEEE2EE2EzErrerxee 31
4.2 Phân tích thiết kế hệ thống - + 2 2 2+E£+E£EEEEEEEEEEEEEEEEEEEEEErrerreeg 33
4.2.1 — Sơ đồ use case - 2c 2t t2 22222222121 erke 334.2.2 — Sơ đồ lớp 2L 2L 2222122221211 Eerke 444.2.3 Phân tích và thiết kế CSDL .-¿¿-ccccccctccrverrrrrrerrerree 464.2.4 Sơ đồ tuần tự (sequence điagraim), 5c secxeE£E2E2EzErkered 544.2.5 Sơ đồ hoạt động (activity diagram) - 2: s++cz+zx+zxczxczreerxees 58
4.3 Thiết kế giao diện websif€ -¿- 5c s1 2E1211211212111 1111112111 xe 62
4.3.1 Sơ đồ thiết kế giao diện website - se ccrererkerrrrrrerxee 62
4.3.2 _ Danh sách giao diện webSI€ - 3S S+ seiseirsrrsrrsee 62
4.3.3 Mô tả chỉ tiết giao điện website - ¿5c csctExeEEEEE2EeErkrrkee 644.3.4 Mô tả chỉ tiết giao điện chat bot 2: 52©52+2£+EE+2E2ESEEeEErEzrxrrxee 864.4 Sơ đồ kịch bản chatbot cccceecsssssssessssseesssseessseeessneeessneessneecsaneessneesee 994.5 Triển khai phân tích và huấn luyện hệ thống chafbot: - 99
4.5.1 Sơ đồ xây dựng hoạt động chatbot: 5-©5z+cz+cxczxerxzxserxee 99
4.5.2 Phân tích va tạo các Intents cho chatbot: +55 5<s+<++<<s+<s+ 101
4.5.3 Phân tích và tạo các Entities cho chatbot: -<<+ +55 103
Chương 5 KIÊM THU PHAN MÊỀM 2¿©2+22+vcx2zxczzxrrsre 1065.1 Câu hình của máy kiểm thử: - SeEE£EE2EE2E2E2EE2EEEEEEEEEEEEerrrer 1065.2 Kiểm thử giao diỆn: ¿52t SE EE12112112111111111 11111111 106
5.3 Kiểm thử chức năng: ¿5222k 2E2 E2 EEEE7112112711121.E tk crki 107
Trang 20Chương 6 © KET LUẬN, HƯỚNG PHÁT TRIẺN -5 - 109
6.1 Kết quả dat được :-©2s-22c22x22k22212211271271211221211 211.11 se 109z6 ::ẼẼ 109f8 0n ¡0 1106.5 Hướng phat triỂn -:- ++S2+St+E+EEEEEEEEEEE21211211211217171 111111 y0 110
Trang 21DANH MỤC HÌNH VẼ
Hinh 2.1 - M6 hinh MVC ố 7 Hirh 2.2 - React]s ccccccccccccsccssceseessecsseeseeesecesecseceseceseceseeseeesesesesseceseeeseseeeeneeeseseseesees 9 Hitth 2.3 oi 7 10 Hình 3.1 - Chatbot Facebook Messenger cceccecssssesesceeceecescesceeeeeeeseeeeaeeaeens 18 Hình 3.2 - Cách hoạt động của Chatbot Facebook Messenger - - 19 Hinh 3.3 - 6v) in 20 Hinh 3.4 S200 in 21 Hinh 3.5 - Giao dién 009)) 0ì Tố e.- 3 22 Hình 3.6 — Cách hoạt động của dialÒÍÏOW - - cà 2 211212 12 11111 tre 23 Hình 3.7 — Training phrases DIalogf[OW - ¿5c 2112 11131 1111111111111 24 Hinh 3.8 Si 01 ố.ố 25
Hình 4.14 - Giao diện đăng ký - - - c 1n 1211 1111111111111 11111111111 E11 1 rên 64
Trang 22Hình 4.15 - Giao diện đăng nhập - - c2 3 3212111113511 11211 1e rrke 65
Hinh 4.16 - Giao i20 s0 8n e 67
Hình 4.17 - Giao diện lọc và tìm kiếm -c¿¿55+v2cExtttrErtrrrttrrrrrrrrrrrrrrree 69Hình 4.18 - Giao diện đăng bài viẾT 2 22t E2 2112217121121 2111121 crk 71
Hình 4.19 - Giao diện chỉnh sửa bài viẾt - 2s x‡EEEEEEEEEEEEEEEkrrerkerees 73
Hình 4.20 - Giao diện thông tin chi tiết bất động sản 2- 2 2+cz+czxrse2 76Hình 4.21 - Giao diện nạp tiền vào tải khoản - - + s2t+EvEEE2ESEEEESEEEErrxrrrree 78
Hình 4.22 - Giao diện chỉnh sửa thông tin cá nhân - 5 55 + s+sirserserske 79
Hình 4.23 - Giao diện danh sách bat động sản đã đăng 2 ©52+cz+cccce¿ 80Hình 4.24 - Giao diện đổi mật khẩu -. -52:222++222xttEExvrrrtrrrrrrrrrrrrrrrree 82Hình 4.25 - Giao diện thanh tiêu đề ( chưa đăng nhập ), - 2-5222 s2 83Hình 4.26 - Giao diện thanh tiêu đề ( đã đăng nhập ) 2-2 2 s52 z+se2 84Hình 4.27 - Giao diện chatbot bắt đầu eccseescsssescsssesessnesessneeessneeesnnesessneeenneees 86
Hình 4.28 - Giao diện hướng dẫn ¿2 S2 E2E9E£EE£E£EEEEEEEEEEEEEEEEEEEEEEEErrkrkes 87
Hình 4.29 - Giao diện menu chứỨc nang seeeseeeeeeeeeeceseeeeeseeseeseeseseeaeeaeens 88
Hình 4.30 - Giao diện điện danh sách bat động san được quan tâm nhiều nhat 90
Hình 4.31 - Giao diện đăng thông tin lên Website .- - 5+ +2 s++s+sxssxsse2 92 Hình 4.32 - Giao diện tham quan webSIf€ - 2c St *+E + EEverrserrsrrrrrrske 93
Hình 4.33 - Giao diện tham quan WebSIf€ - ¿c2 +3 +12 EEEErrrerrske 94
Hình 4.34 - Giao diện tư van xác định loại hình bat động sản cần tìm 95Hình 4.35 - Giao diện thông tin lọc trong hỗ trợ tư vấn - 2: z+cz+cs+cs¿ 97
Hình 4.36 - Giao diện thông tin lọc thông tin người dùng - : s5 <+<ss+<+2 98
Hình 4.37 - Sơ đồ kịch bản chatbot cs¿- 22c 99Hinh 4.38 - So dé hoat động của server Chatbot ceeccesceesseceseeeeteceseeesseeeeeenses 100
Trang 23DANH MỤC BANG
;t)0sg 010.80 34 Bang 4.2 - Danh sách Use Cases - 0 2 12 1111111111111 1111111111111 11 11 ke 35 Bang 4.3 - Bảng đặc tả use-case “Đăng kÍ”” c v SH HH net 36
Bảng 4.4 - Bảng đặc tả use-case “Đăng nhập” ác cành 36
Bang 4.5 - Bảng đặc tả use-case “Đăng bài viẾt” -cc- sec nen ggye 37
Bang 4.6 - Bảng đặc tả use-case “Xem thông tin cá nhân” -. -<+-+2 38
Bang 4.7 - Bảng đặc tả use-case “Chỉnh sửa thông tin cá nhân” -‹- 39
Bang 4.8 - Bang đặc tả use-case “Chỉnh sửa thông tin bài viết bất động sản” 39
Bang 4.9 - Bang đặc tả use-case “Tìm kiếm thông tin bất động sản” - 40Bang 4.10 - Bảng đặc tả use-case “Tim kiếm thông tin bat động sản với bộ lọc” 41Bảng 4.11 - Bảng đặc tả use-case “Xem thông tin chỉ tiết bat động sản” 41Bang 4.12 - Bảng đặc tả use-case “Bình luận bài viết bat động sản” - 42Bảng 4.13 - Bảng đặc tả use-case “Nap tiền” -¿- 2: 7x 2xx 2EkEEerkrerkree 43Bang 4.14 - Các lớp của sơ đồ lớp ¿+ ++SE+2E2E19E12E12E2121712111211 21.21 45Bảng 4.15 - Các đối tượng và thuộc tinh của đối tượng - 2-2 s+sz+se2 47
Bang li li na 48 Bảng 4.17 - Bảng “ewalÏ€fS” - - c1 22 112011211111 1111111101111 1118111 11kg kh 48 Bang 4.18 - Bảng “frafnSaCfIOTNS” - Gà HH TH HT HH nh HT nh HH nh nrệt 49 Bang 4.19 - Bảng ‘address WardS” - Án HH ng ng nh nưệt 49 Bang 4.20 - Bảng ‘real_estate cOtmimeIifS” c- cà xxx ng rhg 50 Bang 4.21 - Bang ii 50 Bảng 4.22 - Bang ‘address distrICfS” - 2S 22112112 1115111111111 ke 51 Bang 4.23 - Bang ‘address provinces’ ccccecccesscesssessseeeseeeeseeseeeesseeeeeeeeeessaeensaes 52 Bang 4.24 - Bảng ‘real_estates? oo ee eececeesceeeceseceseceeeeseeeaeceeeaeeeaeeeeeeeeeeeeaeenneas 53
Bang 4.25 - Bang danh sách giao điỆn - - 22c 32213331 *3ESEEEErrirsrrrrrrerrrke 63
Bảng 4.26 - Bảng mô tả thành phan của giao điện đăng ký -: - 64Bang 4.27 - Bảng mô tả thành phần của giao diện đăng nhập -5- 65
Bang 4.28 - Bảng mô tả thành phan của giao diện trang chủ - -s- 68
Trang 24Bảng 4.29 - Bảng mô tả thành phan của giao điện tìm kiếm nhanh 70Bảng 4.30 - Bảng mô tả thành phan của giao điện đăng bài viết - 73Bảng 4.31 - Bảng mô tả thành phan của giao điện chỉnh sửa bài viết 75Bảng 4.32 - Bảng mô tả thành phần của giao điện chỉ tiết thông tin bất động sản 77
Bang 4.33 - Bang mô tả thành phan của giao diện giới thiệu - 5: 78
Bang 4.34 - Bảng mô tả thành phan của giao diện chỉnh sửa thông tin cá nhân 80Bang 4.35 - Bảng mô tả thành phan xem danh sách bat động san đã đăng 81Bảng 4.36 - Bảng mô tả thành phan của giao điện đổi mật khẩu 82
Bang 4.37 - Bảng mô tả thành phần của giao diện thanh tiêu dé ( chưa đăng nhập )
¬ Ư 83
Bảng 4.38 - Bảng mô tả thành phần của giao diện thanh tiêu đề ( đã đăng nhập ) 85Bang 4.39 - Bảng mô tả thành phan của giao diện chatbot bắt đầu - 86Bang 4.40 - Bảng mô tả thành phan của giao diện hướng dẫn - 87Bang 4.41 - Bảng mô tả thành phan của giao điện menu chức năng 89Bảng 4.42 - Bảng mô tả thành phần của giao diện điện danh sách bất động sản được
quan tâm nhiều nhất 2 ¿25s E92E2EE2EEEEE2E12E12E1571121127151171211211 11111 xe 9]
Bảng 4.43 - Bảng mô tả thành phan của giao diện đăng thông tin lên website 92
Bảng 4.44 - Bảng mô tả thành phan của giao diện danh sách quận trung tâm 93Bang 4.45 - Bảng mô tả thành phan của giao điện tham quan website 94Bảng 4.46 - Bảng mô tả thành phần của giao diện tư vấn xác định loại hình bất động
Bang 4.50 — Bảng giải thích ý nghĩa của các entities trong chat bot 105
Bang 5.1 - Bảng kiểm thử giao diện 2-52 5c S2 EEEEEEEE2E12E12E1 E21 Excrkee 107
Bang 5.2 - Bảng kiểm thử chức năng ¿5-2 SE 2E EEEEEEEEEEEEErrrrreeg 108
Trang 25DANH MỤC TỪ VIET TAT
Từ viết tắt Từ đầy đủ Giải thích
API Application Programming Interface Giao diện lập trình ứng dung
CSDL, Cơ sở đữ liệu Co so dir liệu cho ứng dụng database
Framework Là một bộ khung đã được viết
san, lập trình viên khi sử dụng
không cần tốn thời gian để cấuhình các chức năng hay tổ chứccác modul cho phù hợp, giúp tối
ưu hóa thời gian thực hiện phần
mềmHTTP HyperText Transfer Protocol Giao thức truyền siêu văn bản
MVC Model-View-Controller Mô hình lập trình
Actors Actor được sử dung dé chỉ người
dùng hoặc một đối tượng nao đó
bên ngoai tương tác với hệ
thống
Usecase Use Case là đối tượng mà người
muốn nhận từ hệ thống hoặccách mà các hệ thống tương tác
với nhau như thê nào
Trang 26TÓM TẮT KHÓA LUẬN
Khóa luận “XÂY DỰNG UNG DỤNG ĐÁNH GIÁ VÀ TU VAN HỖ TRỢ
LỰA CHỌN BAT DONG SAN BẰNG CHATBOT” gồm 06 chương:
Chương 1: Giới thiệu về đê tai, đưa ra các điêm nôi bật so với các ứng dung khác.
Chương 2: Trình bày các kiến thức nền tảng liên quan đến ứng dụng
Chương 3: Tìm hiểu và trình bày kiến thức liên quan đến Chatbot
Chương 4: Trình bày chỉ tiết quy trình xây dựng hệ thống, từ xác định và phântích yêu cầu bài toán cho đến xây dựng CSDL và xây dựng giao diện ứng
dụng.
Chương 5: Kiểm thử phần mềm đưa ra bảng kiểm thử các chức năng của ứng
dụng
Chương 6: Kết luận hướng phát triển nhằm rút ra được các ưu nhược điểm
của ứng dụng và hướng phát triển trong tương lai
Trang 27Chương 1 GIỚI THIỆU CHUNG
1.1. Lý do chọn đề tài
Mong muốn tạo ra một ứng dụng giúp cho doanh nghiệp hoặc cá nhân có
thé đăng bài và chia sẻ thông tin bất động sản cho mình Khách hang cũng
có thê tìm được thông tin bất động sản phù hợp với nhu cầu của bản thân.Việc quá nhiều thông tin cũng làm cho người dùng trở nên rối loạn và khôngbiết chọn lựa loại thông tin cho phù hợp => giải pháp cần có một trợ lý ảo
hỗ trợ dé tư van cho khách hang
Nhận thấy được những hạn chế của việc quản lý thông tin buôn bán bắt độngsản qua những từ giấy phát ngoài đường, em đã thực hiện đề tài thiết kế
Website thu thập và chia sẻ thông tin bất động sản đồng thời tích hợp chatbot
để giúp cho mọi người thuận tiện trong việc tìm kiếm thông tin bất động sản
hơn.
Nhóm đã tham khảo các trang tin tức (batdongsan.com.vn, propzy.vn) và
nhận thấy rằng các trang trên đều chưa có tích hợp chatbot cho phần mềmcủa mình, vẫn còn sử dụng biện pháp tư vấn thông qua Messenger hoặcthông qua ứng dụng tin nhắn online trên trang Vậy vấn đề đặt ra khi kháchhàng tìm kiếm vào những khung ngoài giờ hành chính nhưng vẫn cần sự tưvan thì sẽ không có nhân viên liên hệ trực tiếp những thông tin đó cho người
dùng.
Ngoài ra, việc tạo ra chatbot có tích hợp những câu trả lời có sẵn giúp cho
nhân viên liên hệ trực tiếp có thé tạo ra những câu hỏi hoặc những câu trảlời cơ bản dé người dùng có thé nhận nhanh những câu trả lời đó mà không
cần tư vấn
Vậy có sự tham gia của chatbot thì người dùng lẫn doanh nghiệp có thé tiết
kiệm được thời gian trao đổi thông tin Khách hang cũng nhận được lượng
thông tin chính xác mà không phải tốn thời gian dé chờ đợi người từ vấn
Trang 281.3.
1.4.
Tinh năng mới/ khác biệt
Xây dựng chatbot để cung cấp thông tin bất động sản cho khách hàng déđưa ra lựa chọn thích hợp và nhanh chóng nhất
Người dùng có thé quan lý thông tin cá nhân và thanh toán tại website
Tìm kiếm và lọc thông tin cho website sử dụng bất động sản giúp cho ngườidùng có thé lọc thông tin một cách nhanh chóng
Đối tượng nghiên cứu
Khoá luận này hướng đên nghiên cứu các đôi tượng sau:
- Cac công nghệ:
+ Front-end: Nextjs
+ Back-end: Laravel
+ Database: MySQL + Cao dir liệu: Goutte + Chatbot Facebook Messenger + Dialogflow
+ IDE: Visual Studio Code
Đối tượng trong phạm vị đề tài hướng đến: Khách hàng có nhu cầu tìm kiếm
và đăng bán bất động sản cá nhân Khách hàng đang cần nhu cầu tư vấn 24/7
- Trang thông tin về các loại bat động sản tại Tp Hồ Chí Minh
- Tich hợp đăng nhập đăng, đăng kí, bình luận về một bat động san
Trang 29- _ Hỗ trợ và tư vấn cho người dùng về tìm kiếm bất động sản thông qua
những thông tin cần thiết do bên người dùng cung cấp và tìm hiểu
1.5 Khảo sát các trang liên quan:
1.5.1 Giới thiệu:
- _ Nhóm đã tham khảo hệ thống website bat động sản như
batdongsan.com.vn, propzy.vn/
- Hau hết các website đề chia sẻ thông tin bat động sản, cho phép tìm
kiếm loại hình bất động sản mà người dùng quan tâm, cho phép đăng bàirao bán về bất động sản của người dùng Tuy nhiên cách bồ trí thông
tin,tin tức bat động sản cũng như chi tiết chưa thật sự nồi bật các yếu tố
như giá cả, địa chỉ, diện tích, đặc biệt là lượng hình ảnh thông tin còn
một chiều, không có sự tương tác khiến người dùng Điều đó khiến cho
người dùng sẽ cảm thấy khó khăn trong việc tìm hiểu về vấn đề cần quan
tâm Đề khắc phục, hệ thống sẽ đưa chức năng cải thiện những vấn đề
trên và đặc biệt hơn nữa là thiết kế 1 website mang tính đột phá như mộttrang mang xã hội về bat động sản cho phép người dùng đăng bai, chia
sẻ, nêu quan diém, sở thích về các bat động san
1.5.2 Khảo sát trang propzy.vn:
Mô tả chung:
- _ Thể hiện chỉ tiết cụ thé một loại hình thông tin bất động sản tên loại
hình bất động sản, giá cả, địa chỉ, hình ảnh, phong thủy nội thất, hệ
thống đăng bài rao tin chỉ tiết cụ thể và nhanh chóng, có đội ngũ
kiểm duyệt chất lượng và công cụ lọc tìm kiếm rất mạnh, được đăng
tin miễn phí, tập trung chủ yêu là các thông tin bất động sản trong
TP Hồ Chí Minh
Chức năng nỗi bật:
Trang 30- Yéu cầu lưu trữ: Hệ thống đáp ứng yêu cau lưu trữ các thông tin
như:
e Thong tin bat động san: địa điểm, diện tích, giá bán, hướng,
thông tin cụ thể.
e Thong tin vé hinh anh: hinh anh chan thật, rõ ràng
e Sắp xếp bất động sản ví dụ như: theo lượt thích, lượt bình luận,
mới nhất.
Ưu điểm:
- _ Giao diện hệ thống gần gũi Đơn giản với dai đa số người dùng,
- mang lại cảm giác thân thiện không rối mắt, hướng người dùng,
tính tương tác cao Dễ dàng nâng cấp khi muốn nâng cao tính năngsẵn có nhờ vào sự hệ thống trong
- viéc xử lý Dễ dàng mở rộng khi ứng dụng được đón nhận rộng rãi
và nhu cầu người dùng tăng lên
Khuyết điểm:
- Chua có chức năng chia sẻ bài viết cụ thể như một bải viết trên
trang mạng xã hội.
- _ Thông tin một chiều, không có tính tương tác của người dùng dé
biêt sản phâm ra sao.
1.5.3 Khảo sát trang batdongsan.com.vn
Mô tả chung:
- Là website giúp mọi người tìm kiếm, xem tin tức, đăng bài chia sẻ
thông tin bất động sản ở Việt Nam Hiện nay, đây cũng là mộtwebsite hàng đầu với lượng tin tức được tìm kiếm nhiều giúp ngườidùng tìm kiếm tất cả thông tin ở về bất động sản ở Việt Nam Hơn
nữa, ở đây còn có đội ngũ chăm sóc khác hàng, luôn sẵn sàng cung
Trang 31cap thông tin, tình hình mới nhat của các bat động san ma người dùng cân.
Chức năng nỗi bật:
Cho phép người dùng đăng ký / đăng nhập và đăng bài và thu tiền
từ người đăng bải.
Thể hiện rõ thông tin chỉ tiết về một loại hình bất động sản có định:tên loại hình, giá cả, dia chỉ, giá ban, hình ảnh chi tiết, hướng,
thông tin thêm và nội thất.
Đội ngũ chăm sóc khách hang tư van thông tin bat động sản hỗ trợcần thiết chỉ tiết cho người dùng quan tâm qua đó cũng như thủ tục
Trang 32Chương 2 KIÊN THỨC NEN TANG
2.1.1 Khái niệm
Mô hình MVC là mô hình quen thuộc trong giới lập trình web là viết tắt
của Model — View — Controller, hệ thống sẽ được tô chức tách biệt dé hoạtđộng độc lập dé dang test và tô chức hơn
sau khi xử ly xong sẽ đưa ra dữ liệu phù hợp với người dùng Controller
còn có chức năng kết nối với Model
2.1.2.2 Tang logic dữ liệu — Model
Tang logic dit liệu - Model là bộ phận có chức năng lưu trữ toàn bộ
dữ liệu của một lớp trong ứng dụng Model là cầu nối giữ Controller và
View Model thé hiện dưới hình thức là một cơ sở dữ liệu hoặc một file
XML bình thường Model thé hiện rõ các thao tác với cơ sở đữ liệu nhưcho phép xem, truy xuất, xử ly dữ liệu
Trang 332.1.2.3 Tang giao diện — View
Tầng giao diện - View là phần giao diện dành cho người sử dụng cuối.Noi mà lập trình viên có thé lay được thông tin dữ liệu thông qua các các
biểu mẫu (form) hoặc hiền thị giao diện cho người dùng trên website
2.1.3 Tại sao dùng mô hình MVC
MVC đang là mô hình được ứng dụng rất nhiều trong lập trình
Hệ thống MVC phát triển tốt sẽ cho phép phát triển Front-End, Back-End
cùng trên hệ thống một cách độc lập với nhau tức những tài nguyên và cách tô
chức mã nguồn có thé khác nhau và không sử dung chung những thành phan
đó.
Chi cần hiểu rõ quy trình vận hành, nam được các chức năng của từng bộphận thì việc trién khai mô hình MVC tương đối dé dàng
Mô hình MVC có ưu điểm với sự phát triển của ứng dụng như:
- Taco thé dé dang duy trì ứng dụng vì chúng được tách biệt với nhau
- Dau tiên, nhắc tới ưu điểm mô hình MVC thì đó là băng thông
(Bandwidth) nhẹ vì không sử dụng viewstate nên khá tiết kiệm băng thông.
Việc giảm băng thông giúp website hoạt động ồn địng hơn
- _ Kiểm tra đơn giản và dé dàng, kiểm tra lỗi phần mềm trước khi ban
giao lại cho người dùng.
- Một lợi thế chính của MVC là nó tách biệt các phần Model, Controller
và View với nhau.
- Su dụng mô hình MVC chức năng controller có vai trò quan trọng va
tối ưu trên các nền tảng ngôn ngữ khác nhau
- Taco thể dé dàng duy trì ứng dụng vì chúng được tách biệt với nhau
Trang 342.2 Tong quan về ReactJS
2.2.1 Giới thiệu
React (Reactjs hay React.js) là một thư viện JavaScript phố biến nhất déxây dựng giao diện người dùng hoặc các thành phần UI Được tạo ra bởi sự
cộng tác giữa Facebook và Instagram Nó được duy trì bởi Facebook và một
cộng đồng các nhà phát triển và công ty cá nhân React có thể được sử dụngnhư một cơ sở đề phát triển các ứng dụng trang đơn hoặc di động Một trongnhững đặc trưng duy nhất của React là việc render dit liệu không những có théthực hiện ở tầng Server mà còn ở tầng Client
2.2.2 Uu nhược điểm của Reactjs
2.1.3.1 Ưu điểm
Dễ dàng sử dụng, tạo được các component nhẹ: React Component
dễ viết hơn vì nó sử dụng JSX, mở rộng cú pháp tùy chọn cho JavaScript
cho phép một lập trình viên có thé kết hop HTML với JavaScript Nhờvào những tính năng có sẵn của Reactjs, lập trình viên có thé phân tích và
tạo ra những component nhỏ
Cộng đồng phát triển lớn mạnh: React rat phổ biến, minh chứng rõ
ràng bởi cộng đông hồ trợ lớn của nó.
Trang 35Nhiều tiện ích nguồn mở: Tính khả dụng của một loạt các tiện ích
mở rộng do cộng đồng nguồn mở phát triển cho React cung cấp cho lậptrình viên rất nhiều tùy chọn dé xây dựng các giải pháp hoàn chỉnh
Thân thiện với SEO: Hau như các JS Frameworks không thân thiệnvới các tìm kiếm mặc dù đã được cải thiện nhiều nhưng dưới sự hỗ trợ của
các render đữ liệu trả về dưới dạng web page giúp cho SEO chuẩn hơn
Next.js là một framework nhỏ gọn được xây dung từ React, Babel va
Webpack được tạo ra dé giúp lập trình viên tạo ứng dụng web React có tinhnăng SSR (Server Side Render) Như đã biết với React.js chỉ là client-side-
render, nên việc SEO sẽ gặp khó khăn Vi vậy, Next.js giúp xử lý việc có tính
năng SSR rat dé dàng, ngoài ra còn có các tính năng đặc trưng (thừa kế Babel
và Webpack) như:
10
Trang 36Hot Module Replacement (HMR) — Webpack
Đóng gói bundle và chuyên mã nguồn
Tao chỉ mục (indexing) cho các tập tin trong thư mục pages
Phục vu static files, với Next.js thi không can webserver khac
Ưu điểm:
không cần lo về việc routing và app được render mặc định phía server
Mặc định đã được render phía server
Tự động split code dé load page nhanh hơn
Đơn giản hóa routing phía client (page based)
Môi trường dev với webpack-based hỗ trợ Hot Module Replacement
(HMR)
2.3.3.
Có thé kết hợp với Express hoặc những Node.js HTTP server khác
Dé dàng tùy chỉnh với Babel và cau hình Webpack
Nhược điểm:
Next.js không phải là Back-end; nếu lập trình viêncần xử lí Back-endnhư cơ sở dữ liệu, hệ thống tài khoản, ban cần làm nó ở 1 ứng dụng
tách biệt phía Back-end.
Next vô cùng mạnh mẽ, nhưng nếu dùng nó chỉ dé làm một ứng dụngđơn giản thì là điều không cần thiết
Moi đữ liệu cần phải được tai ở cả 2 phía client và server
Việc chuyển giao từ một ứng dụng phía server sang một ứng dụngNext.js chac chan không nhanh một chút nao, nó còn phụ thuộc vào dự
án của bạn.
2.4 Laravel
2.4.1 Giới thiệu:
11
Trang 37Laravel là một PHP Framework mã nguồn mở và miễn phí được xây
dựng dựa trên mô hình MVC ( Model — View — Controller ).
Laravel có một hệ thống đóng gói Modular và quản lý phụ thuộc dé
người sử dung có thé dé dàng tổ chức code của mình một cách mạchlạc, Laravel cung cấp nhiều cách khác nhau dé thao tác với cơ sở dit
liệu quan hệ.
Source code của Laravel hiện nay đang được được lưu trữ tại Github.
Ưu điểm:
Ưu điểm đáng kể của Laravel là sử dụng tất cả các tính năng mới của
PHP Các framework khác không tận dụng được điều này Đặc biệtLaravel 5 cũng sở hữu một số tính năng mới nhất do PHP cung cấp,
đặc biệt là trong Namespaces, Interfaces, Overloading, Anonymous
functions va Shorter array syntax.
Laravel framework hỗ trợ các cache backend như Memcached và
Redis out-of-the-box Chúng ta có thé tùy chỉnh nhiều cấu hình cache
Công cụ dòng lệnh Artisan tạo nên một bộ khung source code và quản
ly database một cách hiệu quả Artisan giup tạo các tệp MVC cơ bản va
quản lý tài nguyên của website, và cả việc cấu hình cho chúng
Lợi npm package và bower package bằng cách kết hợp framework
cùng với Gulp va elixir, có ích trong việc chỉnh sửa tài nguyên của
website.
Laravel giúp lập trình viên giảm đáng ké chu kỳ phát triển sản phẩm
vì framework giúp tích hợp nhanh hơn, bên cạnh đó là cộng đồng hỗtrợ rất lớn - Laracasts
Inversion of Control là một phương thức để tạo các đối tượng mới màkhông phải khởi động bat kỳ thư viện bên ngoài nào Nhờ vào tinh
năng này mà chúng ta có thê truy cập các đối tượng này từ bất cứ nơi
12
Trang 382.4.4.
nào mà chúng ta mã hóa từ đó không còn gặp khó khăn với các cầu
trúc nguyên khối không linh hoạt
Lập trình viên có thể tạo liên kết đến các route được đặt tên cho nên
khi tạo các liên kết, lập trình viên chỉ cần sử dụng tên của bộ định
tuyến, Laravel sẽ tự động chèn URL chính xác.
Laravel cung cấp một chế độ ActiveRecord rất đơn giản và hiệu quả
dé làm việc với cơ sở dữ liệu Các model mà chúng ta tạo trong MVC
sẽ có bảng tương ứng bên trong cơ sở dữ liệu ngoài ra Laravel còn áp
dụng kỹ thuật ORM trong frame work của mình để tạo nên các mối
quan hệ dé thao tác trên database Các mối quan hệ này là: one-to-one,
many-to-many, has-many-through, many-to-many polymorphic, polymorphic, one-to-many,,.
Nhược điểm:
Một số thành phan trong framework không được thiết kế tốt Ví dụ,
dependency injection đôi khi trở nên phức tạp không cần thiết Các tài
liệu khá nặng, chính điều này bắt người sử dụng phải đọc và hỏi tàiliệu rất nhiều
Laravel không phải là lựa chon cho lập trình viênnghiệp dư Tuy
nhiên, framework vẫn đang được cải thiện rất nhiều, Laravel 5 đãgiảm đáng kề lỗi này
Đây không chi là van dé của Laravel mà là van đề chung của các PHPframework nên lập trình viên khi sử dụng phải có biện pháp đề phòngrủi ro trước khi nâng cấp mobile application/website
Ứng dụng
Laravel được sử dụng dé giải quyết những dự án lớn bởi vì việc đọc
tai liệu rat dé hiéu và sử dụng một cách dê dàng nên rat nhiêu công ty
13
Trang 39hiện nay đã bat đâu triên khai framework Laravel lên phân mêm đê
phát triển các sản phẩm cho công ty
Laravel hỗ trợ lập trình viên có thể dễ dàng tạo ra được một trang web
đa ngôn ngữ chúng ta có thể truy cập chuỗi các ngôn ngữ khác nhaubăng cách sử dụng trình trợ giúp trans()
cơ sở dit liệu quan hệ Các phát biéu SQL dùng dé truy tìm và cập
nhật dữ liệu trong một cơ sở dữ liệu.
MySQL là một trong những hệ thống quan ly cơ sở dit liệu(CSDL)
mã nguồn mở quan hệ SQL sử dụng trên web phô biến nhất hiện nay
Ưu điểm:
Dễ sử dụng: MySQL là cơ sở dữ liệu tốc độ cao, ôn định, dễ sử dụng
và hoạt động trên nhiều hệ điều hành cung cấp một hệ thống lớn cáchàm tiện ích rất mạnh
Độ bảo mật cao: MySQL rat thích hợp cho các ứng dụng có truy cậpCSDL trên Internet khi sở hữu nhiều nhiều tính năng bảo mật thậm
chí là ở cấp cao
Đa tính năng: MySQL hỗ trợ rất nhiều chức năng SQL được mongchờ từ một hệ quản trị cơ sở dir liệu quan hệ cả trực tiếp lẫn gián tiếp.Khả năng mở rộng và mạnh mẽ: MySQL có thể xử lý rất nhiều dữ liệu
và hơn thê nữa nó có thé được mở rộng nêu cân thiệt.
14
Trang 40Chương 3.
CHATBOT
Nhanh chóng: Việc đưa ra một số tiêu chuẩn cho phép MySQL dé làm
việc rất hiệu quả và tiết kiệm chi phí, do đó nó làm tăng tốc độ thực thi
hơn so với một số hệ quản trị cơ sở đữ liệu quan hệ khác
Dung lượng hạn chế: Nếu database của mình lớn dan lên thì việc truyxuất dữ liệu khá khó khăn, khi đó chúng ta sẽ phải áp dụng nhiều biệnpháp dé tăng tốc độ truy xuất dữ liệu như là chia tải database này ranhiều server, hoặc tạo cache MySQL
TÌM HIẾU VÀ LUA CHỌN CÔNG NGHỆ UNG DUNG
3.1 Tìm hiểu về chatbot
3.1.1. Giới thiệu về Chatbot:
Chatbot là một chương trình kết hợp với trí tuệ nhân tạo (AI) dé tương
tác với con người Công cụ này thay thé cho nhân viên dé tư van trả lời
những gì khách hàng thắc mắc Chatbot giúp cho doanh nghiệp có thé
tư van nhu cầu của khách hàng dựa trên những yêu cầu của họ, kết hợpvới trí tuệ nhân tạo có thể
Chatbot sau khi nhận được đữ liệu hay yêu cầu của người dùng sẽ phântích và đưa ra một ngữ cảnh cụ thé dé người lập trình và máy tinh cóthể hiểu được
15