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

đồ án xây dựng ứng dụng hỗ trợ giảm cân

44 1 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 hỗ trợ giảm cân
Tác giả Nguyễn Như Từ
Người hướng dẫn Ths. Nguyễn Thị Thanh Trúc
Trường học Đại học Quốc gia Thành phố Hồ Chí Minh, Trường Đại học Công nghệ Thông tin
Chuyên ngành Công nghệ Phần mềm
Thể loại Đồ án
Năm xuất bản 2023
Thành phố Thành phố Hồ Chí Minh
Định dạng
Số trang 44
Dung lượng 5,5 MB

Cấu trúc

  • CHƯƠNG 1: TỔNG QUAN ĐỀ TÀI (7)
    • 1.1. Lý do chọn đề tài (7)
    • 1.2. Mục tiêu đề tài (8)
    • 1.3. Đối tượng sử dụng (8)
    • 1.4. Phương pháp nghiên cứu (8)
  • CHƯƠNG 2: CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ (9)
    • 2.1.1. Chỉ số BMR, BMI, PAL (9)
    • 2.2. Công nghệ sử dụng (13)
      • 2.2.1. Ngôn ngữ lập trình (13)
      • 2.2.2. Cơ sở dữ liệu (13)
      • 2.2.3. Thư viện và Framework (15)
      • 2.2.4. Kiểm thử (18)
  • CHƯƠNG 3: PHÂN TÍCH HỆ THỐNG (18)
    • 3.1. Phân tích kiến trúc hệ thống (18)
    • 3.2. Phân tích yêu cầu hệ thống (19)
  • CHƯƠNG 4: THIẾT KẾ HỆ THỐNG (21)
    • 4.1. Thiết kế use case (21)
      • 4.1.1. Sơ đồ use case (21)
      • 4.1.2 Danh sách actor (24)
      • 4.1.3 Danh sách use case (25)
      • 4.1.4 Đặc tả use case (25)
        • 4.1.4.1 Đăng ký (25)
        • 4.1.4.2 Đăng nhập (26)
        • 4.1.4.3 Cập nhật thông tin cá nhân (26)
        • 4.1.4.4 Chi tiết món ăn, bài tập có sẵn của ứng dụng (27)
        • 4.1.4.5 Tham khảo kế hoạch của các người dùng khác (27)
        • 4.1.4.6 Tạo món ăn (28)
        • 4.1.4.7 Tạo bài tập (28)
        • 4.1.4.8 Xóa bài tập (29)
        • 4.1.4.9 Xóa món ăn (29)
        • 4.1.4.10 Tạo kế hoạch (30)
        • 4.1.4.11 Xóa kế hoạch (31)
        • 4.1.4.12 Đánh giá, bình luận (31)
        • 4.1.4.13 Xóa đánh giá, bình luận (32)
    • 4.2 Thiết kế cơ sở dữ liệu (32)
      • 4.2.1 Sơ đồ database (32)
      • 4.2.2 Mô tả các bảng (33)
        • 4.2.2.1 Bảng User: thông tin người dùng (33)
        • 4.2.2.2 Bảng Plan: thông tin kế hoạch (34)
        • 4.2.2.3 Bảng DayPlan: thông tin của từng ngày trong kế hoạch (34)
        • 4.2.2.4 Bảng DayFood: thông tin về từng bữa ăn trong kế hoạch (34)
        • 4.2.2.5 Bảng DayExercise: thông tin về từng buổi tập trong kế hoạch (35)
        • 4.2.2.6 Bảng Food: thông tin món ăn (35)
        • 4.2.2.7 Bảng Exercise: thông tin về bài tập (35)
        • 4.2.2.7 Bảng Reviews: thông tin về bình luận (36)
    • 4.3 Thiết kế giao diện, ứng dụng (36)
      • 4.3.1 Màn hình đăng nhập (36)
      • 4.3.2 Màn hình đăng ký (36)
      • 4.3.3. Màn hình trang chủ (37)
      • 4.3.4 Màn hình thực đơn (38)
      • 4.3.5 Màn hình tạo kế hoạch (39)
      • 4.3.6 Màn hình theo dõi kế hoạch (39)
      • 4.3.7 Màn hình cập nhật kế hoạch (40)
      • 4.3.8 Màn hình người dùng (40)
      • 4.3.9 Màn hình tạo món ăn (41)
      • 4.3.10 Màn hình chi tiết món ăn (41)
  • CHƯƠNG 5: KẾT LUẬN VÀ HƯỚNG PHÁT TRIỂN (42)
    • 5.1 Kết quả đạt được (42)
      • 5.1.1 Hạn chế (43)
      • 5.1.2 Hướng phát triển (43)
  • TÀI LIỆU THAM KHẢO (43)

