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

SpringBoot2+Vue3+MySQL 美食分享平台源码 前后端分离实战项目

一、项目简介

本项目是一个基于 Spring Boot 2 + Vue 3 + MySQL 技术栈开发的前后端分离美食分享平台。系统采用经典的前后端分离架构,后端提供 RESTful API 接口,前端通过 Vue 3 单页应用进行交互。平台包含普通用户端和管理员端两大角色:普通用户可完成注册登录、浏览探索美食帖子、发布与管理自己的内容、进行点赞收藏评论等社交互动,并接收实时通知;管理员则负责平台的内容审核、用户管理、分类维护和整体数据概览。系统内置了基于协同过滤的智能推荐模块,能够根据用户的点赞行为推荐可能感兴趣的美食内容。

二、技术栈

技术分类说明
后端框架Spring Boot 2.7.x
ORMMyBatis-Plus 3.5.x
权限认证JWT (jjwt) + 自定义拦截器
前端框架Vue 3 (Composition API) + Vue Router 4
状态管理Pinia
UI 组件库Element Plus
构建工具Vite
数据库MySQL 8.x
工具库Hutool (MD5加密)、Lombok

三、功能模块

管理员端

  • 数据概览:统计平台用户总数、帖子总数、评论总数,以卡片形式展示在仪表盘首页,便于管理员快速掌握平台运营规模。
  • 用户管理:分页加载用户列表,支持按用户名或昵称关键词模糊搜索,可对指定用户执行启用/禁用操作,禁用后该用户无法登录系统。
  • 内容审核:查看所有帖子列表,支持按帖子状态(待审核/已通过/已下架)筛选及关键词搜索,对待审核帖子执行通过或下架操作,审核结果自动生成通知推送给作者。
  • 评论管理:分页查看全平台所有评论,支持按内容关键词搜索定位违规评论,可一键删除违规评论,删除后同步清理嵌套回复。
  • 分类管理:维护美食分类体系,支持新增分类(填写名称、图标、排序号)、编辑分类信息、删除分类(删除前校验该分类下是否存在帖子)。

普通用户端

  • 用户注册:填写用户名、密码、昵称、邮箱完成账号注册,密码经 MD5 加密存储,注册成功后自动跳转至登录页。
  • 用户登录:输入用户名和密码,后端校验通过后生成 JWT Token 并返回用户基本信息,前端将 Token 持久化用于后续请求鉴权。
  • 首页浏览:展示分类列表、最新美食帖子(8条)和热门帖子(按点赞数降序取6条),为用户提供多维度内容入口。
  • 探索美食:支持按分类筛选、按标题或摘要关键词搜索美食帖子,列表采用分页加载,每页固定条数,方便浏览大量内容。
  • 帖子详情:展示帖子完整正文、封面图、难度等级、烹饪时间、分步骤图文教程(每步含文字说明和配图)以及作者信息,支持点赞、收藏、评论操作。
  • 发布美食:填写标题、封面图、摘要、正文内容、难度、烹饪时间、所属分类,并动态添加多步骤图文教程(步骤说明 + 步骤图片),提交后进入待审核状态。
  • 编辑帖子:对已发布的帖子修改标题、封面、内容、步骤等字段,编辑保存后帖子自动重新进入待审核状态,确保内容合规。
  • 删除帖子:删除自己发布的帖子,后台级联删除该帖子关联的步骤记录、点赞记录和收藏记录,保持数据一致性。
  • 点赞帖子:对任意帖子执行点赞/取消点赞操作,点赞状态实时更新并同步刷新帖子的点赞数,同时向帖子作者推送点赞通知。
  • 收藏帖子:收藏/取消收藏感兴趣的美食帖子,收藏数实时更新,收藏成功后通知帖子作者,方便作者感知内容受欢迎程度。
  • 我的帖子:分页查看当前用户发布的所有帖子列表,展示帖子状态(待审核/已通过/已下架),便于用户管理自己的内容资产。
  • 我的收藏:分页查看当前用户收藏的所有帖子列表,点击可快速跳转至帖子详情页。
  • 评论帖子:对帖子发表评论,支持回复他人评论形成嵌套评论树结构,评论内容实时展示在详情页评论区。
  • 删除评论:删除自己发布的评论,管理员可以删除任意用户的评论,删除时同步移除该评论下的所有子回复。
  • 通知列表:分页查看系统通知,涵盖点赞、收藏、评论、审核结果四类通知,每条通知展示触发用户、关联帖子和时间。
  • 标记已读:支持一键将所有未读通知标记为已读,减少红点提示干扰。
  • 未读计数:顶部导航实时展示未读通知数量,用户无需刷新即可感知新消息。
  • 个人资料:查看并编辑个人昵称、头像、邮箱、手机号等基础信息,修改后即时生效。
  • 修改密码:输入原密码和新密码完成登录密码修改,原密码校验通过后以 MD5 加密存储新密码。
  • 智能推荐:基于协同过滤算法,根据当前用户的点赞行为历史计算相似用户,推荐相似用户点赞过的且当前用户未交互过的美食帖子。
  • 文件上传:支持上传图片文件(封面图、步骤图、头像等),后端存储后返回可访问的 URL 地址供前端直接引用。

