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

Khóa luận tốt nghiệp Công nghệ phần mềm: Xây dựng ứng dụng chia sẻ công thức nấu ăn tích hợp chatbot

111 0 0
Tài liệu đã được kiểm tra trùng lặp

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Tiêu đề Xây Dựng Ứng Dụng Chia Sẻ Công Thức Nấu Ăn Tích Hợp Chatbot
Tác giả Lê Nhị Khang, Võ Đoàn Minh Hiếu
Người hướng dẫn TS. Huỳnh Ngọc Tín
Trường học Đại Học Quốc Gia TP. Hồ Chí Minh
Chuyên ngành Công Nghệ Phần Mềm
Thể loại khóa luận tốt nghiệp
Năm xuất bản 2022
Thành phố TP. Hồ Chí Minh
Định dạng
Số trang 111
Dung lượng 53,81 MB

Nội dung

Nội dung thực hiện - Tìm kiếm về bài toán chia sẻ kiến thức nau ăn - Khảo sát các nghiên cứu và hệ thống liên quan - Xác định và phân tích yêu cầu hệ thống - Thu thập và xử lý dữ liệu về

Trang 1

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRUONG DAI HOC CONG NGHE THONG TIN

KHOA CONG NGHE PHAN MEM

LE NHI KHANG

VO DOAN MINH HIEU

KHOA LUAN TOT NGHIEP

Building a food recipe sharing application with a built-in chatbot

KY SU NGANH CONG NGHE PHAN MEM

TP HO CHi MINH, 2022

Trang 2

ĐẠI HỌC QUOC GIA TP HO CHÍ MINH

TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN

KHOA CÔNG NGHỆ PHAN MEM

LE NHI KHANG - 18520888

VO DOAN MINH HIEU - 18520757

KHOA LUAN TOT NGHIEP

Building a food recipe sharing application with a built-in chatbot

KY SU NGANH CONG NGHE PHAN MEM

GIANG VIEN HUONG DAN

TS HUYNH NGỌC TÍN

TP HO CHI MINH, 2022

Trang 3

THONG TIN HOI DONG CHAM KHÓA LUẬN TOT NGHIỆP

Hội đồng cham khóa luận tốt nghiệp, thành lập theo Quyết định số

-TigầYy của Hiệu trưởng Trường Dai học Công nghệ Thông tin.

— Chủ tịch.

°M — Thư ký.

— Ủy viên

1ä — Ủy viên

Trang 4

ĐẠI HOC QUOC GIA TP HO CHI MINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh PhúcCÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng năm 2022

NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP

(CUA CAN BO HUONG DAN)

Tên khóa luận:

XÂY DUNG UNG DỤNG CHIA SE CÔNG THỨC NAU AN

TÍCH HỢP CHATBOT

Nhóm SV thực hiện: Cán bộ hướng dẫn:

Lê Nhị Khang 18520888 TS Huynh Ngọc Tín

Võ Đoàn Minh Hiếu 18520757

Đánh gia 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 pham

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

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 6

ĐẠI HOC QUOC GIA TP HO CHÍMINH CỘNG HÒA XÃ HỘI CHỦ NGHĨA VIỆT NAM

TRƯỜNG ĐẠI HỌC Độc Lập - Tự Do - Hạnh PhúcCÔNG NGHỆ THÔNG TIN

TP HCM, ngày tháng năm 2022

NHẬN XÉT KHÓA LUẬN TÓT NGHIỆP

(CỦA CÁN BỘ PHẢN BIỆN)

Tên khóa luận:

XÂY DUNG UNG DỤNG CHIA SE CÔNG THỨC NAU AN

TÍCH HỢP CHATBOT

Nhóm SV thực hiện: Cán bô phản biện:

Lê Nhị Khang 18520888

Võ Đoàn Minh Hiếu 18520757

Đánh gia 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 pham

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 7

Người nhận xét

(Ký tên và ghi rõ họ tên)

Trang 8

LỜ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 Đạihọc Công nghệ Thông tin Chúng em đã tìm tòi và được trang bị rất nhiều cáckiế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ế dé có thé hoàn thành Khóa luận tốt nghiệp của mình

Em xin gửi lời cảm ơn chân thành đến quý thầy cô, đặc biệt là thầy HuỳnhNgọc Tín đã hướng dẫn tận tình, và đóng góp ý kiến để chúng em có thể hoànthành khóa luận tốt nghiệp một cách tốt nhất

Trong quá trình làm khóa luận này nhóm không tránh khỏi được những sai

sót, rất mong quý thầy cô sẽ chỉ ra những lỗi sai để nhóm có thể rút được kinh

nghiệm cho chính bản thân mình và hoàn thiện hơn trong những dự á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 đẹpnhấ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, 15 tháng 6 năm 2022

LÊ NHỊ KHANG

VÕ ĐOÀN MINH HIẾU

Trang 9

MỤC LỤC

Chương 1 TỐNG QUAN DE TAL - 2-2 ©5£+E£+EE+EE£EEE2EEEEEEEErErrkrrkervee 2

1.1 Darn nhập SE S2 SE SE 121E21212121 21211111111 1111 11111111111 re 2

2.4 COOKY RBM cues Ms ae GhH:G L2 C0Ó0Q0 100 HH tà 7

2.5 Kết chương c 222 2c 2t E2 2E12212212112112111121111 011111 8

Chương 3 PHÂN TÍCH VA THIET KE HE THÓNG -: - 9