Nội dung

Lý do thứ hai là lười vận động, khi cơ thể nạp vào quá nhiều Calo từ những đồ ăn trên, nếu 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 giữa tiê

CƠ SỞ LÝ THUYẾT VÀ CÔNG NGHỆ

Chỉ số BMR, BMI, PAL

- Tốc độ trao đổi chất cơ bản BMR (viết tắt của Basal Metabolic Rate) là lượng năng lượng trên một đơn vị thời gian mà một người cần giữ cho cơ thể hoạt động ở trạng thái nghỉ ngơi, một trong những hoạt động đó là: thở, tuần hoàn máu, co cơ…… Chỉ số BMR ảnh hưởng đến tốc độ mà một người đốt cháy calo và có thể dự đoán rằng liệu người đó có duy trì, tăng hoặc giảm cân hay không Chỉ số BMR chiếm khoảng 60 đến 75% chi tiêu calo hằng ngày của một người.

- Một trong những phương pháp phổ biến để tính chỉ số BMR là sử dụng phương trình Harris-Benecdit, phương trình này có thể được sử dụng để hỗ trợ giảm cân bằng cách giảm số lượng Calo tiêu thụ dưới mức chỉ số BMR tính được

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)] + 5 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 này được sửa đổi lần cuối cùng vào năm 1990 bởi Miffin và St Joer, và trở nên phổ biến nhất) b Chỉ số BMI

- Chỉ số khối cơ thể BMI viết tắt của (Body Mass Index), là một cách nhận định cơ thể của một người là gầy hay béo bằng một chỉ số BMI có thể được tính theo công thức hoặc chiếu theo bảng tiêu chuẩn của WHO.

- BMI được tính bằng trọng lượng (kg) chia cho bình phương chiều cao (đo theo mét hoặc cm).

W: khối lượng của người đó(tính bằng kg) H: chiều cao của người đó (tính bằng m) Bảng phân loại theo chỉ số BMI của 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

- Mức độ hoạt động thể chất PAL( viết tắt của Physical Activities Level) là một chỉ số thể hiện hoạt động thể chất hàng ngày của một người dưới dạng số và được sử dụng để ước tính tổng chi tiêu năng lượng của một người Khi kết hợp nó với chỉ số BMR, ta có thể tính được năng lượng thực phẩm mà một người cần tiêu thụ để duy trì một lối sống.

-Hiện tại vẫn chưa có công thức cụ thể, và chính xác để tính được chỉ số PAL, nhưng ta có một công thức liên hệ giữa chỉ số PAL và BMR để tính được lượng thực phẩm cần tiêu thụ để duy trì lối sống, hoặc tăng, giảm cân.

Trong đó: TEE là tổng chi tiêu năng lượng của người đó

BMR: tỷ lệ trao đổi chất cơ bản PAL: mức độ hoạt động thể chất Bảng tham khảo về chỉ số PAL cho một vài hoạt động:

(Bảng số liệu này chỉ là tham khảo, bởi mỗi người có một cách vận động khác nhau, tùy vào tình trạng của cơ thể) d Áp dụng vào đề tài:

- Những người giảm cân hoặc có kế hoạch giảm cân, theo các nghiên cứu, cứ 1kg cân nặng thì cần tạo ra 7700 Calo thâm hụt (lượng Calo tiêu thụ lớn hơn lượng Calo nạp vào), hay cứ một 1000 Calo thì sẽ giảm 0.13kg

