基于SpringBoot+Vue的食疗系统

浏览 34 次

Dietary Therapy Management System Based on SpringBoot+Vue

基于SpringBoot+Vue的食疗系统是一个专注于健康饮食管理的软件项目。系统提供食谱推荐、食材管理、用户健康档案等功能,帮助用户根据个人体质和需求定制食疗方案。该项目适合作为毕业设计或实际应用开发,展示了前后端分离的系统实现与信息管理能力。

SpringBootVue前后端分离PC端

项目简介

基于SpringBoot+Vue的食疗系统是一个专注于健康饮食管理的软件项目。系统提供食谱推荐、食材管理、用户健康档案等功能,帮助用户根据个人体质和需求定制食疗方案。该项目适合作为毕业设计或实际应用开发,展示了前后端分离的系统实现与信息管理能力。

项目基础信息

适合专业计算机科学与技术 / 软件工程 / 信息管理
技术栈SpringBoot + Vue + MySQL + Redis
系统架构前后端分离
项目类型健康管理系统 / 食疗推荐系统
运行环境JDK1.8、MySQL5.7+、Node14+
开发工具IntelliJ IDEA、VSCode、Maven

项目包含内容

  • 前后端完整源码
  • 数据库完整脚本
  • 参考论文(如有)
  • 部署软件及部署说明
  • 项目介绍文档(如有)

项目详细介绍

一、项目背景介绍:

现在所处的社会以《和平与发展》作为一个时代发展的主题,科学技术作为第一生产力,在如今经济飞速发展的当下,人们的生活质量水平不断的提高了,不在以“吃饱穿暖”为主体了,越来越注重生活质量与精神文化的提升,伴随着生活节奏的加快,愈来愈多的人开始关注健康生活,提升自己的身体健康。

虽然愈来愈多的人开始关注自己的健康,也去改善自己的身体,但是根据2020年一项数据调查显示,在我国中亚健康的人数占比依旧是高达了国内人数的76%,而真正意义上健康的人数所占比例则不足3%。通过数据来看人群健康状况并不是很乐观,而且需要一个很大的改善。

在我们的身体中,拿体重这一项我们日常生活中比较在意的进行数据对比,我们可以发现以下重要信息:由《中国居民营养与慢性病状况报告(2020年)》中所展示出的新数据,我们就可以得出以下的结论,目前而言我国的成人中已经有超过1/2的人超重或肥胖,在成年居民(≥18岁)中超重率为34.3%、肥胖率为16.4%。此次也是全国性调查报告中首次出现超过1/2这样一个数字。同时在6-17岁儿童和青少年中有1/5(19%)和6岁以下儿童1/10(10.4%)都存在超重或肥胖。如果用人口数量来表示数据库,则通过人口数来计算,全国已经有6亿人超重和肥胖,这个数字在全球是第一位。很显然肥胖这一问题值得引起我们的重视。引起肥胖的原因有很多,其中最常见最直接的原因是跟我们吃的食物有关。目前人们对食物的要求越来越高,虽然肥胖等体重问题对于我们来说似乎并没有其他如:心血管、糖尿病等疾病那么严重,但是肥胖会引发诸如心血管疾病、糖尿病、脂肪肝等一系列疾病,而且是慢慢的改变身体机能,一般而言是很难察觉。而对于肥胖这一问题主要可以通过锻炼、控制饮食、调整作息等方式来改善。食疗这一理论则是通过饮食来调节我们的机能,所以我认为食疗系统的开发与设计是有利于健康和发展的、是具有需求的一个课题研究。

二、项目技术简介:

  1. JAVA:Java是一门面向对象编程语言,不仅吸收了C++语言的各种优点,还摒弃了C++里难以理解的多继承、指针等概念,因此Java语言具有功能强大和简单易用两个特征。Java语言作为静态面向对象编程语言的代表,极好地实现了面向对象理论,允许程序员以优雅的思维方式进行复杂的编程。

  2. Vue:Vue (发音为 /vjuː/,类似 view) 是一款用于构建用户界面的JavaScript框架。它基于标准HTML、CSS和JavaScript构建,并提供了一套声明式的、组件化的编程模型,帮助开发者高效地开发用户界面。