四、项目总结

本项目是一个功能完整、代码结构清晰的前后端分离实战项目。技术亮点在于:后端采用 Spring Boot 2 + MyBatis-Plus 组合,配合 JWT 自定义拦截器实现无状态鉴权;前端使用 Vue 3 Composition API + Pinia + Element Plus,组件化程度高;系统内置了通知推送、嵌套评论、协同过滤推荐等进阶功能,覆盖了社区类平台的典型业务场景。项目附带数据库初始化脚本和万字开发文档,非常适合作为 Java 全栈学习者、毕业设计选题以及中小型内容社区二次开发的基础脚手架。

界面展示

交付内容

本项目为完整交付,包含:

  • 完整后端源码
  • 完整前端源码
  • 数据库初始化脚本(SQL)
  • 万字项目文档(设计文档 / 论文,可作课程设计、毕业设计参考)

获取完整源码

完整前后端源码 + 数据库脚本 + 万字项目文档见 Gitee 仓库:https://gitee.com/kangxihuang/src-K204

http://www.jsqmd.com/news/1309466/

相关文章:

  • 终极手写笔记革命:3个理由让你爱上Saber免费开源应用
  • 椰林海鲜码头海鲜的品质好吗? - 秋山寄远
  • We0.ai:重新定义AI原生网站生成的下一代开发范式
  • A203E刷写JetPack全流程:解锁Jetson Xavier NX边缘AI算力
  • 基于RP2040 PIO驱动DVI-LCD:微控制器点屏实战指南
  • 开源项目架构设计与模块化实践:构建可扩展系统的完整指南
  • AI语音播客从零到爆款:5步工作流+3类合规避坑清单,2024最新TTS+ASR工具链实测报告
  • 2026 海南一般纳税人多年记账报税代办哪家强?海口一般纳税人代理记账优质机构 TOP3 测评对比 - 米諾
  • 2026 年新消息:维西傈僳族自治有实力的钢结构公司联系方式,拆除旧厂房:这套钢结构如何让成本骤降80%?-冀桂合钢结构工程 - 企业推荐管【认证】
  • 【Bug已解决】[Bug]: device_map=“auto“: silent corruption of tensors captured in register_forward_hook (3+
  • 金坛汽车凹陷修复哪家好?常州金坛能手凹痕修复,本地 8 年无痕精修门店推荐 - 米諾
  • 买四件套,该选经典老牌还是新锐?一套判断框架,帮你想清楚该为什么付钱 - qiqi1113
  • 金融 AIOps 选型指南:银行证券智能运维平台怎么选
  • 济南和乌鲁木齐靠谱的做招商获客短视频的公司 开阳广告拍摄剪辑运营一站式服务 - 米諾
  • 单片机计算机毕设之基于 51 单片机继电器驱动智能灌溉通风系统设计 基于单片机 LCD 显示的温室多设备联动控制系统(017701)
  • R语言pheatmap热图实战:从数据处理到高级定制全解析
  • 香港全屋傢俬訂造,連鎖店定本地工場好? - 行业百科测评
  • 《Tailscale 连接 Ollama 简易指南》
  • 【Zynq7100实战】H3-CZ08P-7100 基于FDMA的双OV5640摄像头显示方案
  • 当“神话”成为礼物,爱就有了具体的形状
  • 在沈阳考无人机执照,为什么越来越多人选择“正规军”?
  • 香港有邊啲訂造傢俬公司提供免費上門度尺? - 行业百科测评
  • AI 公司批量抢购 2022 年前的旧书:互联网被 AI 污染后,干净语料成了最后的矿脉
  • 淘系代运营行业规范化提速 商家如何依托平台合作资质甄别合规服务商 - 羊城派
  • 球台边的默契 - 东方既白~(-^
  • Derrick:30秒实现应用容器化的终极工具,让部署效率提升10倍
  • 单片机毕业设计-基于单片机的室内环境自动通风加湿报警系统设计 基于 STC51 单片机的多传感器环境智能管控系统设计(017901)
  • 2026湖州必应开户服务商选型测评:五大代理真实数据,避坑决策一篇通 - 品牌报告
  • 2026 海口龙华公司股权、地址、法人变更分别需要什么材料?流程步骤 + 避坑指南,省心直接找众致财税 - 米諾
  • WordPress主题选型指南:从需求分析到实战避坑,找到最适合你的解决方案