- Dựa vào 3 chỉ số cơ bản trên, trước khi bắt đầu tạo kế hoạch giảm cân, người dùng sẽ cần phải cập nhật cân nặng, chiều cao của bản thân (2 chỉ số này có thể thay đổi được) Website sẽ tính chỉ số BMI, BMR, PAL, để xác định là người đó đang ở trong tình trạng nào dựa vào bảng phân loại của WHO Trong quá trình tạo kế hoạch cho từng ngày, Website sẽ tính tổng Calo thâm hụt cho bạn, gợi ý lượng Calo phù hợp cho từng ngày.

Công nghệ sử dụng

Javascript là một ngôn ngữ lập trình thông dịch được phát triển từ các ý niệm nguyên mẫu Javascript nhẹ và hoạt động đa nền tảng và đa mô hình Nó được sử dụng phổ biến trong việc lập trình các ứng dụng Web và là một phần quan trọng của các công nghệ như HTML, CSS và các thư viện và framework như React, Angular, Vue

Lý do sử dụng Javascript:

- Hỗ trợ các kiểu dữ liệu động, hàm bậc cao, xử lý bất đồng bộ

- Có cộng đồng phát triển mạnh mẽ

- Client-side: cung cấp cho người dùng nhiều lợi thế hơn

- Tương tác Server ít hơn

MongoDB là một cơ sở dữ liệu phi quan hệ , mã nguồn mở được thiết kế để lưu trữ và truy vấn dữ liệu bán cấu trúc hoặc không cấu trúc MongoDB sử dụng mô hình lưu trữ dữ liệu JSON, cho phép lưu trữ dữ liệu dưới dạng tài liệu có thể chứa các trường và giá trị tùy ý. MongoDB được sử dụng rộng rãi trong các ứng dụng Web, IOT, và các ứng dụng đòi hỏi khả năng mở rộng và tốc độ truy vấn nhanh.

Lý do sử dụng MongoDB

- Mô hình dữ liệu linh hoạt

- Tốc độ truy vấn nhanh

- Khả năng mở rộng, tùy biến cao

- Hỗ trợ các tính năng sharding và replication

Cloudinary là một dịch vụ đám mây cung cấp các tính năng về quản lý, xử lý và lưu trữ hình ảnh và video trên Web, phân phối nội dung và quản lý tài nguyên đa phương tiện

Cloudinary là một giải pháp đáng tin cậy và phổ biến cho việc quản lý, xử lý hình ảnh và video trên đám mây, và được sử dụng rộng rãi trong các ứng dụng Web, di động và thương mại điện tử.

Lý do sử dụng Cloudinary

- Xử lý hình ảnh và video: Cloudinary cho phép bạn xử lý hình ảnh và video trên đám mây, bao gồm chuyển đổi định dạng, cắt, xoay, thu phóng và tạo ảnh động, tăng tốc độ video, phân tích nội dung video

- Giảm thiểu chi phí lưu trữ, quản lý tài nguyên đa phương tiện

- Tối ưu hóa ảnh và video làm giảm thời gian tải trang và tăng trải nghiệm người dùng

- API và SDK : tích hợp ứng dụng Web, di động cho phép tùy chỉnh các tính năng

2.2.3 Thư viện và Framework a ReactJS

ReactJS là một thư viện JavaScript mã nguồn mở được sử dụng để xây dựng các giao diện người dùng động và tương tác trên Web ReactJS được phát triển bởi Facebook và được sử dụng trong các ứng dụng Web lớn như Facebook, Instagram, Netflix và Airbnb ReactJS sử dụng mô hình component để xây dựng giao diện người dùng Mỗi component là một đối tượng độc lập, có thể tái sử dụng, và chứa một phần của giao diện Bằng cách sử dụng các component, ReactJS cho phép xây dựng các giao diện phức tạp bằng cách kết hợp các Component.

Lý do sử dụng ReactJS:

