Các doanh nghiệp muốn tiến hành bán hàng trực tuyến, thì điều dầu tiên họ cần đến là một website chất lượng với mọt hệ thống thông tin được thiết kế tốt, giao diện đẹp và dễ sử dụng.. Vớ
Trang 1ĐẠI HỌC ĐÀ NẴNG TRƯỜNG ĐẠI HỌC SƯ PHẠM
-
BÁO CÁO KHÓA LUẬN TỐT NGHIỆP
THIẾT KẾ VÀ XÂY DỰNG WEBSITE BÁN GIÀY
Sinh viên : Võ Ngọc Thành Đạt GVHD : TS Nguyễn Trần Quốc Vinh
Trang 2Trường Đại Học Sư Phạm – Đại Học
Tên đề tài: NGHIÊN CỨU XÂY DỰNG THIẾT KẾ WEBSITE BÁN GIÀY
Giảng viên hướng dẫn: TS NGUYỄN TRẦN QUỐC VINH
Nhiệm vụ của sinh viên
- Lên kế hoạch thực hiện
- Bắt đầu công việc
Trang 3PHẦN NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN
Đà Nẵng, Ngày … tháng … năm 2021
Giảng viên hướng dẫn
Trang 4PHẦN NHẬN XÉT CỦA HỘI ĐỒNG PHẢN BIỆN
Đà Nẵng, Ngày … tháng … năm 2021
Hội Đồng Phản Biện
Trang 5MỤC LỤC
MỤC LỤC 5
DANH MỤC HÌNH ẢNH 9
LỜI CẢM ƠN 11
MỞ ĐẦU 12
THÔNG TIN KẾT QUẢ NGHIÊN CỨU 14
CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ THIẾT KẾ WEBSITE 16
1.1 Tìm hiểu về các ngôn ngữ lập trình 16
1.1.1Ngôn ngữ HTML 16
1.1.2Ngôn ngữ CSS 17
1.1.3Ngôn ngữ lập trình NodeJS 18
1.1.4 Framework ReactJS 19
1.2 Một số thư viện hỗ trợ 19
1.2.1 Thư viện Javascript 19
1.2.2 Thư viện Ajax 20
1.2.3 Thư viện BOOTSTRAP 20
1.2.4 Thư viện JQUERY 21
1.3 Cơ sở dữ liệu MongoDB 22
1.3.1 Khái niệm cơ sở dữ liệu MongoDB 22
1.3.2Các thành phần của MongoDB 23
1.4 Giới thiệu về Dialogflow 24
1.4.1 Khái niệm về Dialogflow 24
1.4.2 Lịch sử ra đời và hoạt động 26
Trang 6CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE 27
2.1 Khảo sát và đặc tả yêu cầu 27
2.1.1 Phần quản lý trong admin 27
2.1.2 Giao diện người dùng 27
2.2 Phân tích thiết kế hệ thống 28
2.2.1 Các chức năng của hệ thống 28
2.2.2 Các tác nhân của hệ thống 28
2.3 Biểu đồ use case 32
2.3.1 Biểu đồ Use – case tổng quát 32
2.3.2 Use case quản lý danh mục sản phẩm 33
2.3.3 Use case khách hàng quản lý giỏ hàng 34
2.3.4 Use case quản lý sản phẩm 35
2.3.5 Use case quản lý thành viên 37
2.3.6 Use case quản lý đơn đặt hàng 38
2.4 Biểu đồ tuần tự 39
2.4.1 Biểu đồ tuần tự chức năng đăng nhập 39
2.4.2 Biểu đồ tuần tự chức năng đăng ký 40
2.4.3 Biểu đồ tuần tự chức năng tìm kiếm sản phẩm 41
2.4.4 Biểu đồ tuần tự quản lý thành viên 42
2.4.5 Biểu đồ tuần tự quản lý đơn đặt hàng 43
2.5 Biểu đồ hoạt động 44
2.5.1 Biểu đồ hoạt động đăng ký tài khoản 44
2.5.2 Biểu đồ hoạt động đăng nhập tài khoản 45
Trang 72.5.3 Biểu đồ hoạt động mua hàng và thanh toán 46
2.5.4 Biểu đồ hoạt động tìm kiếm sản phẩm 47
2.6 Biểu đồ trạng thái 48
2.6.1 Biểu đồ trạng thái đăng ký tài khoản 48
2.6.2 Biểu đồ trạng thái đăng nhập tài khoản 49
2.6.3 Biểu đồ trạng thái quản lý thành viên 50
2.6.4 Biểu đồ trạng thái tìm kiếm sản phẩm 51
2.7 Biểu đồ lớp phân tích 52
2.8 Thiết kế cơ sở dữ liệu 53
2.8.1 Bảng Admin 53
2.8.2 Bảng Product 53
2.8.3 Bảng User 54
2.9 Quy trình hệ thống chatbot 54
2.9.1Khảo sát và sử dựng chatbot 54
2.9.2 Lựa chọn nền tảng và công cụ xây dựng chatbot 55
2.9.3 Xây dựng kịch bản triển khai chatbot 56
2.9.4 Chatbot phản hồi như thế nào? 56
2.9.5 Phân tích và theo dõi 58
CHƯƠNG 3: THIẾT KẾ VÀ XÂY DỰNG WEBSITE 59
3.1 Giao diện hiển thị 59
3.1.1 Giao diện trang chủ hiển thị 59
3.1.2 Giao diện sản phẩm 59
3.1.3 Giao diện đăng nhập 60
Trang 83.1.4 Giao diện đăng ký 60
3.1.5 Giao diện giỏ hàng 61
3.2.6 Giao diện hệ thống chatbot hỗ trợ người dùng 62
3.2 Giao diện chức năng quản lý 63
3.2.1 Giao diện trang chủ admin 63
3.2.2 Giao diện trang quản lý sản phẩm 63
3.2.3 Giao diện trang quản đơn đặt hàng 64
64 KẾT LUẬN 65
1 Kết quả đạt được 65
2 Hạn chế của đề tài 65
3 Hướng phát triển 66
TÀI LIỆU THAM KHẢO 67
3.2.4 Giao diện trang quản lý sản phẩm 64
3.2.5 Giao diện trang quản lý người dùng
Trang 9DANH MỤC HÌNH ẢNH
Hình 1: Dialogflow 25
Hình 2: Biểu đồ Use case tổng quát 32
Hình 3: Biểu đồ Use case quản lý danh mục sản phẩm 33
Hình 4: Biểu đồ Use case quản lý giỏ hàng 34
Hình 5: Biểu đồ Use case quản lý sản phẩm 35
Hình 6: Biểu đồ Use case quản lý thành viên 37
Hình 7: Biểu đồ Use case quản lý đơn đặt hàng 38
Hình 8: Biểu đồ tuần tự chức năng đăng nhập 39
Hình 9: Biểu đồ tuần tự chức năng đăng ký 40
Hình 10: Biểu đồ tuần tự chức năng tìm kiếm sản phẩm 41
Hình 11: Biểu đồ tuần tự quản lý thành viên 42
Hình 12: Biểu đồ tuần tự quản lý đơn đặt hàng 43
Hình 13: Biểu đồ hoạt động đăng ký tài khoản 44
Hình 14: Biểu đồ hoạt động đăng nhập tài khoản 45
Hình 15: Biểu đồ hoạt mua hàng và thanh toán 46
Hình 16: Biểu đồ hoạt động tìm kiếm sản phẩm 47
Hình 17: Biểu đồ trạng thái đăng ký tài khoản 48
Hình 18: Biểu đồ trạng thái đăng nhập tài khoản 49
Hình 19: Biểu đồ trạng thái quản lý thành viên 50
Hình 20: Biểu đồ trạng thái tìm kiếm sản phẩm 51
Hình 21: Biểu đồ lớp phân tích 52
Hình 22: Bảng Admin 53
Trang 10Hình 23: Bảng Category_Product 53
Hình 24: Bảng User 54
Hình 25: quy trình hoạt động của chabot 57
Hình 26: Giao diện trang chủ hiển thị 59
Hình 27: Giao diện sản phẩm 59
Hình 28: Giao diện đăng nhập 60
Hình 29: Giao diện đăng ký 60
Hình 30: Giao diện giỏ hàng 61
Hình 31: Giao diện hệ thống chatbot hỗ trợ người dùng 62
Hình 32: Giao diện trang chủ admin 63
Hình 33: Giao diện trang quản lý sản phẩm 63
Hình 34: Giao diện trang quản đơn đặt hàng 64
Hình 35: Giao diện trang quản lý người dùng 64
Trang 11Nếu không có cha mẹ, không có thầy cô chắc chắn em sẽ không có được như ngày hôm nay
Trước tiên, con xin thành kính cảm ơn cha mẹ đã cho con tất cả để con vững bước trên con đường đời
Em xin gửi lời cảm ơn chân thành đến thầy Ts Nguyễn Trần Quốc Vinh đã tận tình hướng dẫn em hoàn thành đồ án tốt nghiệp này Em sẽ luôn trân trọng và gìn giữ những tình cảm tốt đẹp mà thầy đã dành cho em
Một lần nữa, em xin gửi lời cảm ơn đến tất cả các thầy cô Trường Đại Học Sư Phạm Đà Nẵng đã giảng dạy, giúp đỡ em trong thời gian vừa qua
Xin trân trọng cảm ơn!
Đà Nẵng, ngày tháng năm 2021
Sinh viên thực hiện
Võ Ngọc Thành Đạt
Trang 12MỞ ĐẦU
Ngày nay, với sự phát triển mạnh mẽ của khoa học công nghệ, Công nghệ Thông tin là một trong những ngành có vị thế dẫn đầu và có vai trò rất lớn trong sự phát triển chung đó Các ứng dụng của công nghệ thông tin được
áp dụng trong mọi lĩnh vực nghiên cứu khoa học cũng như trong mọi lĩnh vực của đời sống Là một phần của Công nghệ Thông tin, Công nghệ web đang có được sự phát triển mạnh mẽ và phổ biến rất nhanh bởi những lợi ích mà nó mang lại cho cộng đồng là rất lớn
Không kể tới những đóng góp to lớn mà ngành công nghệ thông tin đã làm được cho lĩnh vực nghiên cứu khoa học kỹ thuạt, mà chúng ta có thể nhìn thấy luôn những đóng góp thiết thực mà nó mang lại trong đời sống xã hội của con người
Hãy thử nhìn vào chiếc máy tính của mình, chỉ với một vài thao tác đơn giản, thậm chí chỉ cần 1 nút click chuột, bạn có thể đọc báo, xem phim, nghe nhạc và cả mua sắm qua mạng, có thể nói là cả thế giới thông tin gần như hiện ra trươc mắt bạn
Nói riêng việc mua hàng trực tuyến, thì hiện nay trên thế giới đã có rất nhiều website nổi tiếng, uy tín phục vụ cho người dung, có thể kể đến như ebay.com hay amazon.com, còn ngay tại Việt Nam cũng có vatgia.com Các doanh nghiệp muốn tiến hành bán hàng trực tuyến, thì điều dầu tiên họ cần đến là một website chất lượng với mọt hệ thống thông tin được thiết kế tốt, giao diện đẹp và dễ sử dụng
Em đã lựa chọn đề tài “NGHIÊN CỨU XÂY DỰNG WEBSITE BÁN GIÀY” với mong muốn vận dụng những kiến thức mình đã học, xây dựng được một trang web có tính thực tiễn , đồng thời cũng cố thêm kiến thức
Trang 13Với một số mục tiêu khi thiết kế trang web
- Bước đầu xây dựng website bán hàng trực tuyến nhằm quảng bá rộng rãi các sản phẩm
- Rút ngắn khoảng cách giữa nhà phân phối và người tiêu dùng, đồng thời tiết kiệm đáng kể thời gian chi phí thông qua những thông tin phù hợp nhất với nhu cầu của khách hàng
Với đề tài này, em xin được trình bày một cách thức quản lý website giúp cho những người quản trị dễ dàng trong việc thay đổi , cập nhật thông tin trang web, cũng như quản lý hiệu quả khách hàng và các đơn đặt hàng trên mạng
Website bán hàng giúp cho người bán có thể dễ dàng cung cấp cho khách hàng những lựa chọn linh hoạt và tiện lợi trong việc tìm mua sản phẩm thông qua chức năng tìm kiếm và giỏ hàng Các thông tin về sản phẩm được hiển thị chi tiết với từng sản phẩm, từ đó khách hàng dễ dàng nhận biết và lựa chọn được thứ mình cần Hệ thống mang lại sự tiện dụng trong việc cập nhập
và quản lý các thông tin cho website, tạo khả năng liên lạc nhanh và dễ dang với khách hàng
Nội dung đề tài gồm các chương:
Chương 1 : Tổng quan về công nghệ thiết kế Website
Chương 2 : Phân tích thiết kế hệ thống Website
Chương 3 : Thiết kế và xây dựng Website
Trang 14THÔNG TIN KẾT QUẢ NGHIÊN CỨU
1 Tính cấp thiết của đề tài
- Cùng với sự phát triển mạnh mẽ của Internet, ngày nay, việc sở hữu một
Website không còn là điều xa lạ, thậm chí trong một số trường hợp còn
là tiêu chuẩn bắt buộc đối với doanh nghiệp – công ty trong thời điểm cạnh tranh mang tính toàn cầu như hiện nay
2 Mục tiêu
- Xây dựng các chức năng cơ bản của một website bán hàng Website
có khả năng tự tương thích, hiển thị được trên tất cả các thiết bị hiện tại
và có thể nâng cấp trong tương lai
- Website hiển thị sản phẩm đẹp, thu hút người dùng
- Hỗ trợ khách hàng một cách nhanh nhất khi nhận được yêu cầu liên
hệ
- Quản lý các mặt hàng sản phẩm, cấu hình website
- Quản lý thống kê doanh thu, các đơn hàng sản phẩm, số lượng sản phẩm tồn đọng
- Nắm bắt được công nghệ thiết kế web bằng ReactJS, NodeJS, HTML, JQUERY, JAVASCRIPT, CSS
- Ứng dụng Frameword ReactJS vào xây dựng trang web
3 Nội dung chính
- Tìm hiều, ứng dụng các ngôn ngữ lập trình vào thiết kế website
- Thiết kế đặc tả hệ thống
- Xây dựng các module quản lý
- Tìm hiểu về NodeJS, MongoDB , ReactJS phục vụ trong quá trình xây
dựng trang web
Trang 154 Kết quả chính đạt được
- Xây dựng thành công website bán giày
- Tìm hiểu nắm bắt được các kiến thức về HTML , CSS , JQUERY ,
ReactJS , MongoDB,…
- Ứng dụng , phát triển được công nghệ thiết kế web bằng ReactJS
phép nên đề tài “Xây dựng website bán giày” có thể chưa có đầy đủ các
chức năng hoàn thiện của một trang web bán hàng Trong quá trình làm còn nhều sai sót, do kiến thức có hạn lên website còn ít nhiều thiếu sót
về việc hiển thị cũng như tối ưu thuật toán, thời gian thực hiện Trong tương lai em sẽ cố gắng khắc phục những sai sót này.
Trang 16CHƯƠNG 1: TỔNG QUAN VỀ CÔNG NGHỆ THIẾT KẾ
HTML là một chuẩn ngôn ngữ internet được tạo ra và phát triển bởi tổ chức World Wide Web Consortium còn được viết tắc là W3C Trước đó thì HTML xuất bản theo chuẩn của RFC HTML được tương thích với mọi hệ điều hành cùng các trình duyệt của nó Khả năng dễ học, dễ viết là một ưu điểm của HTML không những vậy việc soạn thảo đòi hỏi hết sức đơn giản, chúng ta có thể dùng word, notepad hay bất cứ một trình soạn thảo văn bản nào để viết và chỉ cần lưu với định dạng “.html “ hoặc “.htm” là đã có thể tạo
Trang 17ra một file chứa HTML Hiện nay, phiên bản mới nhất của HTML là HTML5 với nhiều tính năng ưu việt so với các phiên bản cũ HTML cải tiến khá nhiều đặc biệt hỗ trợ mạnh mẽ các phần tử multimedia mà không cần các plugin Một tập tin HTML bao gồm trong đó là các đoạn văn bản HTML, được tạo lên bởi các thẻ HTML HTML5 nói chung mạnh mẽ hơn nhiều không chỉ về tốc độ và độ thích ứng cao mà chính là khả năng hỗ trợ API (Application Programming Interface - giao diện lập trình ứng dụng) và DOM (Document Object Model – các đối tượng thao tác văn bản)
1.1.2 Ngôn ngữ CSS
CSS (Cascading Style Sheets) là một ngôn ngữ quy định cách trình bày cho các tài liệu viết bằng HTML, XHTML, XML, SVG, hay UML,…CSS quy định cách hiển thị của các thẻ HTML bằng cách quy định các thuộc tính của các thẻ đó (font chữ, kích thước, màu sắc )
CSS có cấu trúc đơn giản và sử dụng các từ tiếng anh để đặt tên cho các thuộc tính CSS khi sử dụng có thể viết trực tiếp xen lẫn vào mã HTML hoặc tham chiếu từ một file css riêng biệt Hiện nay CSS thường được viết riêng thành một tập tin với mở rộng là “.css” Chính vì vậy mà các trang web có sử dụng CSS thì mã HTML sẽ trở nên ngắn gọn hơn Ngoài ra có thể sử dụng một tập tin CSS đó cho nhiều website tiết kiệm rất nhiều thời gian và công sức Một đặc điểm quan trọng đó là tính kế thừa của CSS do đó sẽ giảm được
số lượng dòng code mà vẫn đạt được yêu cầu
Tuy nhiên, đối với CSS thì các trình duyệt hiểu theo kiểu riêng của nó
Do vậy, việc trình bày một nội dung trên các trình duyệt khác nhau là không thống nhất CSS cung cấp hàng trăm thuộc tính trình bày dành cho các đối tượng với sự sáng tạo cao trong kết hợp các thuộc tính giúp mang lại hiệu quả
Trang 181.1.3 Ngôn ngữ lập trình NodeJS
Nodejs là một nền tảng (Platform) phát triển độc lập được xây dựng ở
trên Javascript Runtime của Chrome mà chúng ta có thể xây dựng được các ứng dụng mạng một cách nhanh chóng và dễ dàng mở rộng Một tập tin PHP
có phần mở rộng *.php, nó có thể chứa các văn bản, mã nguồn HTML, CSS, Javascript, Jquery và đương nhiên có thể chứa mã nguồn PHP
Phần Core bên dưới của Nodejs được viết hầu hết bằng C++ nên cho tốc
độ xử lý và hiệu năng khá cao Nodejs tạo ra được các ứng dụng có tốc độ xử
lý nhanh, realtime thời gian thực
Nodejs áp dụng cho các sản phẩm có lượng truy cập lớn, cần mở rộng nhanh, cần đổi mới công nghệ, hoặc tạo ra các dự án Startup nhanh nhất có thể
Các ứng dụng Nodejs được viết bằng javascript, ngôn ngữ này là một
ngôn ngữ khá thông dụng Theo tác giả của ngôn ngữ Javascript, Ryan
Dahl: “Javascript có những đặc tính mà làm cho nó rất khác biệt so với các
ngôn ngữ lập trình động còn lại, cụ thể là nó không có khái niệm về đa luồng, tất cả là đơn luồng và hướng sự kiện.”
Nodejs chạy đa nền tảng phía Server, sử dụng kiến trúc hướng sự kiện Event-driven, cơ chế non-blocking I/O làm cho nó nhẹ và hiệu quả
Có thể chạy ứng dụng Nodejs ở bất kỳ đâu trên máy Mac – Window – Linux, hơn nữa cộng đồng Nodejs rất lớn và hoàn toàn miễn phí Các bạn có thể thấy cộng đồng Nodejs lớn như thế nào tại đây, các package đều hoàn toàn free: https://www.npmjs.com/
Các ứng dụng NodeJS đáp ứng tốt thời gian thực và chạy đa nền tảng, đa thiết bị.
Trang 19React là một thư viện UI phát triển tại Facebook để hỗ trợ việc xây dựng những thành phần (components) UI có tính tương tác cao, có trạng thái
và có thể sử dụng lại được React được sử dụng tại Facebook trong production,
Một trong những điểm hấp dẫn của React là thư viện này không chỉ hoạt động trên phía client, mà còn được render trên server và có thể kết nối với nhau React so sánh sự thay đổi giữa các giá trị của lần render này với lần render trước và cập nhật ít thay đổi nhất trên DOM.
1.2 Một số thư viện hỗ trợ
1.2.1 Thư viện Javascript
JavaScript là một ngôn ngữ dạng script thường được sử dụng cho việc lập trình web ở phía client, nó tuân theo chuẩn ECMAScript Là một ngôn ngữ linh động, cú pháp dễ sử dụng như các ngôn ngữ khác và dễ dàng lập trình JavaScript không hề liên quan tới ngôn ngữ lập trình java, được hầu hết các trình duyệt ngày nay hỗ trợ Với javascript, ứng dụng web của bạn sẽ trở nên vô cùng sinh động, mang tính trực quan và tương tác cao JavaScript theo
Trang 20phiên bản hiện hành là một ngôn ngữ lập trình kịch bản dựa trên đối tượng được phát triển từ các ý niệm nguyên mẫu Ngôn ngữ này được dùng rộng rãi cho các trang web, nhưng cũng được dùng để tạo khả năng viết script sử dụng các đối tượng nằm sẵn trong các ứng dụng Giống Java, JavaScript có cú pháp tương tự ngôn ngữ lập trình C “.js” là phần mở rộng thường được dùng cho tập tin mã nguồn JavaScript
1.2.2 Thư viện Ajax
AJAX (Asynchronous JavaScript and XML - JavaScript và XML) là một nhóm các công nghệ phát triển web được sử dụng để tạo các ứng dụng web động hay các ứng dụng giàu tính Internet Ajax là một kỹ thuật phát triển web có tính tương tác cao bằng cách kết hợp các ngôn ngữ:
HTML (hoặc XHTML) với CSS trong việc hiển thị thông tin
Mô hình DOM (Document Object Model) được thực hiện thông qua JavaScript, nhằm hiển thị thông tin động và tương tác với những thông tin được hiển thị
Đối tượng XMLHttpRequest để trao đổi dữ liệu một cách không đồng bộ với máy chủ web
XML thường là định dạng cho dữ liệu truyền, mặc dầu bất cứ định dạng nào cũng có thể dùng, bao gồm HTML định dạng trước, văn bản thuần (plain text), JSON và ngay cả EBML
1.2.3 Thư viện BOOTSTRAP
Bootstrap là một Framework có chứa HTML, CSS, JAVASCRIPT, Framework trong tiếng việt có nghĩa là “khuôn khổ” giúp tiết kiệm được thời gian, công sức hơn nữa việc xây dựng hai teamplate cho giao diện Desktop và Mobile đã lỗi thời thay vào đó là Responsive Responsive sẽ giúp website của
Trang 21bạn hiển thị tương thích với mọi kích thước màn hình nhờ đó bạn sẽ tùy chỉnh hiện thị được nhiều hơn trên các loại màn hình khác nhau
Ưu điểm của Bootstrap
✓ Tiết kiệm thời gian: Boostrap giúp người thiết kế giao diện website tiết kiệm rất nhiều thời gian Các thư viện Bootstrap có những đoạn mã sẵn sàng cho bạn áp dùng vào website của mình Bạn không phải tốn quá nhiều thời gian để tự viết code cho giao diện của mình
✓ Tùy biến cao: Bạn hoàn toàn có thể dựa vào Bootstrap và phát triển nền tảng giao diện của chính mình Bootstrap cung cấp cho bạn hệ thống Grid System mặc định bao gồm 12 bột và độ rộng 940px Bạn có thể thay đổi, nâng cấp và phát triển dựa trên nền tảng này
✓ Responsive Web Design: Với Bootstrap, việc phát triển giao diện website để phù hợp với đa thiết bị trở nên dễ dàng hơn bao giờ hết Đây là xu hướng phát triển giao diện website đang rất được ưu chuộng trên thế giới
1.2.4 Thư viện JQUERY
JQuery là một thư viện kiểu mới của JavaScript, được tạo bởi John Resig vào năm 2006 với một phương châm tuyệt vời: Write less, do more - Viết ít hơn, làm nhiều hơn
JQuery làm đơn giản hóa việc truyền tải HTML, xử lý sự kiện, tạo hiệu ứng động và tương tác Ajax Với jQuery, khái niệm Rapid Web Development
đã không còn quá xa lạ
JQuery là một bộ công cụ tiện ích JavaScript làm đơn giản hóa các tác
vụ đa dạng với việc viết ít code hơn Dưới đây liệt kê một số tính năng tối quan trọng được hỗ trợ bởi jQuery:
để traverse (duyệt) một cách dễ dàng như sử dụng CSS, và chỉnh sửa nội
Trang 22dung của chúng bởi sử dụng phương tiện Selector mã nguồn mở, mà được gọi
là Sizzle
việc xử lý các sự kiện đa dạng mà không làm cho HTML code rối tung lên với các Event Handler
tính năng và phản hồi tốt bởi sử dụng công nghệ AJAX
mắt mà bạn có thể sử dụng trong các Website của mình
19KB (gzipped)
hầu hết bởi các trình duyệt hiện đại, và làm việc tốt trên IE 6.0+, FF 2.0+, Safari 3.0+, Chrome và Opera 9.0+
Selector và cú pháp XPath cơ bản
1.3 Cơ sở dữ liệu MongoDB
1.3.1 Khái niệm cơ sở dữ liệu MongoDB
MongoDB là một chương trình cơ sở dữ liệu mã nguồn mở được thiết kế theo kiểu hướng đối tượng trong đó các bảng được cấu trúc một cách linh hoạt cho phép các dữ liệu lưu trên bảng không cần phải tuân theo một dạng cấu trúc nhất định nào Chính do cấu trúc linh hoạt này nên MongoDB có thể được dùng để lưu trữ các dữ liệu có cấu trúc phức tạp và đa dạng và không cố định (hay còn gọi là Big Data)
Trang 23MongoDB hoạt động dưới một tiến trình ngầm service luôn mở một cổng (Cổng mặc định là 27017) để lắng nghe các yêu cầu truy vấn, thao tác từ các ứng dụng gửi vào sau đó mới tiến hành xử lý
Mỗi một bản ghi của MongoDB được tự động gắn thêm một field có tên
“_id” thuộc kiểu dữ liệu ObjectId mà nó quy định để xác định được tính duy nhất của bản ghi này so với bản ghi khác, cũng như phục vụ các thao tác tìm kiếm và truy vấn thông tin về sau Trường dữ liệu “_id” luôn được tự động đánh index (chỉ mục) để tốc độ truy vấn thông tin đạt hiệu suất cao nhất
Mỗi khi có một truy vấn dữ liệu, bản ghi được cache (ghi đệm) lên bộ nhớ Ram, để phục vụ lượt truy vấn sau diễn ra nhanh hơn mà không cần phải đọc từ ổ cứng Khi có yêu cầu thêm/sửa/xóa bản ghi, để đảm bảo hiệu suất của ứng dụng mặc định MongoDB sẽ chưa cập nhật xuống ổ cứng ngay, mà sau 60 giây MongoDB mới thực hiện ghi toàn bộ dữ liệu thay đổi từ RAM xuống ổ cứng
1.3.2 Các thành phần của MongoDB
Dưới đây là một vài thuật ngữ phổ biến được sử dụng trong MongoDB:
- _id: là trường bắt buộc phải có trong mỗi Document Trường này biểu diễn các giá trị duy nhất cho từng Document Vì nó là bắt buộc nên nếu chẳng may bạn có quên thì MongoDB sẽ tự động sinh ra cho bạn trường này
- collection: là một tập các Documents Một collection tương đương với một bảng được tạo bởi bất kỳ một hệ quản trị cơ sở dữ liệu quan hệ nào có thể là Oracle hay MySQL Một collection tồn tại trong cơ sở dữ liệu và nó không có bất kỳ một loại cấu trúc nào
- Cursor: là con trỏ trỏ tới tập kết quả của một tập truy vấn Client
có thể lặp qua một con trỏ để lấy kết quả của dữ liệu
Trang 24- Database: là một container của các collection giống như là một cơ
sở dữ liệu chứa các bảng trong RDBMS Mỗi database có một bộ các file trên hệ thống file Server của MongoDB có thể lưu trữ được nhiều database
- Document: là một bản ghi trong 1 collection của MongoDB tương ứng được gọi là 1 document Document lần lượt bao gồm có tên trường và giá trị tương ứng
- Field: là một cặp key-value 1 Document có thể không có trường nào hoặc có thể có nhiều trường Các trường này tương tự như các cột trong RDBMS
- SON: được biết đến như là một ký hiệu đối tượng JavaScript Đây
là một dạng văn bản đơn giản, dễ đọc để thể hiện dữ liệu có cấu trúc Hiện tại JSON được hỗ trợ trong nhiều ngôn ngữ lập trình
1.4 Giới thiệu về Dialogflow
1.4.1 Khái niệm về Dialogflow
Dialogflow hiện là nền tảng xử lý ngôn ngữ tự nhiên và AI số một trên thế giới cho tất cả các loại hình doanh nghiệp Đó là sản phẩm của Google và được cung cấp miễn phí Với sự tích hợp với cả ứng dụng AI bằng giọng nói và văn bản như Google Assistant, Amazon Alexa và Microsoft Cortana, bạn có thể xây dựng bất kỳ loại ứng dụng AI nào cho khách hàng của mình, những người sẽ có thể tương tác qua điện thoại di động của họ, Google Home, Amazon Alexa và hơn
Trang 25Hình 1: Dialogflow
Dialogflow cho phép bạn tạo ra một giao diện ngôn ngữ tự nhiên bằng
cách cung cấp dữ liệu có thể hành động dựa trên dầu vào đã cho Nên tảng
này bao gồm nhận dạng giọng nói Nền tảng hoạt động trên cơ sở các ý định
và thực thể được nhận ra từ lời nói của người dùng thay vì chỉ dựa trên phản
hồi của người dùng Có một số giao diện cho người dùng dựa trên web để xác
định thực thể, ý định và phản hồi cho chatbot hoặc giao cho giao diện ngôn
ngữ tự nhiên khác Nhật ký của hệ thống sẽ phát triển dựa trên các ý định
được xác định đại diên cho ý định của người cuối luồng của hộp thoại có thể
được xác định bằng cách định dạng cấu hình ngữ cảnh, ưu tiên ý định, điền
vào khe, và thực hiện bằng cách sử dụng webhook
Dialogflow bao gồm khả năng học máy để cải thiện hơn nữa việc phát
triển các ý định từ những phát biểu của người dùng Múc đích boa gồm các
phần nối tiếp: người dùng nói, hệ thống hành động, phản hồi các câu hỏi của
người dùng được viết ở chế độ mẫu hoặc ví dụ mẫy Chế độ mẫu này được
viết bằng ngôn ngữ tự nhiên và có thể được chú thích cho các tham số trong
chế độ mẫu, các tham số được tham chiếu trực tiếp trong các lời nói và chúng
không cần phải chú thích
Trang 261.4.2 Lịch sử ra đời và hoạt động
Dialogflow trước đây(Speak hay API.AI) được biết đến nhiều nhất khi tạo trợ lý (Assistant), một người bạn ảo cho điện thoại thông minh Android, IOS và Windows Phone thực hiện các tác vụ và trả lời câu hỏi của người dùng bằng ngôn ngữ tự nhiên Dialogflow cũng đã tạo ra một công cụ xử lý ngôn ngữ tự nhiên kết hợp ngữ cảnh trò chuyện như lịch sử đối thoại, vị trí và sở thích của người dùng Nó được Google đổi tên chính thức vào ngày 10 tháng
10 năm 2017 dưới dạng Dialogflow
Trang 27CHƯƠNG 2: PHÂN TÍCH THIẾT KẾ HỆ THỐNG WEBSITE 2.1 Khảo sát và đặc tả yêu cầu
2.1.1 Phần quản lý trong admin
- Admin quản lý toàn bộ hoạt động của cửa hàng
- Quản lý giao dịch thanh toán, mua hàng, xử lý các đơn đặt hàng
- Quản lý hóa đơn: khi mua hàng khách hàng sẽ có hóa đơn mua gồm số tên khách hàng, địa chỉ người nhận, ngày đặt hàng,…
- Thống kê tổng số đơn đặt hàng, tổng số liên hệ, trong ngày và trong tháng , thuận tiện cho người quản trị tiến hành xử lý các đơn hàng, các liên hệ của người dùng
- Thống kê các mặt hàng tồn
- Tư vấn trả lời các liên hệ của khách hàng
2.1.2 Giao diện người dùng
- Website không nên quá phức tạp
- Dung lượng file không quá lớn
- Thanh menu thật đơn giản
- Phải có thông tin liên hệ
- Font chữ đơn giản, dễ nhìn, màu sắc hài hòa
- An toàn và bảo mật dữ liệu
- Kiểm tra website có tương thích với các trình duyệt phổ biến hay không
- Hiển thị được các sản phẩm mới nhập về, các sản phẩm khuyến mãi, các sản
- Cho phép khách hàng đăng ký tài khoản để nhận các tin khuyến mãi, mua
hàng được thuận tiện
- Cho phép liên hệ với người quản trị
Trang 282.2 Phân tích thiết kế hệ thống
2.2.1 Các chức năng của hệ thống
➢ Hệ thống quản trị trang web
- Quản lý các đơn hàng các giao dịch
- Quản lý doanh thu
- Quản lý danh mục sản phẩm
- Quản lý sản phẩm: Cập nhật thông tin về các sản phẩm
- Quản lý phân quyền
- Quản lý danh sách người dùng
- Thống kê
➢ Hệ thống giới thiệu sản phẩm
- Hiển thị danh mục của sản phẩm
- Cho phép đăng ký, đăng nhập tài khoản
- Cho phép người dung thay đổi thông tin tài khoản
- Người dùng xem hàng, đặt hàng, xem hóa đơn, lưu trữ các đơn hàng
Tác nhân quản lý có các chức năng sau: quản lý sản phẩm, quản lý danh mục sản phẩm, quản lý giỏ hàng, quản lý hóa đơn, quản lý chi tiết hóa đơn, quản lý khách hàng, quản lý đặt hàng, quản lý chi tiết đặt hàng, thống kê Để thực hiện chức năng này người quản lý phải đăng nhập
Tác nhân khách hàng: có thể thực hiện các chức năng như đăng ký tài khoản, đăng nhập Tìm kiếm sản phẩm, xem tin tức, đặt hàng, xem giỏ hàng, in hóa đơn
Trang 29Chức năng Admin
Bảng 2.2 - Bảng chức năng của Admin
1 Đăng nhập
Thực hiện đăng nhập vào hệ thống, nhập vào username và password Kiểm tra hợp lệ trùng với dữ liệu có sẵn thì hệ thống sẽ cho phép đăng nhập để thực hiện các chức năng trong hệ thống
3 Quản lý giao diện Quản lý giao diện là thêm, sửa, xóa bảo trì giao diện
4 Quản lý tài khoản Quản lý thông tin tài khoản đăng nhập của người
dùng khi muốn đăng nhập vào hệ thống quản trị ,
5 Quản lý phân quyền Quản lý phân quyền Admin cấp quyền cho nhân viên
• Chức năng quản lý
Bảng 2.3 - Bảng chức năng quản lý
1 Đăng nhập
Thực hiện đăng nhập vào hệ thống, nhập vào username
và password Kiểm tra hợp lệ trùng với dữ liệu có sẵn thì hệ thống sẽ cho phép đăng nhập để thực hiện các chức năng trong hệ thống
2 Quản trị hệ thống Quản lý toàn hộ hệ thống, có quyền thay đổi các thông
tin sản phẩm, bài viết, trong hệ thống
3 Quản lý sản phẩm Quản lý, lưu trữ thông tin về sản phẩm như mã sản
phẩm, tên sản phẩm…
4 Quản lý danh
mục sản phẩm Quản lý thông tin về các danh mục sản phẩm
Trang 30Mục Tên chức năng Mô tả
5 Quản lý đặt hàng
Quản lý thông tin về các đơn đặt hàng như: tên người đặt hàng, địa chỉ người nhận, số điện thoại, hình thức thanh toán, tổng tiền…
6 Quản lý chi tiết
mã khách hàng, số điện thoại, email
8 Quản lý chi tiết
10 Quản lý thống kê Quản lý thống kê sản phẩm, doanh thu
Trang 31• Chức năng người dùng
Bảng 2.5 - Bảng chức năng của người dùng
1 Tạo một tài khoản
mới
Khách hàng có thể thực hiện thao tác đăng ký để trở thành nhân viên thuận tiện cho việc mua sản phẩm và hưởng những khuyến mại của website
2 Quản lý thông tin
4 Tìm kiếm thông
tin
Tìm kiếm, nhanh về thông tin sản phẩm, dựa vào các tiêu chí tìm kiếm của website như tìm theo tên của sản phẩm…
5 Đặt hàng
Khách hàng có thể thực hiện chức năng này để đặt mua hàng, nhằm giảm thiểu thời gian và chi phí cho khách hàng
6 Giỏ hàng
Sau khi đăng nhập và chọn mua sản phẩm, giỏ hàng là nơi chứa thông tin về sản phẩm mà khách hàng đã chọn mua như số lượng sản phẩm, tên sản phẩm và giá tiền sản phẩm đó
7 Thanh toán
Sau khi chọn mua sản phẩm , người dùng tiến hành gửi thông tin, chọn hình thức thanh toán, hình thức vận chuyển tiến hành đặt hàng
Trang 322.3 Biểu đồ use case
2.3.1 Biểu đồ Use – case tổng quát
Hình 2: Biểu đồ Use case tổng quát
Trang 332.3.2 Use case quản lý danh mục sản phẩm
Hình 3: Biểu đồ Use case quản lý danh mục sản phẩm