3.1 Mở Gaus ecceeecessssecessnecessnscessnsecessncessnscessuseesnnseesninscesnncesnnecesnueeeenineeesnneeestes 93.2 SO d6 USe CASC e.ceecsessessesssessessesssesssssessecsusssessessscsusssessessecsessussuessessecsuessesseeses 9

3.2.1 Sơ đồ use case tổng QUAN ccesccessessessesssessessesseessessessessuessessessesssesseeees 9

3.2.2 Danh sách aCfOTs Ghế 10 3.2.3 Danh sách US€ CaS€ G9 HnHnngHnggnệt 10 3.2.4 Đặc tả USC CASE 00000 HH ng xe 11

3.2.4.1 Use case đăng nhậtp - - St ng HH ng Hết 11

3.2.4.2 Use case đăng ky - Ăn HH TH ng HH nư 11

Trang 10

3.2.4.3 Use case quản lý bài ViẾt 2¿-55c2cx2ctezEerkrsrkrrrrerkervee 12

3.2.4.4 Use case tương tác bài ViẾC ¿-55¿©2+2ccccxterkrsrkerrrerkrerkee 14

3.2.4.5 Use case theo dõi người dùng khác - «+ +-«<++s++sss+ 16

3.2.4.7 Use case chat với chatoOI c- 5 s1 ng nến 19 3.2.4.8 Use case cập nhật thơng tin cá nhân - «+5 «<++<s++s++ 19

3.3 Thiết kế dữ liệu -c:-+c2rkrtrtrtrhthHH Hee 20

3.3.1 So đồ lớp tổng quát -¿©-¿+ck+EEeEEEEESEEEEEEEEErrrkerkerree 20

3.3.2.1 Mơ tả Users COlÏ€CfIOI c5 SE SE Eiksereekreke 22 3.3.2.2 Mơ tả Recipes COlÏ€CfIOT 255 35 3E kseeereeeeeeerereere 23

3.3.2.3 Mơ tả Posts CỌÏeCIOH c1 13111331119 1 re 25

3.3.2.4 Mơ ta Comments CoÏÏ€CfIOn - 55525 S33 +svEsseeseseees 26 3.3.2.5 Mơ tả Products CollectiOn -.- Sc St seEsersererrreeeeree 26

3.3.2.6 Mơ tả RecipeLikes ColleCfIOn 255555 + +svessseesssrs 27

3.3.2.7 Mơ tả RecipeCooks ColÏeCfIOH - - 55s s + +seksseeeeeeesesere 28 3.3.2.8 Mơ tả Ratings ColleCtIOT - Ăn ngư 28 3.3.2.9 Mơ tả PostReactions COlleCfIOI1 - s5 55s + eesessses 29 3.3.2.10 Mơ tả CommentReactions ColleCfIOn «555 x++sx+++2 29 3.3.2.11 M6 tả ProductTypes CollecfIon 52c ccS<ssssssssesssrs 30 3.3.2.12 Mơ tả Units COlleCfIOH - 25 5 S1 ng yến 30 3.3.2.13 M6 tả Ingredients ColleCfION 4 xe seessersrseree 30 3.3.2.14 Mơ tả SpecialGoals ColleCtIon 5555 k++svesssessses 30 3.3.2.15 M6 tả MenuTypes ColleCfIOn c5 SScs+kseeeeeeeesre 31

Trang 11

3.3.2.16 Mô tả Cuisines Collecfion - - << - << << << xxx kkkkkEEEeeeeeeeeeees 31 3.3.2.17 Mô tả DishType ColleCtIONn se server 31 3.3.2.18 M6 tả CookMethod cccccccescccccessssseeecceeessseeeccessssseeeeeeseenas 31

3.4 Kết ChUONG oesecececccccsccscessessesecscssessessessessesscsvcsscsessesssssessessesesssseestssesseseeeess 32

Chuong 4 HIỆN THUC HE THONG oo eececcssssscssessessessessessessesscsscsessesseeseeneese 33

AD MG Ga ececccccccscsscsssessesssesssssessecsusssscsscsessussusssecsessussusssessessusssssseesessussseesesseess 334.2 Kiến trúc hệ thong o.cc.ccceccccscsssesssesssessssssesssesssessscssecssecssscssessecssessuseseessecsneess 33

4.3 Xây dựng S€TV€T HH HH HH HH kh 34

4.3.1 Mô hình ba lớp - + ©+2E+EE+EEEEEEEEEEEEEEEEEEEEEEEEEerkerreee 34

4.3.2 Cấu trúc thư mục -c©E©E£+E+EEeEErErrrrkerkerreee 35

4.4 Xây dung ứng dụng ImObIÏe - óc eee 1E vn ng ưy 39

4.4.2 Cấu trúc thư mục -+-+++++E++EE+EEeEErErrerrkerkerreee 40

4.4.3.1 Man hình đăng nhập - c3 32 3S EEveiresirssrrrrrrrree 42

4.4.3.2 Màn hình chính -¿- 2 + +£+E£+EE£EE£EE£EEEEEEEEerEerrerrxrrkerxee 43

4.4.3.5 Màn hình công thức nấu ăn 2-22 ©52+£+£kerEezErrkerxerxee 41

4.4.3.7 Màn hình thêm và chỉnh sửa công thức -« <c<+ 49 4.4.3.8 Man hinh chat ncaẽaả.Ả 50

4.4.3.9 Màn hình sản pham.o cecceccccccccccssessesessessessessessessessessesessesseeeeseeaee 51

Trang 12

4.5.1 Xây dựng tập dữ liệu huấn luyện -¿© ¿©++cs++zxcszeees 57