- Có một cộng đồng mạnh mẽ với nhiều tài liệu, framework hỗ trợ

- Tích hợp dễ dàng với các công nghệ khác : HTML, CSS, JavaScript

- Có thể kết hợp các thư viện và framework khác như: React Router, Redux, ….

- Hỗ trợ tính năng Virtual DOM: tối ưu hóa hiệu suất , tăng tốc cập nhật người dùng b NodeJS

NodeJS là một nền tảng phát triển mã nguồn mở được xây dựng trên nền tảng V8 Javascript Engine của Google, cho phép chạy mã JavaScript trên máy chủ NodeJS cho phép lập trình viên sử dụng JavaScript để phát triển ứng dụng máy chủ và ứng dụng Web động và các ứng dụng đa nền tảng khác Nó cũng có một cộng đồng phát triển mạnh mẽ với nhiều thư viện và module hỗ trợ cho việc phát triển ứng dụng NodeJS

Lý do sử dụng NodeJS

- Khả năng xử lý các yêu cầu ở chế độ không đồng bộ tăng tốc độ xử lý ứng dụng

- Có thể sử dung module để tách code thành các phần nhỏ hơn, giúp dễ dàng quản lý và tái sử dụng code

- Có thư viện mạnh mẽ

- Tích hợp dễ dàng với các công nghệ khác: MongoDB, ExpressJS, ReactJS c ExpressJS

ExpressJS là một framwork của NodeJS mã nguồn mở và phổ biến nhất hiện nay Nó được sử dụng để phát triển các ứng dụng Web động và API , ExpressJS hỗ trợ xử lý đường dẫn và yêu cầu HTTP cho phép lập trình viên xây dựng các ứng dụng Web nhanh chóng và dễ dàng

Lý do sử dụng ExpressJS

- Cho phép lập trình viên xử lý yêu cầu và phản hồi trước khi chúng được xử lý bởi các route của ứng dụng với Middleware

- Tích hợp dễ dàng với các công nghệ khác: ReactJS, MongoDB,

- Có một cộng đồng lớn với nhiều tài liệu thư viện, framework hỗ trợ cho việc phát triển ứng dụng

- Postman là 1 ứng dụng REST Client, dùng để thực hiện test, gửi các request, API mà không cần sử dụng browser

- Gọi Rest API mà không cần viết bất kỳ dòng code nào

- Hỗ trợ mọi phương thức bao gồm: POST, PUT, DELETE, GET, ….

- Cho phép lập trình viên lưu lại lịch sử của các lần Request nên vô cùng tiện lợi

Lý do sử dụng Postman

Postman được sử dụng song song với việc lập trình APIs của hệ thống, nhằm có thể kiểm thử ngay sau khi lập trình mà không cần kết nối trước với GUI và thực hiện các thao tác.

PHÂN TÍCH HỆ THỐNG

Phân tích kiến trúc hệ thống

Ứng dụng được xây dựng dựa trên MERN Stack: là một bộ công cụ phát triển ứng dụng web toàn diện , bao gồm các công nghệ MongoDB, Express, React, Node.js Ngoài ra còn có thêm framework Bootstrap hỗ trợ React trong việc bố cục các màn hình, và thư viện

Mongoose giúp tương tác giữa Nodejs và MongoDB.

Hệ thống của Website được chia thành 3 tầng ứng dụng: tầng frontend, backend và database. Ở tầng database, ứng dụng sử dụng cơ sở dữ liệu MongoDB để lưu trữ thông tin như (họ tên , ngày sinh, số điện thoại, tài khoản….) của người dùng, (thông tin về thực đơn, bài tập, kế hoạch…) Cloudinary hỗ trợ quản lý và hiển thị hình ảnh lên tầng front-end. Ở tầng back-end, Website sử dụng NodeJS và ExpressJS làm công cụ xây dựng các Rest API phục vụ cho ứng dụng, nhận các yêu cầu từ tầng front-end, thông qua thư viện

