基于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

-

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


 

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/pingmian/55357.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

计算机网络-系分(5)

目录 计算机网络 DNS解析 DHCP动态主机配置协议 网络规划与设计 层次化网络设计 网络冗余设计 综合布线系统 1. 双栈技术 2. 隧道技术 3. 协议转换技术 其他网络技术 DAS(Direct Attached Storage,直连存储) NAS(Net…

【Immich部署与访问】自托管媒体文件备份服务 Immich 本地化部署与远程访问存储数据

文章目录 前言1.关于Immich2.安装Docker3.本地部署Immich4.Immich体验5.安装cpolar内网穿透6.创建远程链接公网地址7.使用固定公网地址远程访问 前言 本篇文章介绍如何在本地搭建lmmich图片管理软件,并结合cpolar内网穿透实现公网远程访问到局域网内的lmmich&#…

【环境配置】科研小白Windows下安装Git

2024年小白使用Win10安装Git 2.46.2教程: 1 下载安装包 访问下载地址 Git - Downloading Package (git-scm.com) 下载之后打开文件 2 安装过程 点击Next 2.1 选择安装路径 2.2 选择勾选必要组件 2.3 一路Next 这一步直接Next即可 继续点击Next 继续点击Ne…

从零开始Hadoop集群环境搭建

目录 1. Centos7.5硬件配置1.1 创建虚拟机1.2 虚拟机系统设置 2. IP地址和主机名称配置3. 软件配置3.1 安装 epel-release3.2 卸载虚拟机自带的JDK3.3 克隆虚拟机3.4 修改克隆虚拟机的IP3.5 JDK安装3.6 Hadoop安装 4. Hadoop目录结构 1. Centos7.5硬件配置 1.1 创建虚拟机 1.2…

SpringBoot基础(三):Logback日志

SpringBoot基础系列文章 SpringBoot基础(一):快速入门 SpringBoot基础(二):配置文件详解 SpringBoot基础(三):Logback日志 目录 一、日志依赖二、日志格式1、记录日志2、默认输出格式3、springboot默认日志配置 三、日志级别1、基础设置2、…

基于SSM的坚果金融投资管理系统、坚果金融投资管理平台的设计与开发、智慧金融投资管理系统的设计与实现、坚果金融投资管理系统的设计与应用研究(源码+定制+开发)

博主介绍: ✌我是阿龙,一名专注于Java技术领域的程序员,全网拥有10W粉丝。作为CSDN特邀作者、博客专家、新星计划导师,我在计算机毕业设计开发方面积累了丰富的经验。同时,我也是掘金、华为云、阿里云、InfoQ等平台…

python爬虫 - 初识爬虫

🌈个人主页:https://blog.csdn.net/2401_86688088?typeblog 🔥 系列专栏:https://blog.csdn.net/2401_86688088/category_12797772.html 目录 前言 一、爬虫的关键概念 (一)HTTP请求与响应 &#xff0…

【Java数据结构】 链表

【本节目标】 1. ArrayList 的缺陷 2. 链表 3. 链表相关 oj题目 一. ArrayList的缺陷 上节课已经熟悉了ArrayList 的使用&#xff0c;并且进行了简单模拟实现。通过源码知道&#xff0c; ArrayList 底层使用数组来存储元素&#xff1a; public class ArrayList<E>…

二叉树进阶学习——从中序和后续遍历序列构建二叉树

1.题目解析 题目来源&#xff1a;106.从中序和后序遍历序列构造二叉树 测试用例 2.算法原理 后序遍历&#xff1a;按照左子树->右子树->根节点的顺序遍历二叉树&#xff0c;也就是说最末尾的节点是最上面的根节点 中序遍历&#xff1a;按照左子树->根节点->右子树…

一次解决Go编译问题的经过

用Go语言编写了一个小的项目&#xff0c;项目开发环境是在本地的Windows环境中&#xff0c;一切单元测试和集成测试通过后&#xff0c;计划将项目部署到VPS服务器上自动运行&#xff0c;但在服务器上执行go run运行时&#xff0c;程序没有任何响应和回显&#xff0c;甚至main函…

前端辅助工具分享(像素大厨)

引言&#xff1a; 我们在从事前端开发工作时&#xff0c;常会需要测量许多盒子的尺寸&#xff0c;颜色提取种种&#xff0c;切图&#xff0c;还有文字大小等信息&#xff0c;光从肉眼很难看出来&#xff0c;当然我们传统的会使用Photoshop来帮助我们完成这些工作&#xff0c;但…

【LuBase低代码框架】动态数据源服务介绍

功能介绍&#xff1a; 可以通过配置一个QueryOption对象或者一条select 查询语句&#xff0c;返回当前应用下的数据&#xff0c;避免后端写代码开发。 使用方法&#xff1a; 1. 动态服务需要通过/invoke/datasource和/invoke/datasourceNoRight 地址发起调用 2. 可使用参数…

解决Excel时出现“被保护单元格不支持此功能“的解决办法,详细喂饭级教程

今天有个朋友发过来一个excel文件&#xff0c;本来想修改表格的内容&#xff0c;但是提示&#xff0c;被保护单元格不支持此功能&#xff0c;对于这个问题&#xff0c;找到一个解决方法&#xff0c;现记录下来&#xff0c;分享给有需要的朋友。 表格文件名为aaa.xls,以WPS为例。…

用Python实现运筹学——Day 11: 线性规划的实际应用

一、学习内容 1. 不同领域中线性规划的经典应用场景 线性规划在多个领域中有广泛的应用&#xff0c;常见的应用领域包括&#xff1a; 生产计划与资源分配&#xff1a;用于优化生产调度、资源分配和生产线管理&#xff0c;最大化利润或最小化成本。物流与运输&#xff1a;解决…

【RabbitMQ】面试题

在本篇文章中&#xff0c;主要是介绍RabbitMQ一些常见的面试题。对于前几篇文章的代码&#xff0c;都已经在码云中给出&#xff0c;链接是mq-test: 学习RabbitMQ的一些简单案例 (gitee.com)&#xff0c;如果存在问题的话欢迎各位提出&#xff0c;望共同进步。 MQ的作用以及应用…

.Net 6.0 监听Windows网络状态切换

上次发了一个文章获取windows网络状态&#xff0c;判断是否可以访问互联网。传送门&#xff1a;获取本机网络状态 这次我们监听网络状态切换&#xff0c;具体代码如下&#xff1a; public class WindowsNetworkHelper {private static Action<bool>? _NetworkStatusCh…

【课程学习】Wireless Communications

Goldsmith A. Wireless communications[M]. Cambridge university press, 2005. Wireless Communications 无线通信课程 文章目录 2-Path Loss, Shadowing, and Multipath2.4-Two-Ray Multipath Model时延扩展 delay spread P33 3-Statistical Multipath Channel Models3.3-Wid…

一站式大语言模型API调用:快速上手教程

智匠MindCraft是一个强大的AI工具及开发平台&#xff0c;支持多种大语言模型和多模态AI模型。本文将详细介绍如何通过API调用智匠MindCraft中的大语言模型&#xff0c;帮助开发者快速上手。 注册与登录 访问智匠MindCraft官网&#xff0c;注册并登录账号。 进入开发者平台&…

scrapy爬虫基础

一、初识 创建项目&#xff1a; scrapy startproject my_one_project # 创建项目命令 cd my_one_project # 先进去&#xff0c; 后面在里面运行 运行爬虫命令为&#xff1a;scrapy crawl tk spiders下创建test.py 其中name就是scrapy crawl tk &…

Cpp::STL—string类的使用与理解(上)(8)

文章目录 前言一、string类对象的构造函数string()string(const char* s)string(size_t n, char c)string(const string& s)string(const string& str&#xff0c;size_t pos&#xff0c;size_t len npos) 二、string类对象的容量操作size与lengthcapacitycapacity返回…