基于springboot+vue的食疗系统

基于springboot+vue的食疗系统


✌全网粉丝20W+,csdn特邀作者、博客专家、CSDN新星计划导师、java领域优质创作者,博客之星、掘金/华为云/阿里云/InfoQ等平台优质作者、专注于Java技术领域和毕业项目实战✌

🍅文末获取项目下载方式🍅
链接点击直达下载链接


一、项目背景介绍:

现在所处的社会以《和平与发展》作为一个时代发展的主题,科学技术作为第一生产力,在如今经济飞速发展的当下,人们的生活质量水平不断的提高了,不在以“吃饱穿暖”为主体了,越来越注重生活质量与精神文化的提升,伴随着生活节奏的加快,愈来愈多的人开始关注健康生活,提升自己的身体健康。-
虽然愈来愈多的人开始关注自己的健康,也去改善自己的身体,但是根据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完全有能力处理大规模的应用。
  3. Element-UI:Element,一套为开发者、设计师和产品经理准备的基于 Vue 2.0 的桌面端组件库。
  4. SpringBoot:Spring Boot是由Pivotal团队提供的全新框架,其设计目的是用来简化Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,Spring Boot致力于在蓬勃发展的快速应用开发领域(rapid application development)成为领导者。
  5. Mybatis-Plus:MyBatis-Plus(简称 MP)是一个 MyBatis的增强工具,在 MyBatis 的基础上只做增强不做改变,为 简化开发、提高效率而生。
  6. Spring-Mvc:Spring MVC属于SpringFrameWork的后续产品,已经融合在Spring Web Flow里面。Spring 框架提供了构建 Web 应用程序的全功能 MVC 模块。使用 Spring 可插入的 MVC 架构,从而在使用Spring进行WEB开发时,可以选择使用Spring的Spring MVC框架或集成其他MVC开发框。
三、系统功能模块介绍:

功能模块图

四、数据库设计:

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

    用户首页模块

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

    用户体质信息模块

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

    食材信息模块

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

    食谱信息模块

六、代码示例:
用户登录模块
@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);
}
七、论文参考:

论文参考···论文参考图

八、项目总结:

通过这段时间的设计和开发,食疗系统是完成了,在此我非常感谢老师的指导和同学的帮助,让我可以在在这几个月把自己的食疗系统开发完成。在这份文档中展示了食疗系统的部分关键功能模块和一些食疗系统在设计与开发时候的内容。此食疗系统的用户系统为用户提供了用户所属账号注册以及登录功能、本系统所包含的食材信息、食谱信息、以及用户体质记录和对应体质的食谱推荐,为用户的身体健康提供帮助。在本食疗系统的管理系统则为管理员提供了用户的体制分类管理、食谱分类管理、食材管理、食谱信息管理、食品分类管理、体质信息管理、留言管理、用户信息管理这些功能。这些功能为用户和管理员对食疗系统的功能体验和运作提供了有效作用。-
在设计和开发食疗系统时,因为本人是首次个人制作此类系统项目,在很多方面还是存在不足之处。在系统开发时,系统开发编码的情况不容乐观,很多编码逻辑还是存在很大的问题,编写的代码存在逻辑混乱,这对于系统的开发是非常严重的,在以后我会改善自己的编码思维,确保编码逻辑顺通。对于用户系统的界面设计之初还是缺乏简洁的美观思维,没有去深入考虑用户的观念,系统的界面不够美观,让系统界面的美观并不讨喜,系统界面是直接与用户进行交互的,应该设计美观,让用户喜欢,提高用户的使用体验。-
完成此次食疗系统后在,让我知道了想要开发一个好的系统、一个有用户粘性的系统并不简单,做好系统开发之初的需求分析、一个符合用户审美的系统设计、一个安全稳定的数据库等这些都是不能粗制滥造的。我想通过这次食疗系统的设计与开发可以让我积累更多的专业知识,让自己的实践能力更强。

九、源码获取:

大家点赞、收藏、关注、评论啦 、查看👇🏻👇🏻👇🏻获取联系方式👇🏻👇🏻👇🏻

链接点击直达:下载链接

  • 3
    点赞
  • 6
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值