Mongoose, lấy dữ liệu từ tầng database và phản hồi lại yêu cầu một cách nhanh chóng. Ở tầng front-end, ReactJS là nền tảng chính để xây dựng các màn hình phù hợp với người dùng, Bootstrap hỗ trợ bố cục giao diện một cách nhanh chóng, không mất nhiều thời gian.

Phân tích yêu cầu hệ thống

Các yêu cầu chức năng:

● Đăng ký: Trước khi bắt đầu sử dụng ứng dụng, người dùng bắt buộc phải đăng ký tài khoản để đăng nhập

● Đăng nhập: Sau khi đăng ký và sở hữu một tài khoản của riêng mình, người dùng có thể đăng nhập vào ứng dụng và bắt đầu “giảm cân”

● Tạo món ăn, bài tập, kế hoạch: Mặc định trong ứng dụng, sẽ có sẵn thực đơn, các bài tập, kế hoạch gợi ý, người dùng có thể xem, bình luận, đánh giá, tham khảo Nếu bạn có sở thích ăn uống của riêng mình, bạn hoàn toàn có thể tự tạo món ăn, bài tập, kế hoạch để sử dụng cho riêng mình.

● Theo dõi kế hoạch: Bạn có thể tự theo dõi quá trình thực hiện kế hoạch, theo từng ngày, từng bữa sau khi bắt đầu thực hiện Nếu cảm thấy kế hoạch chưa phù hợp, bạn có thể tùy chỉnh lại số ngày, bữa ăn, bài tập cho phù hợp.

● Đánh giá món ăn, bài tập, kế hoạch: Đánh giá độ hiệu quả của bài tập, món ăn, kế hoạch dựa vào phần bình luận và đánh giá số sao ( 1 đến 5).

THIẾT KẾ HỆ THỐNG

Thiết kế use case

Dưới đây là sơ đồ use case mô tả toàn bộ các chức năng của hệ thống Đầu tiên là sơ đồ tổng quan Tiếp theo sau sơ đồ tổng quan là sơ đồ use case chi tiết trong các use case tổng quan.

Người dùng Người dùng này đại diện cho cả chuyên gia dinh dưỡng và người muốn giảm cân

Cả 2 lớp người này đều có cách tương tác với hệ thống giống nhau, chỉ khác nhau ở mức trừu tượng

Dưới đây là danh sách use case của hệ thống Tất cả đều có tương tác với actor duy nhất của ứng dụng là Người dùng

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

- Chi tiết món ăn, bài tập có sẵn của ứng dụng

- Tham khảo kế hoạch của các người dùng khác

- Tạo, xóa món ăn, bài tập

- Theo dõi quá trình thực hiện kế hoạch

- Xóa đánh giá, bình luận

Mã Use Case #UC_DK

Tên Use Case Đăng ký

Mô tả Để sử dụng ứng dụng, bắt buộc phải có tài khoản mới có thể tạo kế hoạch.

Người thực hiện Người dùng Điều kiện trước xử lý

Người dùng cần có tài khoản email để nhận thông tin phản hồi từ hệ thống Kết quả sau khi xử lý

Người dùng đăng ký thành công, chuyển đến màn hình đăng nhập vào ứng dụng Ngoại lệ Thông báo lỗi nếu chưa nhập đầy đủ thông tin vào form đăng ký, hoặc tên tài khoản, email đã tồn tại Dòng sự kiện chính

1 Người dùng nhập thông tin vào form đăng ký

2 Điền đầy đủ thông tin (tên, số điện thoại, địa chỉ, ảnh đại diện….)

3 Hệ thống dẫn đến trang đăng nhập sau khi đăng ký thành công

Mã Use Case #UC_DN

Tên Use Case Đăng nhập

Mô tả Đăng nhập vào tài khoản của mình để theo dõi kế hoạch

Người thực hiện Người dùng Điều kiện trước xử lý

Người dùng cần có tài khoản email để nhận thông tin phản hồi từ hệ thống Kết quả sau khi xử lý Đăng nhập thành công, vào trang chủ của ứng dụng

