当前位置: 首页 > news >正文

基于Spring Boot+Vue的减肥健康管理系统设计和实现【原创】(BMI算法,协同过滤算法、图形化分析)

🎈系统亮点:图形化分析、BMI算法,协同过滤算法;

一.系统开发工具与环境搭建

1.系统设计开发工具


后端使用Java编程语言的Spring boot框架
项目架构:B/S架构
运行环境:win10/win11、jdk17


前端:
技术:框架Vue.js;UI库:ElementUI;
开发工具:Visual Studio Code;



后端:
技术:Java语言、mybatis plus、Spring boot框架;
开发工具:IDEA 2023.3.3版本;



数据库:
数据库:mysql5.7/8.0
数据库工具:Navicat12版本;


2.系统运行环境

  • Java运行环境:服务器安装Java17开发工具包,确保Spring Boot框架能够正常运行。JDK版本需与项目所依赖的版本相匹配。
  • 数据库管理系统:采用MySQL数据库管理系统,负责存储商城系统的所有数据,如商品信息、用户数据、订单记录等。确保数据的安全性和完整性。
  • 操作系统:支持主流的桌面操作系统Windows。
  • 浏览器:支持主流浏览器,Chrome。商城系统的前端页面需要在这些浏览器中正常显示和运行。

二.需求分析

2.1 功能需求

2.1.1 用户功能需求分析

1. 减肥科普:用户可以浏览丰富的减肥知识库,也可以进行评价交流。

2. 身体指标:用户可以记录和跟踪自己的体重,身高,血糖,腰围,血压等身体指标。

3. 每日计划:根据用户选择的计划,系统会生成个性化的每日饮食和运动计划。

4. 推荐食谱:系统提供多种健康美味的食谱餐谱。

5. 体重计划:记录用户的体重计划。

6. BIM计算:系统根据用户输入的身高和体重数据,自动计算出BMI值。

7. 完成情况:系统将记录用户的饮食摄入、运动量等活动的完成情况。用户可以查看自己的完成情况报告,包括图表和数据分析,以清晰地了解自己的进步和需要改进的地方。

8. 个人中心:用户可以在个人中心模块进行修改个人数据,可以查看自己的身体记录,减肥计划,身体指标计划,用户发表的话题管理以及收藏的话题。

2-1 用户用例图

2.1.2 管理员功能需求分析

1. 用户管理:管理员可以查看、添加、编辑和删除系统中的用户信息。

2. 封面管理:管理员可以上传、编辑和删除系统首页或特定页面的封面图片。

3. 食谱管理:管理员可以添加、编辑和删除系统中的食谱信息。

4. 减肥计划管理:管理员可以创建、编辑和删除针对不同用户的减肥计划。

5. 减肥话题管理:管理员可以发布、编辑和删除系统中的减肥话题或文章。管理员可以审核话题内容,确保其真实性和正面性。

6. 科普管理:管理员可以发布、编辑和删除关于减肥的科学知识、健康贴士等内容。

图2-2 管理员用例图


减肥管理系统主要分为两个角色,用户具有减肥科普,身体指标,每日计划,推荐食谱,体重计划,BIM计算,完成情况,个人中心功能。管理员具有用户管理,封面管理,食谱管理,减肥计划管理,减肥话题管理,科普管理功能。

三.系统实现

用户

1.登录界面

2.首页界面

详情界面

3.身体指标界面

4.体重计划

5.每日计划

6.完成情况

7.个人中心

7.1 我的个人信息

7.2 减肥计划

7.3 身体指标分析

7.4 身体计划

7.5 话题收藏

7.6 论坛

管理员

1.用户管理

2.减肥话题管理

2.1 减肥圈子

2.2 减肥话题

2.3 减肥评论

2.4话题浏览记录

3.食谱管理

四.数据库设计

1. 用户表

用户表用于存储用户的基本数据,主要包括用户主键,创建时间,创建人,密码,登录时间段,邮箱,角色,账号,手机号码,头像,出生年月,名称,体重,升高字段。

表3-1 用户表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

用户主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Password

密码

varchar(512)

YES

-

LoginTimePeriod

登录时间段

varchar(512)

YES

-

Email

邮箱

varchar(512)

YES

-

RoleType

角色

int

YES

-

UserName

账号

varchar(512)

YES