4.5.2 _ Xây dựng CAC ActiOns eceescessecssceceneeceneceseecececsaeeesaeceseeseeessaeeeee 63

5.2 Kết quả dat được -¿22¿22++22x2EE2E 2212212112211 xe 65

5.3 Hướng phát triển -¿- 2: 5£+2++EE£EEEEE2E12112712112112117171.211 11x, 66

PHU LUC 1: FLUTTER 07 - ,Ô 68 PHU LUC 2: MONGODB - HH HH TT HH HH HH HH gà 72 IsI0806/9)49./.009017 75

PHU LUC 4: RASA FRAMEWORK Ăn HH HH HH HH hưệt 90

Trang 13

DANH MỤC HÌNH

Hình 2.1: Giao diện ứng dụng Cookpad G0 2211121111931 1911 1911 vn re, 7 Hình 2.2: Giao diện ứng dụng COOKV - - Ác 11v HH ng 8

Hình 3.3: Sơ đồ use case “Tương tác bài ViẾt” 2¿- sc2cxccxerkeerxerrrerrecree 14Hình 3.4: Sơ dé use case “Quan lý công thức nấu ăn” -: c+sz+s+cx+zxczsz 17

Hình 3.6: Mô tả CookMethord - - < x 1191 2111911 911101 HH ng Hy 32

Hình 4.2: Mô hình 3 lỚp - G1 HH TH TH Hà HH Hà HH nh 34

Hình 4.3: Cau trúc thư mục của Server ssssscssssscssssecessseeessneeessneeeesneeesnneeesnneeeennesees 35

Hình 4.5: BLOC pattern cho ẨÏUfẨ€T- - - < +22 E333 E + EE+EEEESeereeeeereeeereere 40

Hình 4.7: Man hình đăng nhập eeeecsceseeeeseeseeeesessecsessesseseaeseseseeaeeaeeas 43

Hình 4.8: Màn hình chính: - - - - c6 s1 1 1301113111191 1 910 199 vn HH ng 44

Hình 4.9: Màn hình tạo và chỉnh sửa bài viẾt - ¿+ se +x+k+EvE+keEerrxererreexee 45

Hình 4.10: Màn hình chỉ tiết bài viẾt cc:-ccvttrrktritrrtrrrrrirrrrrirrrrririio 46

Hình 4.11: Màn hình công thức nấu ăn ¿2-2 E+EE+EE+E£+E£E£EerEerxerxrrsrree 47

Hình 4.13: Màn hình thêm và chỉnh sửa công thức - - «c+«c+ecese+sessessee 49

Hinh S080 1 50

Hình 4.18: Màn hình thông tin cá nhân - <5 25 2+ +**E+veeeeeeeeerereers 54 Hình 4.19: Màn hình thông tin người dùng khác 5: «=+«£+c+se+sessesses 55

Hình 4.20: Màn hình follow ccccccccsssssssssscsccceeeeescececceeeeeeseeeseesesessseneeaees 56

Trang 14

Hình 4.21: Từ đồng nghĩa 2-22 5¿©SS+2EE£EE+SEE2EEE2E127112212112211271 2112 crk 58

Hình 4.22: Bảng tra CỨU G0 TH HH nh 58

Hình 4.23: So đồ kịch ban chatbot c.ccccccccssssssssssscsssessssessesessesessesevsesersessvsassesesseseees 59Hình 4.24: Nlu.yml dé xác định intent c.cccccccsscssessessesssessessessessessesseeseseeseeseees 60

Hình 4.25: Tương tác giữa các thành phan trong NLU pipeline -. 61

Hình 4.26: Cách hoạt động của 'TOK€TI1Z€T - - c S311 1 3911 ESEsrrerrrereere 61 Hình 4.27: Cách hoạt động của Featurizer ((Í) - - 5 + + k*vkskseeskesekrsee 62 Hình 4.28: Cách hoạt động của Featurizer (2) - 5 tk re 62 Hình 4.29: Cách hoạt động của Intent CaSSIÍI€T - S5 * + s+sssexeersserrss 63 Hình 4.30: Cách hoạt động của Entity EXfraCfION - St ssessererrree 63 Hình 4.31: Các action cho ChafOI -. s11 9 90 9v ng nh ng ngư 64

Hình 6.5: Cấu trúc của chatbot sử dụng NLP và Machine learning - 79

Hình 6.6: Hệ thống chatbot sử dụng phương pháp NLU 5-5 5552552 80

Hình 6.8: Minh họa về quản lý hội thoại theo mô hình FSA -+-«<- 87Hình 6.9: Frame đối thoại thông tin khách hang (tinh huống mang cham) 88Hình 6.10: Kiến trúc hệ thống chatbot Rasa ccscccccsscsssessesssessessessessessesseeseessesseeseees 91

Trang 15

DANH MỤC BANG

Bảng 3.1: Danh sách các aCẨOTS - < ++ + k1 k1 kg 10 Bang 3.2: Danh sách các US€ CS© - - 5 s1 HH 11

Bang 3.3: Đặc ta use case “Đăng nhap” eee eeeeeeseeseeseeseeseesecseeseeesseeesesceseeaeens 11

Bảng 3.4: Đặc ta use case “Đăng Ky” 0 ee ecceeseeecceseeeeeeeeeeeeseeeseceeeeeeeseeseeeseeeseens 12

Bang 3.5: Đặc ta use case “Quản lý bài Viét? ceceecceeecessessessessessesesessessessessessesseaee 14Bang 3.6: Đặc ta use case “Tương tác bai Vidt? ccscccccecsessesssessessesseessesseesessseeseeseess 16