Ngoại lệ Thông báo lỗi nếu nhập sai mật khẩu hoặc nhập tài khoản chưa được đăng ký Dòng sự kiện chính

1 Người dùng nhập thông tin email và mật khẩu

2 Hệ thống dẫn đến trang chủ sau khi đăng nhập thành công Dòng sự kiện khác

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

Mã Use Case #UC_UDUS

Tên Use Case Cập nhật thông tin cá nhân

Mô tả Dựa vào chỉ số cơ bản của người dùng (chiều cao, cân nặng), để xác định tình trạng hiện tại của người dùng Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản đăng nhập vào ứng dụng

Kết quả sau khi xử lý

Hiển thị cho người dùng về tình trạng hiện tại của cơ thể

Ngoại lệ Thông báo lỗi nếu nhập cân nặng và chiều cao không hợp lý

1 Trước khi tạo kế hoạch, bắt buộc phải cập nhật 2 chỉ số quan trọng là chiều cao và cân nặng Hệ thống dẫn người dùng đến trang cập nhật thông tin

2 Chuyển người dùng quay trở lại trang tạo kế hoạch sau khi cập nhật thông tin Dòng sự kiện khác

4.1.4.4 Chi tiết món ăn, bài tập có sẵn của ứng dụng

Mã Use Case #UC_DTFX

Tên Use Case Chi tiết món ăn, bài tập

Mô tả Hiển thị chi tiết thông tin về món ăn, bài tập: lượng calo, chất dinh dưỡng,… cách chế biến của món ăn Lượng calo đốt cháy khi tập luyện, cách thực hiện động tác của bài tập Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản đăng nhập vào ứng dụng

Kết quả sau khi xử lý

Hiển thị cho người dùng toàn bộ thông tin về bài tập, món ăn, tác giả

1 Nhấp vào button chi tiết bên cạnh món ăn, bài tập

2 Hệ thống hiển thị toàn bộ thông tin liên quan Dòng sự kiện khác

4.1.4.5 Tham khảo kế hoạch của các người dùng khác.

Mã Use Case #UC_DTPL

Tên Use Case Tham khảo kế hoạch của người dùng khác

Mô tả Hiển thị chi tiết kế hoạch của người dùng, hiển thị số ngày thực hiện, số bữa ăn, bài tập hằng ngày Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản đăng nhập vào ứng dụng

Kết quả sau khi xử lý

Hiển thị cho người dùng toàn bộ thông tin về kế hoạch lên màn hình

Dòng sự kiện 1 Click vào button chi tiết trên kế hoạch được đăng tải chính 2 Chờ vài giây để hệ thống chuyển đến trang hiển thị kế hoạch Dòng sự kiện khác

Mã Use Case #UC_CRF

Tên Use Case Tạo món ăn

Mô tả Dựa vào sở thích cá nhân, có thể tự đăng tải và sử dụng món ăn

Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản và đăng nhập vào ứng dụng

Kết quả sau khi xử lý

Tải món ăn lên trang người dùng

Ngoại lệ Thông báo lỗi nếu nhập thông tin về món ăn không hợp lệ, hoặc thiếu thông tin Dòng sự kiện chính

1 Vào trang người dùng, click vào button tạo món ăn

2 Nhập đầy đủ thông tin: hình ảnh, khẩu phần ăn, mô tả cách thực hiện….

3 Click vào button Tạo món ăn

4 Hệ thống chuyển đến trang người dùng, bạn sẽ thấy món ăn xuất hiện trong thực đơn của riêng minh Dòng sự kiện khác

Mã Use Case #UC_CREX

Tên Use Case Tạo bài tập

Mô tả Dựa vào sở thích cá nhân, có thể tự đăng tải và sử dụng bài tập

Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản và đăng nhập vào ứng dụng

Kết quả sau khi xử lý

Tải bài tập lên trang người dùng

Ngoại lệ Thông báo lỗi nếu nhập thông tin về món ăn không hợp lệ, hoặc thiếu thông tin Dòng sự kiện chính

1 Vào trang người dùng, click vào button tạo bài tập

