1. Trang chủ
  2. » Giáo Dục - Đào Tạo

ứng dụng mạng xã hội chia sẻ phương pháp nấu ăn dinh dưỡng

84 13 0

Đ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

Nội dung

ĐẠI HỌC QUỐC GIA THÀNH PHỐ HỒ CHÍ MINH TRƯỜNG ĐẠI HỌC CÔNG NGHỆ THÔNG TIN KHOA CÔNG NGHỆ PHẦN MỀM BÁO CÁO ĐỒ ÁN MÔN HỌC ĐỒ ÁN ĐỀ TÀI: ỨNG DỤNG MẠNG XÃ HỘI CHIA SẺ PHƯƠNG PHÁP NẤU ĂN DINH DƯỠNG Giáo viên hướng dẫn: Ths Lê Thanh Trọng Nhóm sinh viên thực hiện: Trương Bá Cường 18520013 Trương Hữu Minh Đức 18520626 TP Hồ Chí Minh, 24/12/2021 Chương TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài 1.2 Đối tượng nghiên cứu 1.3 Phương pháp nghiên cứu 1.4 Nhiệm vụ đề tài CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Flutter 2.1.1 Khái niệm 2.1.2 Kiến trúc Flutter 2.2 Tổng quan Dart 10 2.2.1 Khái niệm 10 2.2.2 Đặc điểm 10 2.3 Tổng quan Firebase 11 2.3.1 Khái niệm 11 2.3.2 Lịch sử phát triển 12 2.3.3 Cách thức hoạt động 12 2.4 Tổng quan NestJs 14 2.5 Tổng quan MongoDB 14 CHƯƠNG PHÂN TÍCH U CẦU 16 3.1 Quy trình sử dụng chức hệ thống 16 3.1.1 Đăng nhập 16 3.1.2 Đăng ký 16 3.1.3 Đăng 16 3.1.4 Xem hướng dẫn nấu ăn 16 3.1.5 Chatbot 17 3.1.6 Xem, chỉnh sửa thông tin cá nhân 17 3.1.7 Bình luận 17 3.1.8 u thích đăng 18 3.1.9 Theo dõi 18 3.2 Đặc tả yêu cầu 18 3.2.1 Danh sách yêu cầu hệ thống 18 3.2.2 Phân tích yêu cầu hệ thống 19 3.2.2.1 Đăng nhập 19 3.2.2.2 Đăng ký 19 3.2.2.3 Đăng 19 3.2.2.4 Xem hướng dẫn nấu ăn 19 3.2.2.5 Chatbot 20 3.2.2.6 Xem, chỉnh sửa thơng tin cá nhân 20 3.2.2.7 Bình luận 20 3.2.2.8 Yêu thích đăng 20 3.2.2.9 Theo dõi 20 3.3 Thiết kế liệu 21 3.3.1 Danh sách bảng liệu 22 3.3.2 Chi tiết bảng liệu 22 3.3.2.1 Bảng users 22 3.3.2.2 Bảng walls 23 3.3.2.3 Bảng feeds 24 3.3.2.4 Bảng posts 25 3.3.2.5 Bảng comments 25 3.3.2.6 Bảng foods 26 3.3.2.7 Bảng ingredients 27 3.3.2.8 Bảng ingredient_groups 27 3.3.2.9 Bảng food_groups 27 3.3.2.10 Bảng cooking_methods 28 3.3.2.11 Bảng units 28 CHƯƠNG HIỆN THỰC HỆ THỐNG 29 4.1 Sơ đồ use-case 29 4.1.1 Danh sách use-case 29 4.1.2 Đặc tả use case 30 4.1.2.1 Đăng ký tài khoản 30 4.1.2.2 Use case đăng nhập 31 4.1.2.3 Use case đăng 33 4.1.2.4 Use case yêu thích đăng 34 4.1.2.5 Use case bình luận 36 4.1.2.6 Use case xem hướng dẫn nấu ăn 37 4.1.2.7 Use case chatbot 39 4.1.2.8 Use case xem thông tin cá nhân 40 4.1.2.9 Use case chỉnh sửa thông tin cá nhân 41 4.1.2.10 Use case theo dõi, hủy theo dõi người dùng 43 4.2 Sơ đồ lớp 45 4.2.1 Sơ đồ 45 4.2.2 Mô tả chi tiết 46 4.2.2.1 Lớp User 46 4.2.2.2 Lớp UserProfile 47 4.2.2.3 Lớp Post 47 4.2.2.4 Lớp Wall 48 4.2.2.5 Lớp Feed 49 4.2.2.6 Lớp Comment 49 4.2.2.7 Lớp Reaction 50 4.2.2.8 Lớp Food 50 4.2.2.9 Lớp CookingMethod 51 4.2.2.10 Lớp Recipe 51 4.2.2.11 Lớp FoodGroup 51 4.2.2.12 Lớp Ingredient 52 4.2.2.13 Lớp Unit 52 4.2.2.14 Lớp IngredientGroup 53 4.3 Sơ đồ 53 4.3.1 Sơ đồ Đăng ký 54 4.3.2 Sơ đồ Đăng nhập 55 4.3.3 Sơ đồ Tạo viết 56 4.3.4 Sơ đồ Upload file 57 4.3.5 Sơ đồ Cập nhật viết 58 4.3.6 Sơ đồ Cập nhật profile 59 4.4 Thiết kế giao diện 59 4.4.1 Danh sách hình 59 4.4.2 Mơ tả chi tiết hình 61 4.4.2.1 Đăng nhập 61 4.4.2.2 Đăng ký 63 4.4.2.3 News feed 65 4.4.2.4 Chọn ảnh 67 4.4.2.5 Đăng 69 4.4.2.6 Màn hình bình luận 71 4.4.2.7 Tìm kiếm người dùng 73 4.4.2.8 Danh sách ăn 75 4.4.2.9 Chi tiết hướng dẫn nấu ăn 77 4.4.2.10 Trang cá nhân 79 4.4.2.11 Chỉnh sửa thông tin cá nhân 81 CHƯƠNG KẾT LUẬN 83 5.1 Đánh giá 83 5.1.1 Thuận lợi 83 5.1.2 Khó khăn 83 5.2 Kết đạt 83 5.2.1 Kết 83 5.2.2 Ưu điểm 83 5.2.3 Nhược điểm 83 5.3 Hướng phát triển 84 Chương TỔNG QUAN VỀ ĐỀ TÀI 1.1 Giới thiệu đề tài Trong xã hội phát triển ngày nay, nhu cầu đời sống tinh thật vật chất người ngày tăng cao Tuy nhiên ăn ngon ln giữ vai trị quan trọng người Nó góp phần phục vụ tích cực cho nhu cầu phát triển ăn uống, dịch vụ du lịch, trì thể nét văn hóa ẩm thực độc đáo dân tộc Với mong muốn tạo nơi kết nối người có niềm đam mê nấu ăn đem lại ăn ngon, phong phú cho gia đình, nhóm chúng em tạo ứng dụng “Mạng xã hội chia sẻ phương pháp nấu ăn dinh dưỡng” Thông qua ứng dụng, người dùng đăng chia sẻ cảm xúc mình, nhắn tin với bot, xem hướng dẫn nấu ăn với danh sách ăn đa dạng ứng dụng cung cấp 1.2 Đối tượng nghiên cứu ● Các công nghệ: ○ Android Studio ○ Flutter ○ Firebase ○ NodeJs ○ NestJs ○ MongoDB ● Đối tượng hướng đến: ○ Phần lớn người trung niên, người có gia đình, người có đam mê nấu ăn 1.3 Phương pháp nghiên cứu Nhóm sử dụng phương pháp: - Đọc tài liệu - Phân tích ứng dụng có 1.4 Nhiệm vụ đề tài Để tài “Mạng xã hội chia sẻ phương pháp nấu ăn dinh dưỡng” ứng dụng chạy điện thoại với tính năng: • Đăng nhập • Đăng ký • Đăng • Bình luận • u thích đăng • Theo dõi người dùng • Xem hướng dẫn nấu ăn • Chatbot • Chỉnh sửa thông tin cá nhân Ø Mục tiêu đề tài là: § Tìm hiểu cách xây dựng ứng dụng điện thoại di động § Xây dựng thành công ứng dụng mạng xã hội giúp người dùng chia sẻ xem hướng dẫn nấu ăn CHƯƠNG CƠ SỞ LÝ THUYẾT 2.1 Tổng quan Flutter 2.1.1 Khái niệm Flutter UI Framework mã nguồn mở miễn phí phát triển ứng dụng đa tảng dành cho di động, tạo Google phát hành vào tháng năm 2017 Flutter gồm thành phần quan trọng: Một SDK (Software Development Kit): Một sưu tập công cụ giúp bạn phát triển ứng dụng Điều bao gồm công cụ để biên dịch mã bạn thành mã máy gốc (mã cho iOS Android) Một Framework (UI Library based on widgets): Một tập hợp thành phần UI tái sử dụng (button, text inputs, slider, ) giúp bạn cá nhân hóa tùy theo nhu cầu riêng 2.1.2 Kiến trúc Flutter Flutter xây dựng với C/C++, Dart, Skia (2D rendering engine), Flutter compile toàn code trực tiếp thành code ARM x86 từ dễ dàng sử dụng GPU thiết bị gọi API native dễ dàng Flutter cung cấp widgets (bao gồm Material Design Cupertino (IOS styled) widgets), quản lý render Flutter’s framework engine Flutter cịn tích hợp animation, rendering, widgets, gestures vào framework để lập trình viên tinh chỉnh giao diện đến tận pixel với hiệu cực tốt Nhờ vậy, Với Flutter, khơng có giới hạn giao diện Kiến trúc Flutter ⮚ Ưu điểm - Phát triển ứng dụng nhanh chóng: Giống nhiều cross-platform framework khác, Flutter giúp phát triển ứng dụng nhanh Sử dụng single code-base Flutter, bạn khởi chạy ứng dụng nhiều tảng - UI đẹp biểu cảm: Thỏa mãn người dùng bạn với widget builtin đẹp mắt theo Material Design Cupertino (iOS-flavor), API chuyển động phong phú, scroll tự nhiên mượt mà tự nhận thức tảng - Truy cập tính SDK native: Làm cho ứng dụng trở nên sống động với API platform, SDK bên thứ ba native code Nó cho phép sử dụng lại mã Java, Swift ObjC mình, truy cập tính SDK native iOS Android - Phát triển ứng dụng thống nhất: Flutter có cơng cụ thư viện để giúp bạn dễ dàng đưa ý tưởng vào sống iOS Android Nếu bạn chưa có kinh nghiệm phát triển thiết bị di động, Flutter cách dễ dàng nhanh chóng để xây dựng ứng dụng di động tuyệt đẹp - Tính hot reload: Tính hot-reload Flutter tính mang tính cách mạng giúp khác biệt với tất đối thủ cạnh tranh Sử dụng hot reload, nhà phát triển thay đổi mã nhìn thấy chúng thời gian chạy xem trước ứng dụng Không cần phải biên dịch lại code lần 2.2 Tổng quan Dart 2.2.1 Khái niệm Dart ngơn ngữ lập trình đa mục đích phát triển Google sau Ecma (ECMA-408) phê chuẩn làm tiêu chuẩn Nó sử dụng để xây dựng ứng dụng web, server, máy tính để bàn thiết bị di động Dart ngôn ngữ hướng đối tượng, xác định theo lớp, với chế garbage-collected, sử dụng cú pháp kiểu C để dịch mã tùy ý sang JavaScript Nó hỗ trợ interface, mixin, abstract, generic, static typing sound type Dart ngôn ngữ mã nguồn mở miễn phí, phát triển GitHub 2.2.2 Đặc điểm - Hỗ trợ lập trình hướng đối tượng OOP - Hỗ trợ HTML DOM framework để bạn khai thác DOM đa trình duyệt - Hỗ trợ lập trình khơng đồng async - Hỗ trợ deferred loading từ Dart 1.6 Tính giúp bạn cải thiện hiệu suất khởi động ứng dụng khởi tạo package sử dụng ứng dụng bạn - Tích hợp với Polymer project để bạn xây dựng web components tái sử dụng lại ứng dụng khác tương lai - Tích hợp với Angular để bạn tạo ứng dụng web theo mơ hình MVC dễ dàng bảo trì, dễ kiểm thử clean code 10 Bảng danh sách thành phần hình đăng STT Kiểu Mô tả IconButton Tiến hành đăng Image Ảnh người dùng chọn hình “Chọn ảnh” TextField Cho phép người dùng nhập tiêu đề cho đăng TextField Cho phép người dùng nhập địa cho đăng 70 4.4.2.6 Màn hình bình luận Màn hình bình luận 71 Bảng danh sách thành phần hình bình ln STT Kiểu Mơ tả Row (Circle Bình luận người dùng Avatar + Text + Text) TextField Cho phép người dùng nhập bình luận Text Cho phép người dùng đăng bình luận nhấn vào 72 4.4.2.7 Tìm kiếm người dùng Màn hình tìm kiếm người dùng 73 Bảng danh sách thành phần hình tìm kiếm người dùng STT Kiểu Mô tả TextField Cho phép người dùng nhập tên tài khoản cần tìm kiếm Row (Image + Ảnh đại diện tên tài khoản người dùng Text) 74 4.4.2.8 Danh sách ăn Màn hình danh sách ăn 75 Bảng danh sách thành phần hình danh sách ăn STT Kiểu Mơ tả Image Hình ảnh ăn Text Tên ăn Text Thời gian hồn thành ăn Text Số lượng người sử dụng ăn Text Nguyên liệu nấu ăn 76 4.4.2.9 Chi tiết hướng dẫn nấu ăn Màn hình chi tiết hướng dẫn nấu ăn 77 Bảng danh sách thành phần hình chi tiết hướng dẫn nấu ăn STT Kiểu Mơ tả Image Hình ảnh ăn Text Nguyên liệu nấu ăn Text Các bước để nấu ăn Image Hình ảnh minh họa cho bước nấu ăn 78 4.4.2.10 Trang cá nhân Màn hình trang cá nhân 79 Bảng danh sách thành phần hình trang cá nhân STT Kiểu Mơ tả IconButton Đăng xuất khỏi ứng dụng CircleAvatar Ảnh đại diện người dùng Text Số lượng đăng người dùng Text Số lượng người theo dõi Text Số lượng người theo dõi Button Mở hình chỉnh sửa thơng tin cá nhân người dùng chọn Text Tên hiển thị người dùng IconButton Chọn chế độ xem đăng dạng Grid hay List Image Danh sách đăng người dùng 80 4.4.2.11 Chỉnh sửa thông tin cá nhân Màn hình chỉnh sửa thơng tin cá nhân 81 Bảng danh sách thành phần hình chỉnh sửa thông tin cá nhân STT Kiểu Mô tả IconButton Xác nhận thay đổi thông tin cá nhân CircleAvatar Ảnh đại diện người dùng IconButton Thay đổi ảnh đại diện người dùng TextField Tên người dùng TextField Họ người dùng TextField Tên hiển thị người dùng TextField Chiều cao người dùng TextField Cân nặng người dùng RadioButton Chọn giới tính 82 CHƯƠNG KẾT LUẬN 5.1 Đánh giá 5.1.1 Thuận lợi - Trên thị trường có nhiều ứng dụng chia sẻ phương pháp nấu ăn ứng dụng mạng xã hội, giúp nhóm có nhiều ý tưởng thiết kế giao diện liệu - Các tài liệu công cụ thực đồ án có đầy đủ chi tiết mạng 5.1.2 Khó khăn - Mất nhiều thời gian để làm quen với ngôn ngữ, công cụ - Tìm kiếm tài liệu hướng dẫn nấu ăn gặp nhiều khó khăn 5.2 Kết đạt 5.2.1 Kết - Hoàn thành yêu cầu đặt ban đầu, có đầy đủ tính cần thiết ứng dụng mạng xã hội chia sẻ phương thức nấu ăn - Sinh viên thực nắm cách thức làm ứng dụng di động - Sinh viên nắm công nghệ phổ biến như: Flutter, Firebase, NestJs, MongoDB 5.2.2 Ưu điểm - Giao diện đơn giản, tươi sáng, người dùng dễ dàng theo tác ứng dụng - Tốc độ phản hồi thao tác nhanh, tối ưu hóa suất người dùng 5.2.3 Nhược điểm Cịn hạn chế số tính năng: - Chưa đưa gợi ý thực đơn dựa số sức khỏe người dùng - Tính ứng dụng chatbot chưa cao - Cần cập nhật thêm sở liệu hướng dẫn nấu ăn (Hiện có khoảng 250 món) 83 5.3 Hướng phát triển - Train cho bot giúp người dùng có trải nghiệm tốt với tính chatbot ứng dụng - Đưa gợi ý thực đơn dựa tiêu chí sức khỏe người dùng (chiều cao, cân nặng,…) - Tối ưu hóa code để tăng tốc độ tương tác 84 ... đam mê nấu ăn 1.3 Phương pháp nghiên cứu Nhóm sử dụng phương pháp: - Đọc tài liệu - Phân tích ứng dụng có 1.4 Nhiệm vụ đề tài Để tài ? ?Mạng xã hội chia sẻ phương pháp nấu ăn dinh dưỡng? ?? ứng dụng. .. Đăng nhập Đăng ký Đăng Xem hướng dẫn nấu ăn Ghi Người dùng đăng nhập vào ứng dụng Người dùng đăng ký tài khoản để sử dụng ứng dụng Người dùng đăng lên ứng dụng Người dùng xem hướng dẫn nấu ăn. .. văn hóa ẩm thực độc đáo dân tộc Với mong muốn tạo nơi kết nối người có niềm đam mê nấu ăn đem lại ăn ngon, phong phú cho gia đình, nhóm chúng em tạo ứng dụng ? ?Mạng xã hội chia sẻ phương pháp nấu

Ngày đăng: 08/03/2022, 21:38

TỪ KHÓA LIÊN QUAN

TRÍCH ĐOẠN

TÀI LIỆU CÙNG NGƯỜI DÙNG

TÀI LIỆU LIÊN QUAN

w