选择基于微信小程序 + SpringBoot 协同过滤智能健康饮食膳食推荐系统课题的学弟学妹注意啦✨!本系统答辩高频考点与核心亮点,就是依托小程序轻量化免下载、打开即用的优势,搭建膳食信息浏览、健康档案维护、个性化膳食推荐、留言反馈的健康饮食服务闭环。开发不必堆砌繁杂冗余功能,牢牢抓住核心业务:用户在微信小程序录入自身健康信息、浏览膳食菜品、记录日常饮食,获取协同过滤算法生成的个性化膳食推荐;膳食营养师在 Vue 后台维护菜品资源、配置膳食方案、回复用户反馈;后端完成用户行为数据采集、相似度计算、推荐结果生成;超级管理员在后台管理账号权限、膳食分类、系统数据统计;系统打通健康档案录入、饮食行为采集、协同过滤推荐、反馈交互整套链路。做好普通用户、膳食营养师、超级管理员三类角色的权限划分,吃透微信小程序登录 — 健康档案维护 — 膳食浏览收藏记录 — 协同过滤算法推荐 — 留言反馈回复这条主线流程。
答辩重点讲解前后端分离架构、小程序降低健康膳食服务使用门槛的优势、基于用户协同过滤的推荐计算逻辑和 SpringBoot 接口开发方案、用户行为数据与健康档案的数据持久化管理,完整演示微信小程序客户端和 Vue 管理后台功能。我长期深耕膳食推荐类毕设方向,清楚大家容易卡在协同过滤算法落地调试、小程序 openid 登录对接、角色权限隔离这些难点,明白大家一边调试推荐效果、反复调整论文内容、打磨答辩 PPT 的紧张节奏,希望大家紧紧围绕个性化膳食智能推荐这条主线,理顺用户行为采集、相似度计算、推荐结果输出的整套逻辑,从容应对答辩,顺利通关💪。