2 Nhập đầy đủ thông tin: hình ảnh, giờ tập luyện, mô tả cách thực hiện….

3 Click vào button Tạo bài tập

4 Hệ thống chuyển đến trang người dùng, bạn sẽ thấy bài tập xuất hiện trong thực đơn của riêng minh Dòng sự kiện khác

Mã Use Case #UC_DEX

Tên Use Case Xóa bài tập

Mô tả Xóa bài tập khỏi hệ thống

Người thực hiện Người dùng Điều kiện trước xử lý

Phải đăng nhập vào đúng tài khoản đã tạo bài tập đó

Kết quả sau khi xử lý

Xóa bài tập khỏi hệ thống

Ngoại lệ Thông báo lỗi nếu bài tập đó không phải do người muốn xóa bài tập đăng tải Dòng sự kiện chính

1 Vào trang người dùng, click vào button xóa

2 Click vào button xác nhận

3 Hệ thống tải lại trang người dùng Dòng sự kiện khác

Mã Use Case #UC_DF

Tên Use Case Xóa món ăn

Mô tả Xóa món ăn khỏi hệ thống

Người thực hiện Người dùng Điều kiện trước xử lý

Phải đăng nhập vào đúng tài khoản đã tạo món ăn đó

Kết quả sau khi xử lý

Xóa món ăn khỏi hệ thống

Ngoại lệ Thông báo lỗi nếu món ăn đó không phải do người muốn xóa món ăn đăng tải Dòng sự kiện khác

1 Vào trang người dùng, click vào button xóa

2 Click vào button xác nhận

3 Hệ thống tải lại trang người dùng Dòng sự kiện khác

Mã Use Case #UC_CRPL

Tên Use Case Tạo kế hoạch

Mô tả Tạo kế hoạch cho riêng mình

Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản đăng nhập vào hệ thống

Kết quả sau khi xử lý Đăng tải kế hoạch lên màn hình người dùng

Ngoại lệ Thông báo lỗi nếu nhập thông tin không đầy đủ

1 Lựa chọn số ngày thực hiện

2 Chọn số bữa ăn,bài tập cho từng ngày, các món ăn chi tiết của từng bữa,

Thời gian phải tập luyện của bài tập.

3 Nhập tên kế hoạch, chọn ngày bắt đầu thực hiện

4 Click button tạo kế hoạch Dòng sự kiện khác

Mã Use Case #UC_DPL

Tên Use Case Xóa kế hoạch

Mô tả Kế hoạch sau khi thực hiện đều lưu lại trên hệ thống, nếu không còn nhu cầu cho người khác tham khảo có thể xóa

Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản đăng nhập vào hệ thống, và chính tài khoản này đã tạo kế hoạch Kết quả sau khi xử lý

Xóa kế hoạch khỏi hệ thống

Ngoại lệ Thông báo lỗi nếu tài khoản muốn xóa không phải là của người đã tạo kế hoạch Dòng sự kiện chính

1 Click vào dấu ba chấm trên kế hoạch ở màn hình người dùng

3 Xóa kế hoạch khỏi hệ thống người dùng Dòng sự kiện khác

Mã Use Case #UC_CM

Tên Use Case Đánh giá, bình luận

Mô tả Đưa ra ý kiến của mình về bài tập, kế hoạch, món ăn của người khác Người thực hiện Người dùng Điều kiện trước xử lý Đã có tài khoản đăng nhập vào hệ thống

Kết quả sau khi xử lý

Hiển thị ý kiến, lượt vote (1 -> 5sao) lên món ăn, bài tập, kế hoạch

1 Nhập ý kiến của mình vào textbox dưới phần thông tin của món ăn, bài tập, kế hoạch, chọn số sao muốn đánh giá

3 Hệ thống đăng tải thông tin bạn đã nhập lên món ăn, bài tập, kế hoạch

Dòng sự 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 bài đánh giá ra khỏi món ăn, bài tập, kế hoạch đó Người thực hiện Người dùng Điều kiện trước xử lý