-

PhoneNumber

手机号码

varchar(512)

YES

-

ImageUrls

头像

varchar(512)

YES

-

Birth

出生年月

timestamp

YES

-

Name

名称

varchar(512)

YES

-

W

体重

varchar(512)

YES

-

H

升高

varchar(512)

YES

-

2. 资讯表

资讯表用于存储资讯的基本数据,主要包括资讯主键,创建时间,创建人,标题,发表者,封面,文章内容,文章类型,上架状态,是否推荐字段。

表3-2 资讯表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

资讯主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Title

标题

varchar(1024)

YES

-

Author

发表者

varchar(1024)

YES

-

ImageUrls

封面

varchar(1024)

YES

-

Content

文章内容

longtext

YES

-

ArticleTypeId

文章类型

int

YES

-

IsPutaway

上架状态

varchar(1024)

YES

-

IsRecommand

是否推荐

tinyint(1)

YES

-

3. 资讯收藏表

资讯收藏表用于存储用户收藏的资讯,主要包括资讯收藏主键,创建时间,创建人,收藏人,资讯字段。

表3-3 资讯收藏表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

资讯收藏主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

CollectUserId

收藏人

int

YES

-

ArticleInfoId

资讯

int

YES

-

4. 资讯评论表

资讯评论表用于存储用户对资讯的评论,主要包括资讯评论主键,创建时间,创建人,文章,评论内容,昵称,头像字段。

表3-4 资讯评论表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

资讯评论主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

ArticleInfoId

文章

int

YES

-

Content

评论内容

longtext

YES

-

NickName

昵称

varchar(512)

YES

-

HeadImage

头像

varchar(512)

YES

-

5. 资讯点赞表

资讯点赞表用于存储用户对资讯的点赞记录,主要包括资讯点赞主键,创建时间,创建人,点赞人,资讯字段。

表3-5 资讯点赞表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

资讯点赞主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

LikeUserId

点赞人

int

YES

-

ArticleInfoId

资讯

int

YES

-

6. 资讯浏览记录表

资讯浏览记录表用于存储用户对资讯的浏览记录,主要包括资讯浏览记录主键,创建时间,创建人,资讯,用户字段。

表3-6 资讯浏览记录表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

资讯浏览记录主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

ArticleInfoId

资讯

int

YES

-

UserId

用户

int

YES

-

7. 资讯类型表

资讯类型表用于存储资讯类型的信息,主要包括资讯类型主键,创建时间,创建人,资讯名称,封面字段。

表3-7 资讯类型表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

资讯类型主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Title

资讯名称

varchar(512)

YES

-

ImageUrls

封面

longtext

YES

-

8. 封面表

封面表用于存储封面的信息,主要包括封面主键,创建时间,创建人,封面,备注,标题,跳转路径字段。

表3-8 封面表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

封面主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

ImageUrls

封面

varchar(512)

YES

-

Remark

备注

varchar(512)

YES

-

Title

标题

varchar(512)

YES

-

LinkUrl

跳转路径

varchar(512)

YES

-

9. 身体指标表

身体指标表用于存储封面的信息,主要包括身体指标主键,创建时间,创建人,体重,身高,BMI指数,血压,血糖,用户,腰围,体脂率字段。

表3-9 身体指标表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

身体指标主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

W

体重

double(20,5)

YES

-

H

身高

double(20,5)

YES

-

BMI

BMI指数

double(20,5)

YES

-

BP

血压

double(20,5)

YES

-

GLU

血糖

double(20,5)

YES

-

UserId

用户

int

YES

-

WaistCircumferenc

腰围

double(20,5)

YES

-

BodyFatPercentage

体脂率

double(20,5)

YES

-

10. 话题评论表

话题评论表用于存储话题的评论信息,主要包括话题评论主键,创建时间,创建人,话题,评论内容,昵称,头像,根评论,回复用户,发送用户字段。

表3-9 话题评论表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

话题评论主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

TopicId

话题

int

YES

-

Content

评论内容

longtext

YES

-

NickName

昵称

varchar(512)

YES

-

HeadImage

头像

varchar(512)

YES

-

RootCommentId

根评论

int

YES

-

TargetUserId

回复用户

int

YES

-

SendUserId

发送用户

int

YES

-

11. 评论点赞记录表

