ĐẠI HC KINH T QUC DÂN
TRƯỜNG CÔNG NGH
----------------
KHÓA LUN TT NGHIP
THIT K VÀ XÂY DNG NG DNG H TR
NẤU ĂN - DINH DƯỠNG NATRITIONIST
Tên sinh viên : Phạm Anh Đức
Giảng viên hướng dn : TS Đỗ Văn Sang
Hà Ni, 5/2025
2025.2 CÔNG NGH THÔNG TIN PHẠM ANH ĐỨC 11218451
ĐẠI HC KINH T QUC DÂN
TRƯỜNG CÔNG NGH
----------------
KHÓA LUN TT NGHIP
THIT K VÀ XÂY DNG NG DNG H TR
NẤU ĂN - DINH DƯỠNG NATRITIONIST
Tên sinh viên : Phạm Anh Đức
Mã sinh viên : 11218451
Lp : Công ngh thông tin 63A
Ngành : Công ngh thông tin
Khoa : Công ngh thông tin
Giảng viên hướng dn : TS Đỗ Văn Sang
Hà Ni, 5/2025
i
MỤC LỤC
LỜI CAM ĐOAN ................................................................................................. v
LI CM ƠN ...................................................................................................... vi
DANH MC CÁC T VIT TT ................................................................... vii
DANH MC BNG, BIU Đ ......................................................................... ix
DANH MC HÌNH ............................................................................................. xi
M ĐẦU ............................................................................................................... 1
CHƯƠNG 1. TỔNG QUAN V ĐỀ TÀI ........................................................... 2
1.1. Tính cp thiết ca đ tài .......................................................................... 2
1.2. Mc đích ca đề tài ................................................................................. 2
1.3. Đối tưng và phm vi ca đề tài ............................................................. 3
1.3.1. Đối tưng ......................................................................................... 3
1.3.2. Phm vi ............................................................................................ 3
1.1.1.1 Phạm vi không gian: ............................................................................. 3
1.1.1.2 Phạm vi thời gian: ................................................................................. 3
1.1.1.3 Phạm vi nội dung: ................................................................................. 3
1.4. Ý nghĩa khoa hc và thc tin ca đề tài ................................................ 3
1.4.1. Ý nghĩa khoa hc ............................................................................. 3
1.4.2. Ý nghĩa thc tin .............................................................................. 4
1.5. Cu trúc lun án ....................................................................................... 4
CHƯƠNG 2. CƠ S LÝ THUYT .................................................................... 5
2.1 Lý thuyết v ng dụng di động ............................................................... 5
2.1.1 ng dụng di động ............................................................................ 5
2.1.1.1 Khái niệm .............................................................................................. 5
2.1.1.2 Phân loại ............................................................................................... 5
2.1.1.3 Thiết kế ................................................................................................. 6
2.1.2 ng dng h tr nấu ăn - dinh dưng.............................................. 6
2.1.2.1 Khái niệm .............................................................................................. 6
2.1.2.2 Đánh giá chung các ứng dụng hiện hành ............................................ 11
2.2 Lý thuyết v các công ngh được s dng: ........................................... 12
2.2.1 Ngôn ng Dart ............................................................................... 12
ii
2.2.1.1 Tổng quan ........................................................................................... 12
2.2.1.2 Đặc điểm nổi bật ................................................................................. 12
2.2.2 Framework Flutter ......................................................................... 13
2.2.2.1 Tổng quan ........................................................................................... 13
2.2.2.2 Kiến trúc framework ........................................................................... 13
2.2.2.3 Widget ................................................................................................. 15
2.2.2.4 Các đặc trưng khác.............................................................................. 18
2.2.2.5 Ưu điểm và nhược điểm...................................................................... 19
2.2.3 SQLite ............................................................................................ 20
2.2.3.1 Khái quát về SQL ............................................................................... 20
2.2.3.2 Khái niệm SQLite ............................................................................... 21
2.2.3.3 Đặc điểm ............................................................................................. 21
2.2.3.4 Các phương thức sử dụng SQLite: ..................................................... 22
CHƯƠNG 3. THIT K VÀ XÂY DNG PHN MM .............................. 23
3.1 Phân tích thiết kế h thng .................................................................... 23
3.1.1 Đặt mc tiêu cho ng dng ............................................................ 23
3.1.2 Phân tích các chức năng của ng dng .......................................... 24
3.1.2.1 Xem công thức nấu ăn ........................................................................ 25
3.1.2.2 Xem thực dơn nấu ăn .......................................................................... 26
3.1.2.3 Tìm kiếm công thức ............................................................................ 27
3.1.2.4 Tạo công thức mới .............................................................................. 28
3.1.2.5 Tạo thực đơn mới ................................................................................ 29
3.1.2.6 Thêm thực đơn vào danh sách Yêu thích ............................................ 30
3.1.2.7 Xóa thực đơn khỏi danh sách Yêu thích ............................................. 31
3.1.2.8 Tùy chỉnh thông tin dinh dưỡng bản thân ........................................... 32
3.1.3 Mô t nghip v các chc năng ca ng dng ............................... 33
3.1.3.1 Xem công thức/ thực đơn nấu ăn ........................................................ 33
3.1.3.2 Sử dụng bộ lọc .................................................................................... 34
3.1.3.3 Thêm và xóa khỏi danh sách yêu thích: .............................................. 35
3.1.3.4 Sử dụng trang cấu hình dinh dưỡng .................................................... 36
3.1.3.5 Sử dụng công cụ tạo thực đơn ............................................................ 37
3.1.3.6 Tạo công thức nấu ăn mới .................................................................. 38
3.1.4 Cu trúc biu đồ lp ....................................................................... 39
iii
3.1.5 Cu trúc tng th ng dng ............................................................ 42
3.1.5.1 Biểu đồ gói .......................................................................................... 42
3.1.5.2 Biểu đồ triển khai ................................................................................ 43
3.2 Chun b xây dng ng dng ................................................................ 43
3.2.1 Các công ngh/ phn mm đưc s dụng để xây dng ................. 43
3.2.1.1 Các công nghệ/ phần mềm chính ........................................................ 43
3.2.1.2 Các plugin Flutter được sử dụng ......................................................... 44
3.2.2 Các ngun d liệu được s dng ................................................... 44
3.2.3 Thiết kế thut toán t động xây dng thực đơn ............................. 46
3.2.3.1 Xác định hạn mức dinh dưỡng ............................................................ 46
3.2.3.2 Xây dựng thuật toán tự động chọn lựa công thức ............................... 47
3.2.4 Cu trúc tng quan ca ng dng .................................................. 48
3.3 Chi tiết xây dng ng dng ................................................................... 50
3.3.1 Cu trúc tng quan thư mục ng dng ........................................... 50
3.3.2 Chi tiết các trang ng dng ............................................................ 51
3.3.2.1 SplashPage .......................................................................................... 51
3.3.2.2 DashboardPage ................................................................................... 51
3.3.2.3 HomePage ........................................................................................... 52
3.3.2.4 BrowsePage ........................................................................................ 52
3.3.2.5 RecipePage .......................................................................................... 53
3.3.2.6 FavoritesPage ...................................................................................... 54
3.3.2.7 MenuDetailsPage ................................................................................ 54
3.3.2.8 NutritionChartPage ............................................................................. 55
3.3.2.9 PlannerPage ........................................................................................ 55
3.3.2.10 SelectPage ....................................................................................... 57
3.3.2.11 CreateRecipePage ........................................................................... 57
3.3.2.12 SelectIngredientsPage ..................................................................... 58
3.3.2.13 SettingsPage .................................................................................... 58
3.3.3 Chi tiết các thành phn h tr: ....................................................... 59
3.3.3.1 SharedPreferences (shared_preferences.dart) ..................................... 59
3.3.3.2 Các thành phần khác: .......................................................................... 59
CHƯƠNG 4. KẾT QU VÀ THO LUN .................................................... 61
4.1 Trình bày kết qu ................................................................................... 61