Phải đăng nhập vào tài khoản đã đăng tải đánh giá đó

Kết quả sau khi xử lý

Xóa thông tin về bài đánh giá

1 Click vào dấu thùng rác cạnh bình luận

3 Hệ thống xóa bình luận ra khỏi món ăn, bài tập, kế hoạch Dòng sự kiện khác

Thiết kế cơ sở dữ liệu

4.2.2.1 Bảng User: thông tin người dùng

STT Tên thuộc tính Kiểu Ghi chú

1 _userID String ID của người dùng

2 lastFirstName String Tên người dùng

3 email String Tên đăng nhập người dùng

4 Password String Mật khẩu người dùng

5 userName String Tên khi sử dụng ứng dung, dùng cho trường hợp 1 người dùng muốn tạo nhiều tài khoản

6 gender String Giới tính người dùng

8 photo Buffer Ảnh đại diện

9 _foodID String ID của món ăn do người dùng tạo

10 _exerciseID String ID bài tập do người dùng tạo

11 _planID String ID của kế hoạch do 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 chú

1 _planID String ID của kế hoạch

2 namePlan String Tên kế hoạch

3 startDate Date Ngày bắt đầu thực hiện

4 endDate Date Ngày kết thúc

5 _reviewID String ID của phần bình luận về kế hoạch

6 _dayPlanID String ID của từng ngày trong kế hoạch

7 _userID String ID của người tạo kế hoạch

4.2.2.3 Bảng DayPlan: thông tin của từng ngày trong kế hoạch

STT Tên thuộc tính Kiểu Ghi chú

1 _dayPlanID String ID của ngày thực hiện

2 _dayFoodID String ID của bữa ăn trong ngày

3 _dayExerciseID String ID của các bài tập trong ngày

4.2.2.4 Bảng DayFood: thông tin về từng bữa ăn trong kế hoạch

STT Tên thuộc tính Kiểu Ghi chú

1 _dayFoodID String ID của bữa ăn

2 _foodID String ID của món ăn

4.2.2.5 Bảng DayExercise: thông tin về từng buổi tập trong kế hoạch

STT Tên thuộc tính Kiểu Ghi chú

1 _dayExerciseID String ID của buổi tập

2 _exerciseID String ID của bài tập

4.2.2.6 Bảng Food: thông tin món ăn

STT Tên thuộc tính Kiểu Ghi chú

1 _foodID String ID của món ăn

2 nameFood String Tên món ăn

3 imageFood Buffer ảnh của món ăn

4 support String Tác dụng của món ăn

5 ration Number Khẩu phần ăn trên một đơn vị

6 totalCalories Number Tổng Calo mặc định trên món ăn

7 mainMaterials String Nguyên liệu chính của món ăn

8 auxiliaryMaterials Buffer Nguyên liệu phụ

10 processing String Cách chế biến

11 Description String Mô tả món ăn

12 _reviewsID String ID của bình luận

13 _userID String ID của người tạo ra món ăn đó

4.2.2.7 Bảng Exercise: thông tin về bài tập

STT Tên thuộc tính Kiểu Ghi chú

1 _exerciseID String ID của món ăn

2 nameExercise String Tên bài tập

3 imageExercise Buffer ảnh mô tả bài tập

4 support String Tác dụng của bài tập

5 ration Number Thời gian tập tối thiểu

6 caloriesBurned Number Tổng calo đốt cháy trong ration của bài tập

7 description String Mô tả cách thực hiện bài tập

4.2.2.7 Bảng Reviews: thông tin về bình luận

STT Tên thuộc tính Kiểu Ghi chú

1 _reviewID String ID của bình luận

2 lastFirstName String Tên người dùng

3 reviewText Buffer Nội dung bình luận

4 Rating String Lượt đánh giá ( 1 -> 5 sao)

Thiết kế giao diện, ứng dụng

4.3.5 Màn hình tạo kế hoạch

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

4.3.9 Màn hình tạo món ăn

4.3.10 Màn hình chi tiết món ăn

Ngày đăng: 15/05/2024, 09:26

w