Bang 3.7: Đặc ta use case “Theo dõi người dùng khác” - - - «<< x+s<+s++ 16

Bang 3.8: Đặc tả use case “Quản lý cơng thức nấu ăn” - 2: + ©sz+ss+cs+zxzsz 18

Bang 3.9: Đặc ta use case “Chat với Chatbot? ee eeeeescesessesseeseceeceeceseeeeeseeneeseens 19

Bang 3.10: Đặc ta use case “Cập nhật thơng tin cá nhân” -+++s++<<++++ 20 Bang 3.11: Mơ ta Users COlÏ€CfIONI 2.6 2118331119111 111 1 9 119 1 ng 23 Bang 3.12: Mơ ta Recipes COlÏ€CtIOTI 2c c1 2221133111111 EEEEErrrersvre 25 Bang 3.13: Mơ ta Post ColÏeCfIOI1 25 c1 11H HH ng giết 26

Bảng 3.14: Mơ ta Comments CoÏÏ€CfIOT 5 5 2 1E E <2 E£sEEreesskerskeree 26

Bang 3.15: Mơ tả Products CỌÏ€CtIOT - c5 + E332 E**E+EEESrereeeeeererereere 27 Bảng 3.16: Mơ tả ProductTypes ColÏeCfIOT - <5 3< + ++*E+veeeeeeeeereeeers 30 Bảng 3.17: Mơ tả Units Collection - 5 c1 2210118311111 1 1191 11v re 30 Bang 3.18: Mơ tả Ingredients CỌÏ€CtIOTI S5 c5 32211323 EESEsereeerreerereere 30 Bang 3.19: Mơ tả SpecialGoals ColleCf1ON - s5 + 1n net 31

Bảng 3.20: Mơ tả Menu T'ypes CoÏÏeCfiOTn - G5 2 1n ngư 31

Bang 3.21: Mơ ta Cuisines Collection ccceccessccesseeeseeeeeceseeceseeeeeeesaeeeseeeenesaes 31 Bang 3.22: Mơ tả DishType ColÏeCfIOTI - c5 c5 32+ **3*E+ESeeereeeereerereere 31 Bang 6.1: Bảng so sánh RDBMS và MongoIDB - - cv re 72

Trang 17

DANH MỤC TỪ VIET TAT

RDBMS Relational database management Hệ thống quan ly cơ sở dữ

system liệu

CSDL

API Application Programming Giao diện lập trình ứng dụng

Interface

UI User Interface Giao diện người dùng

JSON JavaScript Object Notation Là một kiểu định dang dữ

liệu

NLU Natural Language Processing Hiéu ngôn ngữ tự nhiên

Trang 18

TÓM TẮT KHÓA LUẬN

Hiện nay sau thời điểm dịch covid-19 giản cách xã hội nên nhiều người tự học nấu

ăn và cộng đồng người yêu thích nau ăn gia tăng đáng ké Do đó, một hệ thống mạng

xã hội kết nối những người cùng sở thích này là cực kì quan trọng Nó giúp duy trì

sở thích ở mọi người và mở rộng cộng đồng Đề xây dựng hệ thống như vậy nhóm

xây dựng một ứng dụng mobile với lựa chọn công nghệ là một framework đa nềntang Flutter Và để nâng cao trải nghiệm và tư tiện lợi cho những người mới, những

người có ít kinh nghiệm và nhiều băn khoăn, nhóm xây dựng chatbot với khả năng

hỗ trợ các câu hỏi cơ bản về tìm công thức nấu ăn, đinh dưỡng của món ăn, dé xuấtthực đơn và các khái niệm xoay quanh chủ đề này Tuy chủ đề này không quá mới lạ

và các mạng xã hội khác như facebook hay youtube cũng đã có tuy nhiên một cộng

đồng lớn có quá nhiều chủ đề dễ dàng làm người dùng phân tâm và một cộng động

chỉ hướng tới chia sẻ những kiến thức về nấu ăn sẽ đem lại hiệu quả tốt hơn và đem

lại nhiều kiến thức thú vị hơn Kết quả đề tài nhóm đã đạt được các kết quả như sau:

e©_ Học hỏi được kiến thức xây dựng chatbot

e_ Củng cô và có thêm kinh nghiệm trong xây dựng ứng dụng với Flutter

e Có thêm kinh nghiệm sử MongoDb để lưu trữ dữ liệu mạng xã hội

e Xây dựng ứng dung mạng xã hội kết nối người yêu thích nau ăn

e Xây dựng chatbot tư van về nau ăn

e Có nhiêu kiên thức về chủ đê này và vân đê dinh dưỡng

Trang 19

Chương 1 TONG QUAN ĐÈ TÀI

1.1 Dẫn nhập

Trong xã hội hiện đại ngày nay, nhiều người không quan tâm đến chất lượng

bữa ăn và van đề dinh dưỡng nên có nhiều người mắc các bệnh về da dày Trong

lĩnh vực 4m thực, những người có sở thích về nấu ăn là một điều rất tuyệt vời khi

họ có thể thoải mái nấu các món mình thích và quan tâm đến sức khỏe của chínhmình và những người xung quanh Bởi vậy, nếu cộng những người thích nấu ănphát triển mạnh thì chất lượng cuộc sống và bữa ăn của nhiều nhiều người sẽ được

cải thiện Nhưng trong cuộc sống bộn bề không dé gì dé duy trì sở thích này, khi