博主介绍:
深耕计算机专业项目 开发多年,基于springboot,vue,node,javaweb,微信小程序,安卓,android,鸿蒙,Harmony,python,毕业设计,课程设计,支持定制开发,附全套资料。
文末有本题目的源码+全套资料 ⬇️⬇️⬇️
中文摘要
随着国民健康意识持续提升,合理膳食、个性化饮食管理成为大众健康需求。传统饮食推荐方式多依靠人工经验,推荐内容同质化严重,难以结合用户身体指标、饮食偏好、禁忌病史实现精准推荐。本文设计并实现一套基于协同过滤算法的智能健康膳食推荐系统,系统后端采用 SpringBoot 框架开发,管理端使用 Vue 框架搭建,面向普通用户的客户端基于微信小程序实现,数据持久化采用 MySQL 数据库存储。系统划分为普通用户、膳食营养师、系统管理员三类角色,涵盖用户信息管理、健康档案录入、菜品膳食库维护、饮食记录、协同过滤个性化推荐、膳食方案管理、留言反馈等功能模块。核心采用基于用户的协同过滤算法,根据用户的浏览、收藏、食用记录计算用户相似度,挖掘相似用户的膳食偏好,自动生成适配用户身体情况的健康膳食推荐方案。本文完成系统需求分析、数据库设计、功能模块设计与代码实现,同时对系统进行功能测试。测试结果表明,系统运行稳定,推荐效果能够贴合用户个性化饮食需求,帮助用户科学规划日常饮食,也为膳食营养服务线上化提供实现思路。
关键词:微信小程序;SpringBoot;协同过滤;膳食推荐;健康饮食
Abstract
With the continuous improvement of national health awareness, reasonable diet and personalized diet management have become public health demands. Traditional diet recommendation methods mostly rely on manual experience, the recommended content is highly homogeneous, and it is difficult to achieve accurate recommendations combined with users’ physical indicators, dietary preferences and medical taboos. This paper designs and implements an intelligent healthy diet recommendation system based on collaborative filtering algorithm. The back-end of the system is developed with SpringBoot framework, the management terminal is built with Vue, and the client for ordinary users is realized based on WeChat Mini Program. MySQL database is used for data persistence. The system is divided into three types of roles: ordinary users, dietitians and system administrators, including user information management, health record entry, diet database maintenance, diet record, collaborative filtering personalized recommendation, diet plan management, message feedback and other functional modules. The core adopts user-based collaborative filtering algorithm. It calculates user similarity according to users’ browsing, collection and eating records, mines the dietary preferences of similar users, and automatically generates healthy diet recommendation schemes suitable for users’ physical conditions. This paper completes system requirement analysis, database design, functional module design and code implementation, and carries out functional test on the system. The test results show that the system runs stably, and the recommendation effect can meet users’ personalized dietary needs, help users scientifically plan daily diet, and provide an implementation idea for the online service of diet and nutrition.
Key words: WeChat Mini Program; SpringBoot; Collaborative Filtering; Diet Recommendation; Healthy Diet
一、研究目的与研究意义
研究目的
本课题旨在搭建一套轻量化、易使用的智能健康膳食推荐系统,依托微信小程序降低用户使用门槛。系统以协同过滤推荐算法为核心,摆脱传统固定食谱推送模式。采集用户身高体重、基础疾病、饮食禁忌、口味偏好、历史饮食行为数据,自动计算相似用户群体,完成个性化膳食推荐。同时搭建后台管理平台,支持营养师维护膳食菜品、定制膳食方案,管理员统一管理基础数据与账号。本系统目标是帮助用户建立科学的饮食习惯,为有减脂、控糖、养胃等需求人群提供适配的饮食参考;同时验证协同过滤算法在膳食推荐场景下的落地效果,实现膳食营养服务数字化。
研究意义
理论层面:将协同过滤推荐算法应用于健康膳食领域,丰富推荐算法在民生健康小程序场景的应用案例,为同类饮食推荐系统提供设计思路与实现参考。 现实层面:当下亚健康人群增多,很多人缺乏专业营养指导。微信小程序无需下载安装,用户可以随时查看推荐食谱、记录饮食。系统根据用户偏好动态调整推荐结果,相比网络通用食谱更加个性化。营养师可以在线维护膳食资源,高效输出营养方案,突破线下服务时空限制。管理员集中管控数据,保障菜品信息合规。本系统成本低、推广便捷,能够引导大众均衡膳食,对预防慢性病、提升国民健康水平有积极辅助作用。同时项目采用 SpringBoot+Vue + 小程序主流技术栈,技术方案成熟,便于后续迭代扩展,具备一定实用价值。
二、需求分析(分角色权限 + 功能模块详细描述)
系统一共 3 类用户:普通用户(小程序端)、膳食营养师(后台 Vue 管理端)、系统管理员(后台 Vue 管理端)
1. 普通用户(微信小程序端)
2. 膳食营养师(Vue 后台管理端)
3. 系统管理员(Vue 后台管理端,最高权限)
权限隔离说明:用户只能使用小程序端;营养师无法管理账号和分类;管理员不能编辑膳食菜品业务内容,各司其职。