评论点赞记录表用于存储话题的评论点赞记录,主要包括评论点赞记录主键,创建时间,创建人,话题,点赞评论,点赞人字段。

表3-11 评论点赞记录表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

评论点赞记录主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

TopicId

话题

int

YES

-

CommentId

点赞评论

int

YES

-

UserId

点赞人

int

YES

-

12. 食谱表

食谱表用于存储食谱的信息,主要包括食谱主键,创建时间,创建人,名称,食谱内容,推荐起始体重,推荐截止体重,封面,推荐等级字段。

表3-12 食谱表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

食谱主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Name

名称

varchar(512)

YES

-

Content

食谱内容

longtext

YES

-

RecommendedBeginWeight

推荐起始体重

double(20,5)

YES

-

RecommendedEndWeight

推荐截止体重

double(20,5)

YES

-

Cover

封面

varchar(512)

YES

-

RecoomendLevel

推荐等级

int

YES

-

13. 话题表

话题表用于存储话题的基本数据,主要包括话题主键,创建时间,创建人,标题,封面,主图,浏览数,内容,话题类型,审核状态,是否推荐,视频字段。

表3-13 话题表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

话题主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Title

标题

varchar(512)

YES

-

Cover

封面

varchar(512)

YES

-

ImageUrls

主图

longtext

YES

-

ViewCount

浏览数

int

YES

-

Content

内容

longtext

YES

-

TopicTypeId

话题类型

int

YES

-

AuditStatus

审核状态

int

YES

-

IsRecommand

是否推荐

tinyint(1)

YES

-

VideoUrls

视频

varchar(255)

YES

-

14. 话题收藏表

话题收藏表用于存储话题的基本数据,主要包括话题收藏主键,创建时间,创建人,话题,收藏人字段。

表3-14 话题收藏表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

话题收藏主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

TopicId

话题

int

YES

-

UserId

收藏人

int

YES

-

15. 话题浏览记录表

话题浏览记录表用于存储话题的浏览记录数据,主要包括话题浏览记录主键,创建时间,创建人,话题类型,话题,浏览人字段。

表3-15 话题浏览记录表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

话题浏览记录主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

TopicTypeId

话题类型

int

YES

-

TopicId

话题

int

YES

-

UserId

浏览人

int

YES

-

16. 话题类型表

话题类型表用于存储话题的类型数据,主要包括话题类型主键,创建时间,创建人,名称,编码,封面,描述字段。

表3-16 话题类型表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

话题类型主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Name

名称

varchar(512)

YES

-

Code

编码

varchar(512)

YES

-

Cover

封面

varchar(512)

YES

-

Content

描述

varchar(512)

YES

-

17. 减肥计划表

减肥计划表用于存储减肥计划数据,主要包括减肥计划主键,创建时间,创建人,计划,内容,整体难度,是否系统制订,开始日期,结束日期,用户字段。

表3-17 减肥计划表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

减肥计划主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

Name

计划

varchar(512)

YES

-

Content

内容

longtext

YES

-

Level

整体难度

int

YES

-

IsSystem

是否系统制订

int

YES

-

BeginDate

开始日期

timestamp

YES

-

EndDate

结束日期

timestamp

YES

-

UserId

用户

int

YES

-

18. 减肥计划明细表

减肥计划明细表用于存储减肥计划数据,主要包括减肥计划明细主键,创建时间,创建人,计划,用户,主题,内容,是否完成,打卡次数,开始时间,结束时间字段。

表3-18 减肥计划明细表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

减肥计划明细主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

WeightLossPlanId

计划

int

YES

-

UserId

用户

int

YES

-

Title

主题

varchar(512)

YES

-

Content

内容

longtext

YES

-

IsComplete

是否完成

tinyint(1)

YES

-

ClockCount

打卡次数

int

YES

-

BeginTime

开始时间

timestamp

YES

-

EndTime

结束时间

timestamp

YES

-

19. 减肥计划记录表

减肥计划明细表用于存储减肥计划记录,主要包括减肥计划记录主键,创建时间,创建人,计划,计划明细,打卡时间,用户字段。

表3-19 减肥计划记录表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

减肥计划记录主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

WeightLossPlanId

计划

int

YES

-

WeightLossPlanDetId

计划明细

int

YES

-

ClockTime

打卡时间

timestamp

YES