việc nau ăn cũng tốn không ích thời gian Tuy nhiên nếu có một cộng đồng cùng

sở thích cùng nhau chia sẻ kiến thức, kinh nghiệm và trải nghiệm với nhau, kếtnối và truyền cảm hứng cho nhiều người mới thì mọi chuyện sẽ dễ hơn rất nhiều.Bởi vậy việc xây dựng một mạng xã hội kết nối những người yêu thích nấu ăn là

một điều rất cần thiết

Bên cạnh đó trước mỗi bữa ăn nhiều người trong chúng ta, đặc biệt là giới trẻthường đặt ra câu hỏi là hôm nay ăn gì, hay nấu gì giờ ta Một trong những lý docủa câu hỏi này là do chúng ta thiếu sự tham khảo Bởi vậy mạng xã hội khôngchỉ là nơi kết nối và chia sẻ kiến thức, nó còn có thể đưa ra cho người dùng nhiều

sự lựa chọn và câu trả lời cho các van dé của người dùng Một trong những công

cu phù hợp nhất dé hỗ trợ điều này là chatbot vì nó có thé trả lời các câu hỏi củangười dùng bat cứ lúc nào

Bởi vậy, trong luận văn này chúng tôi hướng đến xây dựng ứng dụng mạng

xã hội kết nối những người yêu thích nau ăn dé xây dựng và mở rộng cộng đồng,đem lại những kiến thức hữu ích về âm thực và dinh dưỡng đồng thời tích hợpchatbot dé trả lời được những van đề thường gặp khi nấu ăn

Trang 20

1.2 Mục tiêu

Kêt nôi những người yêu thích nâu ăn

- Gitp trả lời cho câu hỏi "ăn gi giờ day"

- Khoi dậy sở thích vê nâu ăn cho nhiêu người hon

- Tao sự quan tâm về âm thực và dinh dưỡng cho nhiêu người.

1.3 Phạm vi nghiên cứu

Nguồn dit liệu: Edamam, Cooky

Đôi tượng sử dụng: người quan tâm về nâu ăn và âm thực.

1.4 Nội dung thực hiện

- Tìm kiếm về bài toán chia sẻ kiến thức nau ăn

- Khảo sát các nghiên cứu và hệ thống liên quan

- Xác định và phân tích yêu cầu hệ thống

- Thu thập và xử lý dữ liệu về nau ăn

- _ Xây dựng kiến trúc hệ thống

- Thiết kế chức năng, cơ sở dữ liệu và giao diện hệ thong

- Xay dung cơ sở dữ liệu

- _ Xây dựng giao diện người dùng, chatbot

- Kiểm thử hệ thống

1.5 Kết quả mong đợi

- Ứng dụng mobile cung cap các chức năng tạo bài viết như một mạng xã hội

- Ung dung mobile cung cấp chức năng giúp chia sẻ các công thức nấu ăn và

sản phẩm hỗ trợ bếp

- Xây dựng chatbot có khả năng nhận diện ý định tốt, hỗ trợ tìm công thức nau

ăn, va trả lời được các câu hỏi xoay quanh chủ đê nâu ăn

1.6 BO cục báo cáo

Bô cục báo cáo gôm có 4 chương:

Trang 21

e Chương 1: Tổng quan đề tài Trinh bày lý do chọn dé tài, mục tiêu, phạm vi

nghiên cứu và kết quả mong đợi.

e_ Chương 2: Một số nghiên cứu và ứng dụng liên quan Mô tả các nghiên cứu

và ứng dụng liên quan, các ưu nhược điểm của chúng

e Chương 3: Phân tích và thiết kế hệ thong Trình bày các thiết kế chức năng, sơ

đồ lớp và đặc tả chi tiết chúng

e Chương 4: Hiện thực hệ thống Trình bày kiến trúc hệ thống, phân tích các

công nghệ sử dụng Trình bày chỉ tiết các bước xây dựng hệ thống

e_ Chương 5: Kết luận và hướng phát triển Tổng kết lại các kết qua đã đạt được

và đề ra hướng phát triển

1.7 Kết chương

Trong chương này, chúng tôi tập trung mô tả tổng quan bài toán, phạm vi vàcách thức thực triển khai bài toán

Trong chương sau, chúng tôi sẽ mô tả về các khảo sát về những ứng dụng liên

quan, các ưu nhược diém của chúng.

Trang 22

Chương2 MỘT SÓ NGHIÊN CỨU VÀ ỨNG DỤNG LIÊN QUAN

2.1 Mớ đầu

Vân đê vê học nâu ăn đã tôn tai rat lâu và có nhiêu ứng dụng đã hiện thực bai

toán nay, đê phân tích và tìm ra hướng tiép cận cho bài toán nhóm sẽ phân tích

và nghiên cứu một sô ứng dụng nôi bật trong chủ đê này.

2.2 Tông quan

Vân đê học nâu ăn không phải là một chủ đê mới, nó đã tôn tài lâu đời và đó

đã có rât nhiêu nghiên cứu và ứng dụng về chủ đê này Phân lớn các nghiên cứu

và ứng dụng cho đên nay là các website, ứng dụng điện thoại và các nhóm trên

mạng xã hội:

Có rất nhiều các website chia sẻ nấu ăn và trong đó có nhiều trang web do cácchuyên gia trong lĩnh vực ẩm thực lập ra Với lượng thông tin rất đa dạng Tuynhiêu những trang web này thiếu tính chất mạng xã hội và nó tương tác một chiều,

đa phần người dùng chỉ sử dụng để tìm kiếm các công thức nấu ăn nên chúng