Vue是一个独立的社区驱动的项目,它是由尤雨溪在2014年作为其个人项目创建, 是一个成熟的、经历了无数实战考验的框架,它是目前生产环境中使用最广泛的JavaScript框架之一,可以轻松处理大多数web应用的场景,并且几乎不需要手动优化,并且Vue完全有能力处理大规模的应用。

  1. Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。

  2. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。

  3. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。

  4. Spring-Mvc:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框。

三、系统功能模块介绍:

49870893295744351a735302995489cb

四、数据库设计:

1:'管理员表'(admin)

| 字段名 | 类型 | 默认值 | 列注释 |

| --------- | ------- | ------ | ------ |

| id | bigint | NULL | 主键ID |

| user_name | varchar | NULL | 用户名 |

| head_img | varchar | NULL | 头像 |

| pass_word | varchar | NULL | 密码 |

| nick_name | varchar | NULL | 昵称 |

2:'食材表'(foods)

| 字段名 | 类型 | 默认值 | 列注释 |

| ---------- | ------- | ------ | ---------- |

| id | bigint | NULL | 主键ID |

| food_name | varchar | NULL | 食材名称 |

| food_type | bigint | NULL | 食材分类 |

| food_fun | text | NULL | 主治功能 |

| taboo | text | NULL | 禁忌食物 |

| big_img | varchar | NULL | 封面图片 |

| foods_imgs | text | NULL | 轮播图数组 |

3:'食材分类'(goods_type)

| 字段名 | 类型 | 默认值 | 列注释 |

| --------- | ------- | ------ | -------- |

| id | bigint | NULL | 主键ID |

| type_name | varchar | NULL | 类型名称 |

4:'留言管理'(medical_records)

| 字段名 | 类型 | 默认值 | 列注释 |

| ----------- | ------- | ------ | -------- |

| id | bigint | NULL | 主键ID |

| user_id | bigint | NULL | 用户ID |

| performance | text | NULL | 常规表现 |

| recommended | varchar | NULL | 推荐方案 |

| mail | varchar | NULL | 邮箱 |

5:'体质分类表'(physical_type)

| 字段名 | 类型 | 默认值 | 列注释 |

| ------------- | ------- | ------ | ------------ |

| id | bigint | NULL | 主键ID |

| physical_name | varchar | NULL | 体质分类名称 |

6:'体质表'(physicals)

| 字段名 | 类型 | 默认值 | 列注释 |

| -------------- | ------- | ------ | ---------- |

| id | bigint | NULL | 主键ID |

| physicals_name | varchar | NULL | 体质名称 |

| type_id | bigint | NULL | 所属类型 |

| performance | text | NULL | 常规表现 |

| feature | text | NULL | 形体特征 |

| tendencys | text | NULL | 发病倾向 |

| ability | text | NULL | 适应能力 |

| health_key | text | NULL | 养生关键 |

| taboo | text | NULL | 食物性宜忌 |

| big_img | varchar | NULL | 介绍图片 |

7:'食谱表'(recipe)

| 字段名 | 类型 | 默认值 | 列注释 |

| -------------- | ------- | ------ | -------- |

| id | bigint | NULL | 主键ID |

| recipe_name | varchar | NULL | 食谱名称 |

| recipe_type | bigint | NULL | 食谱分类 |

| recipe_content | text | NULL | 食谱搭配 |

| attend_fun | text | NULL | 主治疾病 |

| taboo | text | NULL | 饮食禁忌 |

| big_img | varchar | NULL | 封面图片 |

8:'食谱分类表'(recipe_type)

| 字段名 | 类型 | 默认值 | 列注释 |

| ----------- | ------- | ------ | -------- |

| id | bigint | NULL | 主键ID |

| recipe_type | varchar | NULL | 食谱类别 |