-

UserId

用户

int

YES

-

20. 减肥提醒表

减肥提醒表用于存储减肥提醒的基本信息,主要包括减肥提醒主键,创建时间,创建人,计划,计划明细,提醒时间,提醒标题,提醒内容,用户,邮箱字段。

表3-20 减肥提醒表

字段名称

字段含义

字段类型

是否为空

是否PK

Id

减肥提醒主键

int

NO

PK

CreationTime

创建时间

timestamp

YES

-

CreatorId

创建人

int

YES

-

WeightLossPlanId

计划

int

YES

-

WeightLoosPlanDetId

计划明细

int

YES

-

RemindTime

提醒时间

timestamp

YES

-

Title

提醒标题

varchar(1024)

YES

-

Content

提醒内容

varchar(1024)

YES

-

UserId

用户

int

YES

-

Email

邮箱

varchar(1024)

YES

-

编写制作不易,一键四连再走吧,您的支持永远是我最大的动力!


 

相关文章:

  • Redis 介绍
  • 修复: Flux女生脸不再油光满面, 屁股下巴 -- 超实用Comfyui小技巧
  • css 中 ~ 符号、text-indent、ellipsis、ellipsis-2、text-overflow: ellipsis、::before的使用
  • Day28笔记-Python自动化操作Word
  • 优选驾考系统小程序的设计
  • 工作日志:ruoyi-vue-plus echarts根据窗口大小变化
  • 自己做个国庆75周年头像生成器
  • 基于微信小程序的美食推荐系统
  • 数据结构-栈(理解版)
  • 数据结构之链表(2),双向链表
  • C语言——动态内存分配
  • linux部署redis,整合ansible和redis
  • 前端工程规范-2:JS代码规范(Prettier + ESLint)
  • Python 时间占位符:毫秒的使用
  • VR视频怎样进行加密和一机一码的使用?--加密(一)
  • .pyc 想到的一些问题
  • “Material Design”设计规范在 ComponentOne For WinForm 的全新尝试!
  • 【JavaScript】通过闭包创建具有私有属性的实例对象
  • ES6语法详解(一)
  • Gradle 5.0 正式版发布
  • Hexo+码云+git快速搭建免费的静态Blog
  • IndexedDB
  • jdbc就是这么简单
  • linux安装openssl、swoole等扩展的具体步骤
  • Mysql数据库的条件查询语句
  • Phpstorm怎样批量删除空行?
  • Python实现BT种子转化为磁力链接【实战】
  • react-core-image-upload 一款轻量级图片上传裁剪插件
  • seaborn 安装成功 + ImportError: DLL load failed: 找不到指定的模块 问题解决
  • 大快搜索数据爬虫技术实例安装教学篇
  • 对话 CTO〡听神策数据 CTO 曹犟描绘数据分析行业的无限可能
  • 分布式事物理论与实践
  • 实现菜单下拉伸展折叠效果demo
  • 思考 CSS 架构
  • 通过来模仿稀土掘金个人页面的布局来学习使用CoordinatorLayout
  • 在 Chrome DevTools 中调试 JavaScript 入门
  • AI又要和人类“对打”,Deepmind宣布《星战Ⅱ》即将开始 ...
  • 阿里云服务器购买完整流程
  • 阿里云服务器如何修改远程端口?
  • 翻译 | The Principles of OOD 面向对象设计原则
  • ‌JavaScript 数据类型转换
  • #git 问题failed to resolve head as a valid ref
  • (1)Nginx简介和安装教程
  • (pojstep1.1.1)poj 1298(直叙式模拟)
  • (Ruby)Ubuntu12.04安装Rails环境
  • (附源码)springboot“微印象”在线打印预约系统 毕业设计 061642
  • (经验分享)作为一名普通本科计算机专业学生,我大学四年到底走了多少弯路
  • (每日一问)设计模式:设计模式的原则与分类——如何提升代码质量?
  • (南京观海微电子)——示波器使用介绍
  • (四)Tiki-taka算法(TTA)求解无人机三维路径规划研究(MATLAB)
  • (图文详解)小程序AppID申请以及在Hbuilderx中运行
  • (一)Docker基本介绍
  • (一一四)第九章编程练习
  • .NET C# 配置 Options
  • .NET CORE 3.1 集成JWT鉴权和授权2