không thê kêt nôi được nhiêu người yêu thích nâu ăn với nhau được.

Các mạng xã hội như Facebook, youtube đã có nhiêu nhóm và nội dung về

nấu ăn Tuy nhiên với lượng chủ đề và thông tin không lô dẫn đến việc theo dõi,

tiêp cận và xem được nhiêu nội dung hay vê nâu ăn không đạt được nhiêu hiệu

quả Đồng thời việc hỗ trợ nhiều chức năng cũng bị giới hạn

Ứng dụng mobile tập trung về nấu ăn là hướng tiếp cận tốt để khắc phục

nhược điểm đó và nổi bật nhất trong cộng đồng nau ăn ở việt nam là hai ứng dụng

Cooky và Cookpad chúng đều phát triển tập trung vào chủ đề nấu ăn và cho phép

người dùng tương tác với các công thức bởi vậy người dùng dễ dàng sử dụng và

tìm hiêu về nâu ăn hơn.

Trang 23

2.3 Cookpad

Cookpad đây là nơi chia sẻ hàng ngàn công thức nấu ăn ngon, đơn giản và dễ

làm đên từ cộng đông Với các món ăn đây đủ như món nước, món mặn, ngọt

khác nhau và các món ăn giải nhiệt, giải khát mùa hè, và còn nhiêu món ăn hâp

dẫn khác.

Ưu điểm e_ Kho công thức nấu ăn phong phú

e Người dùng có thé thoải mái chia sẻ các công thức nau ăn

của mình và tương tác như mạng xã hội

Nhược điểm e Giao diện ứng dụng chưa hấp dan

e Ứng dụng chưa có nhiều chức năng, chi tập trung vào công

thức món ăn.

e Chưa có hỗ trợ chatbot

Bảng 2.1: Ưu và nhược điểm của ứng dụng Cookpad

Trang 24

© Tìm tên món hay các nguyên liệu cùng lúc

Cooky đây là một ứng dụng ra đời với sứ mệnh lan tỏa sở thích yêu bếp và

am thực của người việt nam Với hon 31000 công thức món ngon với mọi chế độ

dinh dưỡng, phần lớp các công thức đến từ các đầu bếp và nhãn hàng thực phẩm

Ưu điểm e_ Kho dữ liệu về nấu ăn phong phú, hình anh chất lượng

e Dữ liệu được chia sẻ từ các dầu bếp

e Hỗ trợ nhiều chức năng giúp dé dàng tìm kiếm

Nhược điểm e Chưa hỗ trợ tương tac như một mạng xã hội

e Chưa có hỗ trợ chatbot

Trang 25

Bảng 2.2: Ưu và nhược điểm của ứng dụng Cooky

Sữa Gia VỊ Nhà Cửa Đố Uống

Banh Keo Công Thức Video Chuyên Để

Trang 26

Chương 3 PHAN TÍCH VÀ THIẾT KE HỆ THONG

3.2 Sơ đồ use case

3.2.1 So đồ use case tổng quan

ae Dang nhap

