Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống
1
/ 42 trang
THÔNG TIN TÀI LIỆU
Thông tin cơ bản
Định dạng
Số trang
42
Dung lượng
2,17 MB
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 XÂY DỰNG WEBSITE HỖ TRỢ GIẢM CÂN Môn: Đồ Án Lớp: SE121.N21.PMCL Giảng viên hướng dẫn: Ths.Nguyễn Thị Thanh Trúc Sinh viên thực hiện: Nguyễn Như Từ - 20522098 Thành phố Hồ Chí Minh, tháng năm 2023 NHẬN XÉT CỦA GIẢNG VIÊN HƯỚNG DẪN ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… ……………………………………………………………………………………………………… Ngày…tháng……năm 2023 Người nhận xét (Ký tên ghi rõ họ tên) Mục lục CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Lý chọn đề tài 1.2 Mục tiêu đề tài 1.3 Đối tượng sử dụng 1.4 Phương pháp nghiên cứu CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 2.1 Cơ sở lý thuyết 2.1.1 Chỉ số BMR, BMI, PAL 2.2 Công nghệ sử dụng 11 2.2.1 Ngôn ngữ lập trình 11 2.2.2 Cơ sở liệu 11 2.2.3 Thư viện Framework 13 2.2.4 Kiểm thử 16 CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG 16 3.1 Phân tích kiến trúc hệ thống 16 3.2 Phân tích yêu cầu hệ thống 17 CHƯƠNG 4: THIẾT KẾ HỆ THỐNG 18 4.1 Thiết kế use case 19 4.1.1 Sơ đồ use case 19 4.1.2 Danh sách actor 22 4.1.3 Danh sách use case 22 4.1.4 Đặc tả use case 23 4.1.4.1 Đăng ký 23 4.1.4.2 Đăng nhập 23 4.1.4.3 Cập nhật thông tin cá nhân 24 4.1.4.4 Chi tiết ăn, tập có sẵn ứng dụng 24 4.1.4.5 Tham khảo kế hoạch người dùng khác 25 4.1.4.6 Tạo ăn 26 4.1.4.7 Tạo tập 26 4.1.4.8 Xóa tập 27 4.1.4.9 Xóa ăn 27 4.1.4.10 Tạo kế hoạch 28 4.1.4.11 Xóa kế hoạch 28 4.1.4.12 Đánh giá, bình luận 29 4.1.4.13 Xóa đánh giá, bình luận 29 4.2 Thiết kế sở liệu 30 4.2.1 Sơ đồ database: 30 4.2.2 Mô tả bảng 31 4.2.2.1 Bảng User: thông tin người dùng 31 4.2.2.2 Bảng Plan: thông tin kế hoạch 31 4.2.2.3 Bảng DayPlan: thông tin ngày kế hoạch 31 4.2.2.4 Bảng DayFood: thông tin bữa ăn kế hoạch 32 4.2.2.5 Bảng DayExercise: thông tin buổi tập kế hoạch 32 4.2.2.6 Bảng Food: thông tin ăn 32 4.2.2.7 Bảng Exercise: thông tin tập 33 4.2.2.7 Bảng Reviews: thơng tin bình luận 33 4.3 Thiết kế giao diện, ứng dụng 34 4.3.1 Màn hình đăng nhập 34 4.3.2 Màn hình đăng ký 34 4.3.3 Màn hình trang chủ 35 4.3.4 Màn hình thực đơn 36 4.3.5 Màn hình tạo kế hoạch 36 4.3.6 Màn hình theo dõi kế hoạch 37 4.3.7 Màn hình cập nhật kế hoạch 37 4.3.8 Màn hình người dùng 38 4.3.9 Màn hình tạo ăn 38 4.3.10 Màn hình chi tiết ăn 39 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 40 5.1 Kết đạt 40 5.1.1 Hạn chế 40 5.1.2 Hướng phát triển 40 TÀI LIỆU THAM KHẢO 41 LỜI CẢM ƠN Trước bắt đầu báo cáo, em xin gửi lời cảm ơn đến Cô Nguyễn Thị Thanh Trúc – Giảng viên Khoa Công Nghệ Phần Mềm Trong trình thực mơn Đồ Án 1, hướng dẫn, chia sẻ kiến thức, đóng góp ý kiến giúp em xây dựng đồ án hướng với đề tài lựa chọn Trên giới nay, hai bệnh phổ biến giới trẻ “thừa cân” “béo phì”, Việt Nam, số người mắc hai bệnh ngày tăng Lý chế độ ăn uống thiếu khoa học, ưa thích đồ ăn chiên rán, nhiều dầu mỡ, đồ ăn nhanh, thức ăn, đồ uống chứa nhiều đường, nạp vào thể chất trên, thể nhiều thời gian để tiêu hóa Lý thứ hai lười vận động, thể nạp vào nhiều Calo từ đồ ăn trên, bạn không vận động để đốt cháy bớt lượng Calo đó, theo thời gian lượng Calo chênh lệch tiêu thụ đốt cháy tăng thêm, chất béo không tiêu thụ bạn bị “thừa cân” lâu ngày dẫn đến “béo phì” Nhận thức vấn đề trên, em nảy ý định xây dựng Website hỗ trợ giảm cân, để người dùng truy cập sử dụng lúc, nơi, nắm bắt tình trạng thể Khi bắt tay vào thực đề tài, gặp nhiều khó khăn cách định hướng chức đồ án, đối tượng người dùng, cách hoạt động Website, với hỗ trợ nhiệt tình Cơ giúp em vượt qua vấn đề khó khăn trình thực Em ghi nhớ kiến thức mà cô dạy để phát triển thêm đồ án, áp dụng vào dự án khác tương lai Một lần nữa, em xin gửi lời cảm ơn đến Cô Nguyễn Thị Thanh Trúc, chúc Cô thật nhiều sức khỏe, thành công nghiệp CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI 1.1 Lý chọn đề tài Béo phì thừa cân hai vấn đề sức khỏe phổ biến nhiều quốc gia giới, hai vấn đề khiến người bệnh có nguy cao mắc phải bệnh mãn tính như: tiểu đường, bệnh tim mạch, huyết áp cao, ung thư…… Nhiều người béo phì tìm kiếm giải pháp giảm cân, cải thiện sức khỏe để có thể khỏe mạnh Trong thời kỳ internet phát triển, phổ biến nay, người bệnh tự tìm cho chế độ ăn uống, tập luyện phù hợp, với thể trạng để tự giảm cân nhà thông qua ứng dụng điện thoại, Website máy tính Việc xây dựng Website, ứng dụng hỗ trợ giảm cân tác động trực tiếp đến cộng đồng cách giúp đỡ người dùng giảm cân, giải pháp tiện lợi khả thi, người dùng truy cập Website, ứng dụng lúc nơi, sử dụng tính Website, ứng dụng để theo dõi, tự tạo lộ trình giảm cân phù hợp với thể trạng Nắm bắt nhu cầu cần thiết trên, nhóm em tiến hành xây dựng Website để người dùng truy cập nhanh chóng, tham khảo chế độ ăn uống chuyên gia dinh dưỡng, ăn, tập Website, để tự tạo kế hoạch riêng mình, theo dõi trình thực kế hoạch đó, cập nhật cân nặng sau kế hoạch, để thay đổi phần ăn cách tập luyện phù hợp cho kế hoạch 1.2 Mục tiêu đề tài Xây dựng Website có giao diện thân thiện với người dùng, bố cục hợp lý, dễ sử dụng, lược bỏ tính khơng cần thiết, sử dụng hết điểm mạnh công nghệ áp dụng Website: • Từ thơng tin cân nặng, chiều cao người dùng cung cấp, tính lượng Calo cần nạp , cần đốt cháy để giảm cân, thay đổi thói quen sinh hoạt • Người dùng tự đăng tải, ăn, tập riêng lên Website • Cho phép đánh giá độ hiệu kế hoạch, tập • Có thể theo dõi q trình thực hiện, điều chỉnh kế hoạch • Cung cấp thực đơn phong phú phù hợp với người Việt Nam • Hỗ trợ tìm kiếm với lọc thực đơn, tập 1.3 Đối tượng sử dụng Đề tài hướng đến hai nhóm đối tượng chính: • Người dùng: sử dụng kế hoạch có sẵn chuyên gia dinh dưỡng, tự tạo kế hoạch riêng thân • Chun gia dinh dưỡng: đưa kế hoạch, ăn, tập, đánh giá độ hiệu quả, để người dùng tin tưởng, tham khảo sử dụng 1.4 Phương pháp nghiên cứu Các hướng nghiên cứu đề tài: • Tìm hiểu kiến trúc MERN Stack • Thiết kế thử nghiệm hình, chức Figma • Tìm hiểu yếu tố liên quan đến việc chuyển hóa lượng thể • Xây dựng chức cần thiết cho ứng dụng • Tìm hiểu vể số BMI, BMR, PAL thể CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ 2.1 Cơ sở lý thuyết 2.1.1 Chỉ số BMR, BMI, PAL a Chỉ số BMR Khái niệm: - Tốc độ trao đổi chất BMR (viết tắt Basal Metabolic Rate) lượng lượng đơn vị thời gian mà người cần giữ cho thể hoạt động trạng thái nghỉ ngơi, hoạt động là: thở, tuần hồn máu, co cơ…… Chỉ số BMR ảnh hưởng đến tốc độ mà người đốt cháy calo dự đốn liệu người có trì, tăng giảm cân hay không Chỉ số BMR chiếm khoảng 60 đến 75% chi tiêu calo ngày người Cách tính: - Một phương pháp phổ biến để tính số BMR sử dụng phương trình Harris-Benecdit, phương trình sử dụng để hỗ trợ giảm cân cách giảm số lượng Calo tiêu thụ mức số BMR tính Phương trình Harris-Becnedit: Với đàn ông: BMR=[10 x trọng lượng (kg)] + [6,25 x chiều cao(cm)] – [5 x tuổi ( năm)] + Với phụ nữ: BMR=[10 x trọng lượng (kg)] + [6,25 x chiều cao(cm)] – [5 x tuổi ( năm)] -161 (phương trình sửa đổi lần cuối vào năm 1990 Miffin St Joer, trở nên phổ biến nhất) b Chỉ số BMI Khái niệm: - Chỉ số khối thể BMI viết tắt (Body Mass Index), cách nhận định thể người gầy hay béo số BMI tính theo cơng thức chiếu theo bảng tiêu chuẩn WHO Cách tính: - BMI tính trọng lượng (kg) chia cho bình phương chiều cao (đo theo mét cm) W: khối lượng người đó(tính kg) H: chiều cao người (tính m) Bảng phân loại theo số BMI WHO: Phân loại cho người Châu Âu: Phân loại cho người Châu Á – Thái Bình Dương c Chỉ số PAL Khái niệm: Hệ thống chuyển đến trang người dùng, bạn thấy tập xuất thực đơn riêng minh Dòng kiện Khơng khác 4.1.4.8 Xóa tập Mã Use Case #UC_DEX Tên Use Case Xóa tập Mơ tả Xóa tập khỏi hệ thống Người thực Người dùng Điều kiện trước Phải đăng nhập vào tài khoản tạo tập xử lý Kết sau Xóa tập khỏi hệ thống xử lý Ngoại lệ Thơng báo lỗi tập khơng phải người muốn xóa tập đăng tải Dịng kiện Vào trang người dùng, click vào button xóa Click vào button xác nhận Hệ thống tải lại trang người dùng Dịng kiện Khơng có khác 4.1.4.9 Xóa ăn Mã Use Case #UC_DF Tên Use Case Xóa ăn Mơ tả Xóa ăn khỏi hệ thống Người thực Người dùng Điều kiện trước Phải đăng nhập vào tài khoản tạo ăn xử lý Kết sau Xóa ăn khỏi hệ thống xử lý Ngoại lệ Dịng kiện Thơng báo lỗi ăn khơng phải người muốn xóa ăn đăng tải Vào trang người dùng, click vào button xóa 27 Click vào button xác nhận khác Hệ thống tải lại trang người dùng Dịng kiện Khơng có khác 4.1.4.10 Tạo kế hoạch Mã Use Case #UC_CRPL Tên Use Case Tạo kế hoạch Mô tả Tạo kế hoạch cho riêng Người thực Người dùng Điều kiện trước Đã có tài khoản đăng nhập vào hệ thống xử lý Kết sau Đăng tải kế hoạch lên hình người dùng xử lý Ngoại lệ Thơng báo lỗi nhập thơng tin khơng đầy đủ Dịng kiện Lựa chọn số ngày thực Chọn số bữa ăn,bài tập cho ngày, ăn chi tiết bữa, Thời gian phải tập luyện tập Nhập tên kế hoạch, chọn ngày bắt đầu thực Click button tạo kế hoạch Dịng kiện Khơng có khác 4.1.4.11 Xóa kế hoạch Mã Use Case #UC_DPL Tên Use Case Xóa kế hoạch Mô tả Kế hoạch sau thực lưu lại hệ thống, khơng cịn nhu cầu cho người khác tham khảo xóa Người thực Người dùng Điều kiện trước Đã có tài khoản đăng nhập vào hệ thống, tài khoản tạo kế hoạch xử lý 28 Kết sau Xóa kế hoạch khỏi hệ thống xử lý Ngoại lệ Thơng báo lỗi tài khoản muốn xóa khơng phải người tạo kế hoạch Dịng kiện Click vào dấu ba chấm kế hoạch hình người dùng Chọn “xóa”, xác nhận Xóa kế hoạch khỏi hệ thống người dùng Dịng kiện Khơng có khác 4.1.4.12 Đánh giá, bình luận Mã Use Case #UC_CM Tên Use Case Đánh giá, bình luận Mơ tả Đưa ý kiến tập, kế hoạch, ăn người khác Người thực Người dùng Điều kiện trước Đã có tài khoản đăng nhập vào hệ thống xử lý Kết sau Hiển thị ý kiến, lượt vote (1 -> 5sao) lên ăn, tập, kế hoạch xử lý Ngoại lệ Dịng kiện Khơng có Nhập ý kiến vào textbox phần thơng tin ăn, tập, kế hoạch, chọn số muốn đánh giá Nhấn button “đăng” Hệ thống đăng tải thông tin bạn nhập lên ăn, tập, kế hoạch Dịng kiện Khơng có khác 4.1.4.13 Xóa đánh giá, bình luận Mã Use Case #UC_DM Tên Use Case Xóa đánh giá, bình luận Mơ tả Xóa thơng tin đánh giá khỏi ăn, tập, kế hoạch Người thực Người dùng 29 Điều kiện trước Phải đăng nhập vào tài khoản đăng tải đánh giá xử lý Kết sau Xóa thơng tin đánh giá xử lý Ngoại lệ Khơng có Dịng kiện Click vào dấu thùng rác cạnh bình luận Chọn xóa Hệ thống xóa bình luận khỏi ăn, tập, kế hoạch Dịng kiện Khơng có khác 4.2 Thiết kế sở liệu 4.2.1 Sơ đồ database: 30 4.2.2 Mô tả bảng 4.2.2.1 Bảng User: thông tin người dùng STT Tên thuộc tính Kiểu Ghi _userID String ID người dùng lastFirstName String Tên người dùng email String Tên đăng nhập người dùng Password String Mật người dùng userName String Tên sử dụng ứng dung, dùng cho trường hợp người dùng muốn tạo nhiều tài khoản gender String Giới tính người dùng location String Địa photo Buffer Ảnh đại diện _foodID String ID ăn người dùng tạo 10 _exerciseID String ID tập người dùng tạo 11 _planID String ID kế hoạch người dùng tạo 4.2.2.2 Bảng Plan: thông tin kế hoạch STT Tên thuộc tính Kiểu Ghi _planID String ID kế hoạch namePlan String Tên kế hoạch startDate Date Ngày bắt đầu thực endDate Date Ngày kết thúc _reviewID String ID phần bình luận kế hoạch _dayPlanID String ID ngày kế hoạch _userID String ID người tạo kế hoạch 4.2.2.3 Bảng DayPlan: thông tin ngày kế hoạch STT Tên thuộc tính Kiểu 31 Ghi _dayPlanID String ID ngày thực _dayFoodID String ID bữa ăn ngày _dayExerciseID String ID tập ngày 4.2.2.4 Bảng DayFood: thông tin bữa ăn kế hoạch STT Tên thuộc tính Kiểu Ghi _dayFoodID String ID bữa ăn _foodID String ID ăn 4.2.2.5 Bảng DayExercise: thơng tin buổi tập kế hoạch STT Tên thuộc tính Kiểu Ghi _dayExerciseID String ID buổi tập _exerciseID String ID tập 4.2.2.6 Bảng Food: thông tin ăn STT Tên thuộc tính Kiểu Ghi _foodID String ID ăn nameFood String Tên ăn imageFood Buffer ảnh ăn support String Tác dụng ăn ration Number Khẩu phần ăn đơn vị totalCalories Number Tổng Calo mặc định ăn mainMaterials String Ngun liệu ăn auxiliaryMaterials Buffer Nguyên liệu phụ additivies String Gia vị 10 processing String Cách chế biến 32 11 Description String Mô tả ăn 12 _reviewsID String ID bình luận 13 _userID String ID người tạo ăn 4.2.2.7 Bảng Exercise: thông tin tập STT Tên thuộc tính Kiểu Ghi _exerciseID String ID ăn nameExercise String Tên tập imageExercise Buffer ảnh mô tả tập support String Tác dụng tập ration Number Thời gian tập tối thiểu caloriesBurned Number Tổng calo đốt cháy ration tập description String Mô tả cách thực tập 4.2.2.7 Bảng Reviews: thông tin bình luận STT Tên thuộc tính Kiểu Ghi _reviewID String ID bình luận lastFirstName String Tên người dùng reviewText Buffer Nội dung bình luận Rating String Lượt đánh giá ( -> sao) 33 4.3 Thiết kế giao diện, ứng dụng 4.3.1 Màn hình đăng nhập 4.3.2 Màn hình đăng ký 34 4.3.3 Màn hình trang chủ 35 4.3.4 Màn hình thực đơn 4.3.5 Màn hình tạo kế hoạch 36 4.3.6 Màn hình theo dõi kế hoạch 4.3.7 Màn hình cập nhật kế hoạch 37 4.3.8 Màn hình người dùng 4.3.9 Màn hình tạo ăn 38 4.3.10 Màn hình chi tiết ăn 39 CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN 5.1 Kết đạt - Cách xây dựng ứng dụng ReactJS, thư viện phổ biến - Cách xây dựng Server Restful API NodeJS ExpressJS - Làm việc với sở liệu MongoDB Cloudinary - Cách lập trình với ngơn ngữ JavaScript - Cách nghiên cứu, khảo sát sức khỏe - Sử dụng công cụ phát triển phần mềm Postman, VSCode 5.1.1 Hạn chế - Khơng kiểm sốt toàn hoạt động người dùng - Server bị lỗi gửi lúc nhiều request - Giao diện chưa phù hợp với vài đối tượng - Tương tác người dùng chuyên gia bị hạn chế 5.1.2 Hướng phát triển - Chặn, cho phép người dùng tham khảo kế hoạch, ăn, tập - Thêm chức nhắn tin để người dùng kết nối riêng với chuyên gia để nhờ giúp đỡ trình thực - Mở rộng ứng dụng, tăng tương tác người dùng với - Tích hợp chatbot, hỗ trợ tư vấn dinh dưỡng - Đặt lịch thực lâu dài trước bắt đầu - Tạo thêm chức cho tài khoản chuyên gia dinh dưỡng - Thêm ngơn ngữ cho ứng dụng - Nghiên cứu thói quen, sở thích người nước ngồi, cập nhật lại thực đơn, thêm nhiều nguyên liệu, ăn người nước 40 TÀI LIỆU THAM KHẢO [1] Subramanian, V (2019) Pro MERN Stack: Full Stack Web App Development with Mongo, Express, React, and Node Apress [2] Chinnathambi, K (2018) Learning React: A Hands-On Guide to Building Web Applications Using React and Redux Addison-Wesley Professional [3] Dayley, B (2017) Node.js, MongoDB and Angular Web Development Addison- Wesley Professional [4] Hahn, E (2016) Express in Action: Writing, Building, and Testing Node.js Applications Manning Publications [5] Chodorow, K (2013) MongoDB: The Definitive Guide O'Reilly Media [6] Eisenman, B (2017) React Native: Building Mobile Apps with JavaScript O'Reilly Media 41