三、技术选型及介绍
四、数据库表设计
说明:id 统一为主键,长度 10;其余 varchar 默认长度 50
用户表 user
| id | 主键 ID | int | 10 | 否 |
| openid | 微信唯一标识 | varchar | 50 | 否 |
| nickname | 昵称 | varchar | 50 | 是 |
| avatar | 头像地址 | varchar | 200 | 是 |
| health_info | 健康档案 json | varchar | 500 | 是 |
| create_time | 创建时间 | datetime | – | 否 |
膳食菜品表 food
| id | 主键 ID | int | 10 | 否 |
| food_name | 菜品名称 | varchar | 50 | 否 |
| heat | 热量 | double | – | 否 |
| category_id | 分类 ID | int | 10 | 否 |
| detail | 菜品详情 | varchar | 500 | 是 |
| img_url | 菜品图片 | varchar | 200 | 是 |
菜品分类表 food_category
| id | 主键 ID | int | 10 | 否 |
| cate_name | 分类名称 | varchar | 50 | 否 |
| sort | 排序号 | int | 10 | 是 |
| status | 状态 | tinyint | – | 否 |
饮食记录表 diet_record
| id | 主键 ID | int | 10 | 否 |
| user_id | 用户 ID | int | 10 | 否 |
| food_id | 菜品 ID | int | 10 | 否 |
| eat_time | 食用时间 | datetime | – | 否 |
| score | 行为权重 | int | 10 | 否 |
留言反馈表 feedback
| id | 主键 ID | int | 10 | 否 |
| user_id | 用户 ID | int | 10 | 否 |
| content | 反馈内容 | varchar | 500 | 否 |
| reply | 营养师回复 | varchar | 500 | 是 |
| create_time | 提交时间 | datetime | – | 否 |
管理员 & 营养师账号表 sys_user
| id | 主键 ID | int | 10 | 否 |
| username | 登录账号 | varchar | 50 | 否 |
| password | 密码 | varchar | 50 | 否 |
| role | 角色 1 管理员 2 营养师 | int | 10 | 否 |
| status | 启用状态 | tinyint | – | 否 |
五、系统详细设计 + 核心代码片段
5.1 整体架构设计
三层架构:前端层(小程序 + Vue 后台) → 业务服务层(SpringBoot) → 数据层(MySQL) 前端通过 http 请求调用后端 Controller 接口;Service 层处理业务,封装协同过滤推荐逻辑;Mapper 层操作数据库。
5.2 推荐模块核心设计(基于用户协同过滤)
思路:
核心代码片段 1:相似度计算工具类(皮尔逊)
/**
* 皮尔逊相似度计算
*/
public class CfUtil {
// userA向量、userB向量
public static double pearson(List<Double> vecA, List<Double> vecB){
double sumA = 0, sumB = 0, sumAB = 0;
double sumA2 = 0, sumB2 = 0;
int n = vecA.size();
for(int i=0;i<n;i++){
double a = vecA.get(i);
double b = vecB.get(i);
sumA += a;
sumB += b;
sumAB += a*b;
sumA2 += a*a;
sumB2 += b*b;
}
double numerator = sumAB – sumA*sumB/n;
double denominator = Math.sqrt((sumA2 – sumA*sumA/n)*(sumB2 – sumB*sumB/n));
if(denominator == 0) return 0;
return numerator / denominator;
}
}
核心代码片段 2:推荐接口 Controller(返回推荐菜品)
@RestController
@RequestMapping("/api/recommend")
public class RecommendController {
@Autowired
private RecommendService recommendService;
@GetMapping("/list")
public Result<List<Food>> getRecommend(@RequestParam Integer userId){
// 协同过滤获取推荐列表
List<Food> recommendList = recommendService.userCfRecommend(userId,8);
return Result.success(recommendList);
}
}
核心代码片段 3:小程序端请求推荐(js 片段)
wx.request({
url: 'https://xxx/api/recommend/list',
method:"GET",
data:{
userId: that.data.userId
},
success(res){
that.setData({
recommendFood: res.data.data
})
}
})
5.3 其他模块简要设计
5.4 系统流程简述
用户打开小程序 → 微信授权登录 → 完善健康档案 → 浏览菜品、收藏、记录饮食 → 后端收集行为数据 → 协同过滤算法计算推荐结果 → 小程序展示个性化膳食推荐;营养师登录后台维护菜品和回复反馈;管理员维护账号、分类。
最后出来的界面UI效果如下:
前台:



后台:


小程序及APP:


上面分享的这套系统,包含一些特色功能和创新设计。完全符合导师的要求。也可根据要求修改。完整的项目代码、MySQL 数据库文件、全套文档、界面效果图、PPT 我都已经打包整理好了🎓。 正在准备同题目的学弟学妹,想要拿来参考学习的,可以点击下方链接。👇👇👇👇👇