9:'用户表'(users)

| 字段名 | 类型 | 默认值 | 列注释 |

| ----------- | -------- | ------ | -------- |

| id | bigint | NULL | 主键ID |

| user_name | varchar | NULL | 用户名 |

| sex | int | NULL | |

| pass_word | varchar | NULL | 密码 |

| name | varchar | NULL | 姓名 |

| age | int | NULL | 年龄 |

| adapt | varchar | NULL | 适应能力 |

| history | varchar | NULL | 既往史 |

| now_medical | varchar | NULL | 现病史 |

| allergy | varchar | NULL | 过敏史 |

| create_time | datetime | NULL | 创建时间 |

五、功能模块:

  1. 用户登录模块:首先用户需要进行登录操作来进入系统后才能再进行后续的一些功能体验。在用户系统界面可以点击右上角的登录按钮跳转登录界面输入正确的相关用户信息便可等级食疗系统进行功能体验,如果该用户没有注册,则可以点击注册按钮进行用户信息注册。在登录这一重要的模块中,系统会将用户输入的信息与系统数据库进行检查,MySQL数据库会运行SQL语句并将信与已存储在数据库中的数据进行检索,确保系统安全和稳定。

  2. 8e863967745e821e9f875e8b10af42e8

  3. 用户首页模块:在用户登录步骤完成之后并且成功进入食疗系统,食疗系统会展示首页信息,同时用户可以根据自己的需求进行食材、食谱、体质等功能体验。用户首先重要的是需要把自己的体质信息进行记录,这样食疗系统可以根据不同的体质情况进行数据处理。用户可以点击首页的体质按钮进入体质信息模块。

    c852e34eb1f4905916b810567f8f2fe4

  4. 用户体质信息模块:在此食疗系统中,用户的体质信息是系统中重要的一个项目,用户可以在首页点击体质按钮进入体质页面把用户自己的一些体质相关信息对应食疗系统的提示进行输入,让食疗系统存储用户的体质信。体质信息中一些如:所属分类、形体特征、发病趋势等可以直观表示用户当前身体状况,让用户可以直接了解自己的身体健康情况。而在体质信息中的养生关键和食物性宜忌则可以为用户提供体质改善的建议,让用户能够提高自己的身体质量。在体质信息这一模块中,用户可以简单易读的直观了解到用户的体质信息,此页面可以让用户可以快速上手,提高用户使用体验。

    30aef78251c4b4c650ebba96b9356811

  5. 食材信息模块:在食疗系统中用户可以在首页点击食材按钮跳转对应的食材信息模块,在此模块中用户可以直观感受到相应食95918b37ce40c114fb5eacb5ca0bdc02材的作用、所属分类、主治功能、禁忌情况。

  6. 食谱信息模块:在食疗系统中用户可以在首页点击食谱按钮跳转对应的食材信息模块,在此模块中用户可以直观感受到相应食材的作用、所属分类、食谱搭配、主治功能、禁忌情况。

    64fb003d82f6097d4f98448a0d475498

六、代码示例:

用户登录模块

@RequestMapping(value = /registerSave)

	public ResponseEntity<String> mineSave(Model model,HttpServletRequest request,Long id

		,String username,String password,String customerName,String sex,String address,String mobile) throws Exception{

		int result = 0;

			String sql=insert into t_customer(username,password,customerName,sex,address,mobile) values(?,?,?,?,?,?);

			result = db.update(sql, new Object[]{username,password,customerName,sex,address,mobile});

		sql=select * from t_customer order by id desc limit 1;

		List<Map> list = db.queryForList(sql);

		request.getSession().setMaxInactiveInterval(60*60*24);

		request.getSession().setAttribute(customerBean, list.get(0));



			return renderData(true,操作成功,null);

	}
用户首页模块