<<ex[eridke> 7 “

Xác thực người dùng

`*x<exlend>>

Quản lý bải viết

Tương tác bải viết

Theo dõi người dùng

khác

Quản lý công thức

nau ăn

Chat với chatbot

Cap nhật thông tin

cả nhân

Hình 3.1: Use case tổng quát của hệ thống

Trang 27

3.2.2 Danh sách actors

Bảng 3.1: Danh sách các actors

3.2.3 Danh sách use case

STT Tên use case Ý nghĩa

1 | Đăng nhập Yêu cầu nhập tài khoản và mật khẩu dé xác thực trên

hệ thống của ứng dụng

2 | Đăng ký Người dùng nhập thông tin tài khoản chưa tổn tại

trước đó sau đó hệ thống tạo và đăng nhập tài khoản

3 | Quản lý bài viết Các chức năng cho phép người dùng quản lý bài viết

của mình (Thêm, xóa, sửa, tìm kiếm)

4 | Tương tác bài viết | Các chức năng cho phép tương tác lên bài viết (Phan

ứng, bình luận, chia sẻ)

5_ | Theo dõi người Người dùng có thé theo dõi hoặc hủy theo déi người

dùng khác dùng khác, nhận được thông báo khi người dùng

đang theo dõi có bài viết mới

6 | Quản lý công thúc | Các chức năng cho phép người dùng quan lý các

nấu ăn công thức nấu ăn của mình (Thêm, xóa sửa, tìm

kiếm)

7 | Chat với chatbot Người dùng có thé nhắn tin với chatbot dé hỏi về các

kiên thức về nâu ăn.

10

Trang 28

8 | Cập nhật thông tin

cá nhân hệ thong cap nhat lai

Bang 3.2: Danh sách các Use case

3.2.4 Dic ta use case

3.2.4.1 Use case đăng nhập

Tén Use Case Dang nhap

M6 ta Đăng nhập tài khoản vào hệ thống

Tiên điêu kiện Người dùng chưa đăng nhập vào hệ thống

Hậu điêu kiện Đăng nhập thành công, người dùng có thể sử dụng

các chức năng của hệ thông

Dòng sự kiện chính 1 Nhập email và mật khẩu.

2 Nhắn nút “Đăng nhập”

3 Hệ thống thông báo đăng nhập thành công, chuyên

đên màn hình các bài viêt Dòng sự kiện phụ Không có

Dòng sự kiện lỗi 4a Hệ thống thông báo đăng nhập không thành công

Bảng 3.3: Đặc tả use case “Đăng nhập”

3.2.4.2 Use case dang ký

Tén Use Case Dang ky

M6 ta Đăng ky một tài khoản trên hệ thống

lãi Người dùng cung câp các thông tin cá nhân mới cho

Trang 29

Tiền điều kiện Người dùng chưa đăng nhập hệ thống

Hậu điều kiện Tài khoản được tạo và đăng nhập thành công, người

dùng có thể sử dụng hệ thống

Dòng sự kiện chính | 1 Truy cập màn hình đăng ký

2 Nhập thông tin tai khoản

3 Nhắn nút “Đăng ký”

4 Hệ thống thông báo đăng ký thành công, chuyền

đên màn hình các bài viêt Dòng sự kiện phụ | Không có

Dòng sự kiện lỗi 4a Hệ thong thông báo đăng ký không thành công.

Bảng 3.4: Đặc tả use case “Đăng ký”

3.2.4.3 Use case quản lý bài viết

Trang 30

Tên Use Case Quan ly bài viết

Mô ta Quản ly thông tin các bài viết

Tiên điêu kiện Người dùng đã đăng nhập vào hệ thống và đang ở tab

“Bài việt”

Hậu điêu kiện Use case thành công và dữ liệu được cập nhật

Dòng sự kiện chính - Thêm bài viết:

1 Nhắn nút “Thêm bài viết”

2 Nhập thông tin bài viết

3 Nhắn nut “Đăng”

4 Hệ thống thông báo đăng bài thành công và cập

nhật lại dữ liệu

- Chỉnh sửa bài viết:

1 Chọn bài viết của mình

- Chỉnh sửa bài viết:

1 Chọn bài viết của mình

2 Nhắn nút “Xóa”

13

Trang 31

3 Hệ thống thông báo xóa thành công và cập nhật lại

đữ liệu

- Tìm kiếm bài viết:

1 Chọn vảo thanh tìm kiếm

2 Nhập văn bản tìm kiếm

3 Hệ thống tìm kiếm và hiển thị màn hình kết quả

tìm kiêm Dòng sự kiệnphụ | Không có

Dòng sự kiện lỗi Không có

Bảng 3.5: Đặc tả use case “Quản lý bài viết”

3.2.4.4 Use case tương tác bài viết

Hinh 3.3: So do use case “Tuong tac bai viet”

Tén Use Case Tương tac bai việt

M6 ta Các hành động như phan ứng, bình luận và chia sẻ

lên bai việt

14

Trang 32

1 Chọn loại phản ứng ở bài viết

2 Cập nhật lại dữ liệu của bài viết

- Bình luận:

1 Nhắn vào nút bình luận ở bài viết

2 Hiền thị màn hình bình luận

3 Nhập đữ liệu bình luận và nhắn nút “send”

4 Thông báo bình luận thành công và cập nhật lại dữ liệu

- Phản ứng vào bình luận:

1 Nhắn vào nút bình luận ở bài viết

2 Hiền thị màn hình bình luận

3 Chon lai phan ứng vao các bình luận khác

- Xóa bài viết:

1 Nhân nút “chia sẻ”

2 Hiển thị các lựa chọn dé chia sẻ

3 Hệ thống thông báo chia sẻ thành công

Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

15

Trang 33

Bảng 3.6: Đặc tả use case “Tương tác bài viết”

3.2.4.5 Use case theo dõi người dùng khác

Tên Use Case Theo dõi người dùng khác

Mô tả Theo dõi hoặc hủy theo dõi hoạt động của một người

dùng khác Actor Người dùng

Tiên điêu kiện Người dùng đã đăng nhập vào hệ thống

Hậu điêu kiện Cập nhật lại dữ liệu của người dùng

Dòng sự kiện chính 1 Nhắn vào trang cá nhân của người dùng khác hoặc

nhân nút 3 cham ở bài viết của người đó

2 Nhân vào nút theo dõi “Follow” hoặc “Unfollow”

3 Thông báo thành công và cập nhật lại dữ liệu

người dùng Dòng sự kiện phụ | Không có

Dòng sự kiện lỗi Không có

Bảng 3.7: Đặc tả use case “Theo dõi người dùng khác”

16

Trang 34

3.2.4.6 Use case quan lý công thức nấu ăn

Hình 3.4: Sơ đô use case “Quản lý công thức nâu ăn”

Tên Use Case Quản lý công thức nâu ăn

Mô tả Quản lý thông tin các công thức nấu ăn

Actor Người dùng

Tiền điều kiện Người dùng đã đăng nhập vào hệ thống và ở tab

“Công thức nâu ăn”

Hậu điêu kiện Use case thành công va dir liệu được cập nhật

Dòng sự kiện chính | - Thêm công thức:

1 Nhắn nút “Thêm công thức”

2 Nhập thông tin của công thức

3 Nhắn nút “Đăng”

17

Trang 35

4 Hệ thống thông báo đăng công thức thành công và

Dòng sự kiện lỗi | Không có

Bảng 3.8: Đặc tả use case “Quản lý công thức nâu ăn”

18

Trang 36

3.2.4.7 Use case chat với chatbot

Tên Use Case Chat với chatbot

Mô ta Nhắn tin với chatbot của hệ thống

Tiên điêu kiện Người dùng đã đăng nhập vào hệ thống

Hậu điêu kiện Không có

Dòng sự kiện chính 1 Chọn vào nút “Chatbot”

2 Hiền thi màn hình chatbot

3 Nhập tin nhắn

4 Chatbot trả lời tin nhắn

Dòng sự kiện phụ Không có

Dong sự kiện lỗi Không có

Bảng 3.9: Đặc tả use case “Chat với chatbot”

3.2.4.8 Use case cập nhật thông tin cá nhân

Tên Use Case Cap nhat thong tin ca nhan

M6 ta Cập nhật thông tin cá nhân

Tiên điêu kiện Người dùng đã đăng nhập vào hệ thống và ở trang cá

nhân

Hậu điêu kiện Không có

Dòng sự kiện chính 1 Chọn vào nút “Cập nhật thông tin”

2 Hiền thị màn hình cập nhật thông cá nhân

19

Trang 37

3 Nhập thông tin mới

4 Nhắn nút “Cập nhật”

liệu và đóng màn hình cập nhật

5 Hệ thống thông báo thành công, cập nhật lại dữ

Dòng sự kiện phụ Không có

Dòng sự kiện lỗi Không có

Bảng 3.10: Đặc tả use case “Cập nhật thông tin cá nhân”

+ ingredients typeld: Odjectid

+ ingredients unitid: Objectid

+ id: Objectid + Id: Objectld

+ recipeld: Objectié + followingUsers: ObjectIdJ]

+ userid: Objectid + followerUsers: Objectid{]

+ crealedAt: Date + name: String

+ updatedAt Date + email: String

+ bio: String

RecipeCooks + avalarUL String

+ id: Objectia + phone: String

+ recipeld: Objectld + gender: String

+ userid: Objectid + status: String + createdat: Date + hashPassword: String

+ updatedAt Date + role: String

+ createdat: Date Ratings + updatedAt: Date

+ id: Objectld + deletedat Date

\ IngredientTypes

~

+ id: Objectid + name: String

* postid: Objectid + userid: Objectid

+ type: String

+ createdat: Date + updatedAt: Date

Products + id: Objectid + creatorid: Objectid + productTypeld: Objectid

+ photoUrts: Stringl)

+ viđeoUrt String

+ viđeoThumbnaf: String + description: String + name: String

+ parentid: Objectid

+ postid: Objectld

+ photoUrls: Sring[]

+ videoUrL String + content: String

+ createdAt Date

+ updatedat: Date

+ deletedat Date

Posts + creatorid: Objectia

+ id: Objectid

+ photoUris: String]

+ videoUrt: String

+ viewRange: String + backgroundColor: String

20

Trang 38

3.3.2 Mô tả sơ đồ lớp

STT Tên lớp Mô tả

1 Users Lớp lưu trữ thông tin của người dùng

2 Posts Lớp lưu trữ các bài viết của người dùng

3 Comments Lớp lưu trữ các bình luận của bài viết

4 Recipes Lop lưu trữ các công thức nau ăn

5 Products Lớp lưu trữ các sản phẩm liên quan đến nấu ăn

6 RecipeLikes Lớp lưu trữ những người dùng thích công thức

7 RecipeCook Lớp lưu trữ những người dùng đã nấu công thức

8 Ratings Lớp lưu trữ những đánh giá của công thức

9 PostReactions Lớp lưu trữ những phản ứng của với bài viết

10 | CommentReactions Lớp lưu trữ những phản ứng với bình luận

11 Ingredients Lớp lưu trữ thông tin về các nguyên liệu nấu ăn

12 SpecialGoals Lớp lưu trữ các loại mục đích đặc biệt của món ăn

13 MenuTypes Lớp lưu trữ loại thực đơn của mon ăn

14 Cuisines Lớp lưu trữ các nên âm thực (N én âm thực là một

hệ thông đặc biệt về quan điểm truyền thống và

thực hành nấu ăn, nghệ thuật bếp núc, nghệ thuật

chế biến thức ăn, thường gắn liền với một nền văn

21

Trang 39

hóa cụ thé Nó thường được đặt tên theo vùng

hoặc nên văn hóa hiện hành )

15 ProductTypes Lớp lưu trữ tên các loại sản phẩm

16 DishType Lớp lưu trữ các loại món ăn

17 Units Lớp lưu trữ các đơn vị

18 CookMethods Lớp lưu trữ các phương pháp nấu ăn

3.3.2.1 Mô tả Users Collection

STT Tén Kiéu Rang buộc Y nghia

1 | id Objectld Mã nhận dạng

2 | followingUsers | Array[String] Danh sách mã những người

đang được mình theo dõi

3 | followerUsers Array[String] Danh sách mã những người

đang theo dõi mình

4 | name String Tên người dùng

5 | email String Unique Dia chi email

6 | bio String Tiểu sử người dùng

7 | avatarUrl String Duong dan téi anh dai dién

8 | phone String Số điện thoại

22

Trang 40

9 | gender String Giới tinh

10 | status String Trang thai cua tai khoan

11 | hashPassword String Mật khâu đã được mã hóa

12 | createdAt Date Ngày tao

13 | updatedAt Date Ngày cập nhật

14 | deletedAt Date Ngày xóa

Bang 3.11: Mô tả Users Collection

3.3.2.2 Mô ta Recipes Collection

STT Tén Kiéu Rang buộc Y nghia

1 | id ObJectld Mã nhận dạng

2 | creatorld ObJectId Mã người tạo

3 | createdAt Date Ngày tạo

4 | updatedAt Date Ngày cap nhật

5 | deletedAt Date Ngày xóa

6_ | description String Mô tả

7 | name String Tên công thức

8 | photoUrls Array[String] Danh sách đường dan

của các ảnh

9 | servings Number Khau phan

23

Ngày đăng: 03/11/2024, 18:13