public ResponseEntity<String> loginSave(Model model,HttpServletRequest request,String username,String password) throws Exception {

		String sql=select * from t_customer where username=?;

		List<Map> list = db.queryForList(sql, new Object[]{username});

		String result=1;

		if(list!=null&&list.size()>0){

			Map map = list.get(0);

			if(StringHelper.get(map, password).equals(password)){

				request.getSession().setMaxInactiveInterval(60*60*24);

				request.getSession().setAttribute(customerBean, map);

				result=1;

			}else{

				result=0;

			}

		}else{

			result=0;

		}

		return rende
用户体质信息模块

@GetMapping(value = /{id})

public AjaxResult getInfo(@PathVariable(id) Long id)

{

    return AjaxResult.success(tGrugsService.selectTGrugsById(id));

}
食材信息模块

@RequestMapping(value = /myOrder)

	public String myOrder(Model model, HttpServletRequest request)

			throws Exception {

		String sql = select a.*,(select max(customerName) from t_customer b where a.customerId=b.id) customerName  from t_order a where 1=1 ;



		if (1 == 1) {

			sql += and customerId= + getCustomer(request).get(id) +  ;

		}

		sql +=  order by id desc;

		List list = db.queryForList(sql);

		request.setAttribute(orderList, list);

		return /front/myOrder;

	}


食谱信息模块

@GetMapping(/list)

public TableDataInfo list(SysNotice notice)

{

    startPage();

    List<SysNotice> list = noticeService.selectNoticeList(notice);

    return getDataTable(list);

}

七、论文参考:

03d930fe4fd42bda396e189aac5162eb

八、项目总结:

通过这段时间的设计和开发,食疗系统是完成了,在此我非常感谢老师的指导和同学的帮助,让我可以在在这几个月把自己的食疗系统开发完成。在这份文档中展示了食疗系统的部分关键功能模块和一些食疗系统在设计与开发时候的内容。此食疗系统的用户系统为用户提供了用户所属账号注册以及登录功能、本系统所包含的食材信息、食谱信息、以及用户体质记录和对应体质的食谱推荐,为用户的身体健康提供帮助。在本食疗系统的管理系统则为管理员提供了用户的体制分类管理、食谱分类管理、食材管理、食谱信息管理、食品分类管理、体质信息管理、留言管理、用户信息管理这些功能。这些功能为用户和管理员对食疗系统的功能体验和运作提供了有效作用。

在设计和开发食疗系统时,因为本人是首次个人制作此类系统项目,在很多方面还是存在不足之处。在系统开发时,系统开发编码的情况不容乐观,很多编码逻辑还是存在很大的问题,编写的代码存在逻辑混乱,这对于系统的开发是非常严重的,在以后我会改善自己的编码思维,确保编码逻辑顺通。对于用户系统的界面设计之初还是缺乏简洁的美观思维,没有去深入考虑用户的观念,系统的界面不够美观,让系统界面的美观并不讨喜,系统界面是直接与用户进行交互的,应该设计美观,让用户喜欢,提高用户的使用体验。

完成此次食疗系统后在,让我知道了想要开发一个好的系统、一个有用户粘性的系统并不简单,做好系统开发之初的需求分析、一个符合用户审美的系统设计、一个安全稳定的数据库等这些都是不能粗制滥造的。我想通过这次食疗系统的设计与开发可以让我积累更多的专业知识,让自己的实践能力更强。

联系咨询区

可沟通项目方向、预算、交付周期与答辩时间安排,支持按学校要求定制交付内容。

为你推荐

根据你的浏览兴趣与热门趋势,精选可能适合你的毕业设计项目。

基于JAVA+SpringBoot+Vue+uniapp的微信小程序点餐平台

SpringBootVue微信小程序UniAppMySQL前后端分离支付功能小程序端

该系统是一个基于Java+SpringBoot后端、Vue+Uniapp前端的微信小程序点餐平台。平台实现了在线菜单浏览、购物车管理、订单提交与支付、后台数据统计等核心功能,为餐饮商家提供高效便捷的数字化点餐解决方案。项目采用前后端分离架构,适合作为毕业设计或实际项目开发,展示了现代Web与移动应用系统的完整实现流程。

基于JAVA+SpringBoot+Vue+uniapp+协同过滤算法+爬虫+AI的减肥小程序

SpringBootVueUniAppAI智能推荐算法小程序端

该项目是一个集成了协同过滤推荐算法、网络爬虫与AI技术的智能减肥小程序。系统采用JAVA+SpringBoot构建后端服务,Vue+uniapp实现跨平台前端,旨在为用户提供个性化的饮食与运动方案。核心功能包括基于用户行为的智能推荐、健康数据管理及社区互动,适合作为毕业设计或实际项目开发,展示了现代Web与移动应用在信息管理与系统开发中的综合实践。

基于JAVA+SpringBoot+Vue的自动阅卷分析系统

SpringBootVueMySQLAI智能数据可视化前后端分离PC端

该系统是一个基于JAVA+SpringBoot后端与Vue前端的自动阅卷分析系统,旨在实现高效、准确的试卷批改与学习数据分析。核心功能包括智能识别与评分、错题统计分析、成绩报告生成以及教学效果评估。该系统开发专注于提升阅卷效率与信息管理深度,适用于在线教育、考试机构及毕业设计项目实现,为教学管理与学习分析提供一体化解决方案。

基于JAVA+SpringBoot+Vue+uniApp小程序的心理健康测试平台

SpringBootVue微信小程序UniAppMySQL前后端分离小程序端

该心理健康测试平台是一个集前端小程序与后端管理系统于一体的综合系统开发项目。平台采用JAVA与SpringBoot构建稳健后端,结合Vue与uniApp实现跨端小程序开发,为用户提供便捷的心理测评与报告服务。系统核心功能包括题库管理、在线测试、数据分析及报告生成,旨在通过信息化手段提升心理健康服务的可及性与专业性,适用于毕业设计或实际项目实现。

基于JAVA+SpringBoot+Vue+uniapp的前后端分离的微信小程序的艺术品陶瓷商城

SpringBootVue微信小程序UniAppMySQL前后端分离小程序端

该项目是一个基于JAVA+SpringBoot+Vue+uniapp技术栈的前后端分离微信小程序艺术品陶瓷商城系统。系统开发实现了艺术品陶瓷的在线展示、商品管理、用户订单处理及支付集成等核心功能,为陶瓷艺术品的数字化交易提供了完整的信息管理解决方案,适合作为毕业设计或商业项目实现。

基于JAVA+SpringBoot+Vue的二手车交易系统

SpringBootVueMySQL前后端分离PC端

该系统是一个基于Java+SpringBoot+Vue的二手车交易管理系统,旨在为用户提供便捷的在线车辆买卖平台。核心功能包括车辆信息发布、智能搜索、在线咨询、交易管理及用户评价等模块。通过前后端分离的系统开发模式,实现了高效的信息管理和流畅的用户体验,适合作为毕业设计或实际项目实现,帮助提升二手车交易效率与透明度。

基于JAVA+SpringBoot+Vue的故障报修平台

SpringBootVueMySQL前后端分离PC端

该项目是一个基于Java、SpringBoot和Vue的故障报修平台,旨在实现高效的设备故障管理与维修流程。系统提供用户在线报修、工单分配、进度跟踪及数据统计等核心功能,适用于企业或校园的日常运维。通过前后端分离架构,确保了系统的可扩展性和维护性,适合作为毕业设计或实际项目实现,展示了现代Web信息管理系统的开发实践。

基于JAVA+SpringBoot+Vue的前后端分离的学校请假管理系统

SpringBootVueMySQL权限控制多角色系统前后端分离PC端

这是一个基于JAVA+SpringBoot+Vue的前后端分离学校请假管理系统,旨在实现学生请假流程的数字化与高效管理。系统开发涵盖了学生在线提交申请、辅导员与院系审批、请假记录统计等核心功能,优化了传统纸质流程。该项目可作为信息管理系统的毕业设计或实际应用案例,展示了前后端分离架构在项目实现中的优势。