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

美食推荐系统 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离

个性化美食推荐系统 协同过滤余弦函数推荐美食 Echart数据统计 Springboot Vue Element-UI前后端分离

【亮点功能】

    1.Springboot+Vue+Element-UI+Mysql前后端分离

    2.Echarts图表统计数据, 直观展示数据情况

    3.发表评论后,用户可以回复评论, 回复的评论可以被再次回复,  一级评论可以添加图片附件

    4.推荐美食列表展示, 使用协同过滤余弦函数 根据用户的评论, 收藏, 浏览历史数据进行推荐

    5.数据导出和导入(文件格式为excel)

    6.数据库优化: 使用 唯一索引, 联合索引, 外键关联, 视图,存储过程,函数,触发器

    7.开发本项目过程中遇到的问题以及解决方法(视频形式阐述)

【技术栈】

    1.后端开发语言java,框架Springboot, 开发工具IDEA

    2.前端技术vue, html, css, 开发工具IDEA或者VSCODE

    3.数据库使用mysql, 后端使用mybatis操作mysql, mybaits手写sql语句, 数据库表数量>10张

    4.JWT验证身份并授权, 自定义注解, 拦截器, 切面, 前后端分离跨域访问

    5.Element-UI, axios数据通讯交互, vue消息总线, flex样式布局, router路由

        wangEditor富文本编辑器, Echarts图表统计数据

    6.localStorage浏览器缓存存储用户信息 , 前端后端用户可同时在同一浏览器登录

    7.数据库优化: 使用 唯一索引, 联合索引, 外键关联, 视图,存储过程,函数,触发器

【功能列表】

后台功能

    1.登录, 修改登录用户的信息,  修改密码

    2.首页统计 统计用户数量, 美食数量, 美食浏览量, 评论总数量

    3.Echarts统计 用户注册统计(根据日期统计),  美食类型占比统计,美食销售额度统计

    4.管理员管理, 管理员增删改查, 批量删除

    5.用户管理, 用户增删改查, 批量删除

    6.美食类型管理, 类型增删改查, 批量删除

    7.美食管理, 美食增删改查, 批量删除, 富文本编辑器(上传图片, 视频), 美食指定多个类型,

       美食视频介绍, 美食导出保存为excel格式, excel文件导入美食数据

    8. 库存管理, 美食入库, 注意: 美食没有库存, 美食无法加入购物车,无法购买

    9. 订单管理包括:显示各个状态的订单 全部订单,已付款订单,已发货订单,已收货订单, 已评价订单,

        已退货订单; 订单操作: 发货, 查看评论, 回复评论

    10.评论管理, 评论删改查, 批量删除, 一级评论可修改(内容,评分,图片), 二级评论只能修改内容;

        二层展示评论内容, 一层展开显示所有二层评论; 删除一级评论连带删除所有二级评论, 删除二级评论只删除二级本身

    11.轮播图管理, 轮播图增删改查, 批量删除

    12.留言板管理, , 留言删改查, 批量删除, 一级留言可修改(内容,图片), 二级留言只能修改内容;

        二层展示留言内容, 一层展开显示所有二层留言; 删除一级留言连带删除所有二级留言, 删除二级留言只删除二级本身

    13.公告类型管理, 公告类型增删改查, 批量删除

    14.公告管理, 公告增删改查, 批量删除

    15.系统日志, 日志查删, 批量删除, 通过切面+注解方式记录日志

前台功能

    1.登录, 注册, 修改登录用户的信息,  修改密码

    2.轮播图展示

    3.热门美食列表展示,推荐美食列表展示,推荐美食根据所有用户的评论,

        收藏,浏览历史综合得分进行推荐 

    4.美食详情展示, 如果后台上传视频,详情页面可以播放视频

    5.登录用户对进行 美食收藏,取消收藏

    6.登录用户历史浏览足迹

    7.根据美食关键字全局搜索美食列表, 分类显示美食列表

    8.登录用户对美食进行评论(包含: 评论内容, 分数, 附件图片), 显示总评论数量

        用户对已经评论的内容进行二级回复评论(只能评论内容),

        用户可以把自己的评论删除, 如果删除一级评论,连带删除所有二级评论

        非登录可以查看用户对美食的所有评论

    9. 查看用户订单评论+商户回复列表

    10.登录用户可以在留言板留言(包含: 留言内容, 附件图片), 显示总留言数量

        用户对已经留言的内容进行二级回复留言(只能留言内容),

        用户可以把自己的留言删除, 如果删除一级留言,连带删除所有二级留言

        非登录可以查看用户的所有留言

    11.公告通知轮播图,点击轮播图片,显示公告通知详情

        公告通知按公告类型进行片区展示, 每个片区显示7条相应类型的公告通知数据, 点击可以查看公告通知详情

        点击更多,分页列表显示相应类型下所有公告通知数据

    12.用户中心 菜单包含[个人信息][修改密码][我的收藏][我的足迹][我的评论][我的留言]

    13.菜单-个人信息  修改用户 昵称, 性别, 手机号码, 邮箱,头像    注: 手机号码, 邮箱不能与其他用户重复

    14.菜单-修改密码   修改用户密码信息, 修改完成后重新登陆

    15.购物车  显示用户加入购物车的所有美食,删除美食,修改购买美食数量,

         勾选美食进行结算,选择收货地址,选择支付方式

    16.我的订单 显示各个状态的订单 全部订单,已付款订单,已发货订单,已收货订单, 已评价订单,

        已退货订单; 订单操作: 收货, 退货, 评价, 查看评论, 修改评论

    17.收货地址管理 查询,新增,修改,删除用户收货地址,设置默认收货地址

    18.菜单-我的收藏   根据 美食 名称查询收藏, 查看收藏美食详情, 删除收藏

    19.菜单-我的足迹   根据 美食 名称查询历史足迹, 查看足迹美食详情, 删除足迹

    20.菜单-我的评论   根据 美食 和 评论内容 条件查询评论记录, 修改一级评论(内容,评分,附件图片), 修改二级评论(只能内容)

         删除一级评论连带删除所有二级评论, 删除二级评论只删除二级本身

    21.菜单-我的留言   根据 留言 条件查询留言记录, 修改一级留言(内容,附件图片), 修改二级留言(只能内容)

        删除一级留言连带删除所有二级留言, 删除二级留言只删除二级本身

相关文章:

美食推荐系统 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离

个性化美食推荐系统 协同过滤余弦函数推荐美食 Echart数据统计 Springboot Vue Element-UI前后端分离 【亮点功能】 1.SpringbootVueElement-UIMysql前后端分离 2.Echarts图表统计数据, 直观展示数据情况 3.发表评论后,用户可以回复评论, 回复的评论可以被再次回复,…...

ThinkPHP 8的一对多关联

【图书介绍】《ThinkPHP 8高效构建Web应用》-CSDN博客 《2025新书 ThinkPHP 8高效构建Web应用 编程与应用开发丛书 夏磊 清华大学出版社教材书籍 9787302678236 ThinkPHP 8高效构建Web应用》【摘要 书评 试读】- 京东图书 使用VS Code开发ThinkPHP项目-CSDN博客 编程与应用开…...

Django简介与虚拟环境安装Django

目录 1.Django简介 1.1 Django 的核心特点 1.2 Django 的核心组件 1.3 Django 的应用场景 1.4 总结 2.基础环境建立 2.1 创建虚拟环境 2.1.1 使用 virtualenv 创建虚拟环境 2.1.2 使用 venv 创建虚拟环境 2.2 激活虚拟环境 2.2.1 在 Windows 上 2.2.2 在 macOS 或 …...

Redis延迟队列详解

以下是对 Redis 延迟队列的详细解释: 一、什么是 Redis 延迟队列 Redis 延迟队列是一种使用 Redis 实现的消息队列,其中的消息在被消费之前会等待一段时间,这段时间就是延迟时间。延迟队列常用于一些需要延迟处理的任务场景,例如订…...

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用

一文大白话讲清楚webpack基本使用——2——css相关loader的配置和使用 1. 建议按文章顺序从头看是看 第一篇:一文大白话讲清楚啥是个webpack第二篇:一文大白话讲清楚webpack基本使用——1——完成webpack的初步构建然后看本篇,Loader的配置…...

第二代增强-采购申请屏幕增强

这篇文章可能有点乱,但是都是学习的一个过程,问题就是在ME52N修改采购申请增强字段之后,点击保存之后无法更新到数据库,困扰了很久,终于解决了,特此记录 文章目录 需求创建增强结构测试屏幕ZXM02TOP创建屏幕…...

图论DFS:黑红树

我的个人主页 {\large \mathsf{{\color{Red} 我的个人主页} } } 我的个人主页 往 {\color{Red} {\Huge 往} } 往 期 {\color{Green} {\Huge 期} } 期 文 {\color{Blue} {\Huge 文} } 文 章 {\color{Orange} {\Huge 章}} 章 DFS 算法:记忆化搜索DFS 算法&#xf…...

零基础一篇打通Vue极速通关教程

文章目录 写给零基础看的Vue极速掌握教程第1章 Vue简介1.1 Vue 概述1.2 MVVM 模式1.3 WebStorm开发工具1.3.1 WebStorm简介1.3.2 集成Vue开发调试工具 第2章 Vue的事件绑定2.1 Vue基本使用2.1.1 插值表达式2.1.2 注意事项 2.2 Vue事件绑定2.1.1 点击事件2.2.2 键盘事件2.2.3 移…...

商城系统中的常见 BUG

以下是商城系统中一些常见的 BUG: 功能与操作类 支付问题:如无法成功完成支付,支付过程中出现延迟、错误或订单重复支付等,还可能因网络问题导致支付失败或数据不一致。 登录 / 注册问题:用户在注册或登录时可能遇到…...

下定决心不去读研了。。。

大家好,我是苍何。 之前发表过一篇文章,表达了自己读研的困惑和纠结,得到了大家很多的建议,也引起了很多人的共鸣,在留言区分享了自己的故事,看着这些故事,我觉得都够苍何写一部小说了。 可惜苍…...

100个网络基础知识

1)什么是链接? 链接是指两个设备之间的连接。它包括用于一个设备能够与另一个设备通信的电缆类型和协议。 2)OSI 参考模型的层次是什么? 有 7 个 OSI 层:物理层,数据链路层,网络层,传输层,会话层,表示…...

庄小焱——2024年博文总结与展望

摘要 大家好,我是庄小焱。岁末回首,2024 年是我在个人成长、博客创作以及生活平衡方面收获颇丰的一年。这一年的经历如同璀璨星辰,照亮了我前行的道路,也为未来的发展奠定了坚实基础。 1. 个人成长与突破 在 2024 年&#xff0c…...

高通8255 Android STR 启动失败要因分析调查

目录 背景: 调查过程: 步骤1: slog2info | grep vmm_service 步骤2: slog2info | grep qvm 总结: 解决方案 背景: 调试高通8255 STR的STR过程中发现Android和QNX进入STR状态后,脱出STR时…...

Qt QML专栏目录结构

第1章 走进Qt Quick的世界... 4 ★1.4 Qt Quick应用... 4 ★1.5 Qt Quick UI项目(qmlproject工程) 4 第2章 QML语法... 4 ★2.2 import导入语句... 4 ★2.3 QML类型系统... 5 ★2.4 对象特性(Attributes)... 6 三个等于号JavaScript语…...

“深入浅出”系列之FFmpeg:(3)音视频开发的学习路线和必备知识

一、岗位要求 音视频开发属于我自己想要学习的板块,我想知道公司招聘音视频开发工程师所需要的条件,于是我就从招聘网站上找来了几个有关音视频开发的岗位需求,内容仅供参考: (1)算法工程师-视频编解码 …...

Webpack简述

一、为什么要构建工具 人类喜欢书写的代码以及开发方式计算机不喜欢,构建工具的作用就是让人类舒舒服服写自己喜欢的代码,然后一打包生成计算机喜欢的代码 第一个webpack自身仅仅是将我们引入的模块打包成一个文件(编译import)&am…...

解决 Error: Invalid or corrupt jarfile day04_studentManager.jar 报错问题

在 Java 开发过程中,我们可能会遇到这样的报错信息:Error: Invalid or corrupt jarfile day04_studentManager.jar。这个错误通常表示 day04_studentManager.jar 文件可能已损坏或无效,下面将为大家详细介绍如何解决这个问题。 一、错误点分…...

ACL基础理论

ACL ——访问控制列表 ACL属于策略的一种 ACL访问控制列表的作用: 访问控制:在路由器流量流入或流出的接口上,匹配流量,然后执行设定好的动作:permit(允许)、deny(拒绝&#xff…...

庄周梦蝶1

和尚大概的意思如下:人的每一个梦境都是一个世界,这些世界统称三千世界。每一个世界当中所谓时间的跨度不同,发展程度不同,但是里面都有一个你。这些世界是同时存在的,所以不存在未来过去和现在,因为你就存…...

使用SIPP发起媒体流性能测试详解

使用SIPP发起媒体流性能测试详解 一、SIPP工具简介二、测试前的准备三、编写测试脚本四、运行测试五、分析测试结果六、总结SIPP(SIP Performance Protocol)是一个开源工具,专门用于SIP(Session Initiation Protocol)协议的性能测试和基准测试。SIP是一种用于控制多媒体通…...

Java-41 深入浅出 Spring - 声明式事务的支持 事务配置 XML模式 XML+注解模式

点一下关注吧!!!非常感谢!!持续更新!!! 🚀 AI篇持续更新中!(长期更新) 目前2025年06月05日更新到: AI炼丹日志-28 - Aud…...

【服务器压力测试】本地PC电脑作为服务器运行时出现卡顿和资源紧张(Windows/Linux)

要让本地PC电脑作为服务器运行时出现卡顿和资源紧张的情况,可以通过以下几种方式模拟或触发: 1. 增加CPU负载 运行大量计算密集型任务,例如: 使用多线程循环执行复杂计算(如数学运算、加密解密等)。运行图…...

【生成模型】视频生成论文调研

工作清单 上游应用方向:控制、速度、时长、高动态、多主体驱动 类型工作基础模型WAN / WAN-VACE / HunyuanVideo控制条件轨迹控制ATI~镜头控制ReCamMaster~多主体驱动Phantom~音频驱动Let Them Talk: Audio-Driven Multi-Person Conversational Video Generation速…...

return this;返回的是谁

一个审批系统的示例来演示责任链模式的实现。假设公司需要处理不同金额的采购申请,不同级别的经理有不同的审批权限: // 抽象处理者:审批者 abstract class Approver {protected Approver successor; // 下一个处理者// 设置下一个处理者pub…...

scikit-learn机器学习

# 同时添加如下代码, 这样每次环境(kernel)启动的时候只要运行下方代码即可: # Also add the following code, # so that every time the environment (kernel) starts, # just run the following code: import sys sys.path.append(/home/aistudio/external-libraries)机…...

【SpringBoot自动化部署】

SpringBoot自动化部署方法 使用Jenkins进行持续集成与部署 Jenkins是最常用的自动化部署工具之一,能够实现代码拉取、构建、测试和部署的全流程自动化。 配置Jenkins任务时,需要添加Git仓库地址和凭证,设置构建触发器(如GitHub…...

Ubuntu系统复制(U盘-电脑硬盘)

所需环境 电脑自带硬盘:1块 (1T) U盘1:Ubuntu系统引导盘(用于“U盘2”复制到“电脑自带硬盘”) U盘2:Ubuntu系统盘(1T,用于被复制) !!!建议“电脑…...

SQL Server 触发器调用存储过程实现发送 HTTP 请求

文章目录 需求分析解决第 1 步:前置条件,启用 OLE 自动化方式 1:使用 SQL 实现启用 OLE 自动化方式 2:Sql Server 2005启动OLE自动化方式 3:Sql Server 2008启动OLE自动化第 2 步:创建存储过程第 3 步:创建触发器扩展 - 如何调试?第 1 步:登录 SQL Server 2008第 2 步…...

Elastic 获得 AWS 教育 ISV 合作伙伴资质,进一步增强教育解决方案产品组合

作者:来自 Elastic Udayasimha Theepireddy (Uday), Brian Bergholm, Marianna Jonsdottir 通过搜索 AI 和云创新推动教育领域的数字化转型。 我们非常高兴地宣布,Elastic 已获得 AWS 教育 ISV 合作伙伴资质。这一重要认证表明,Elastic 作为 …...

一些实用的chrome扩展0x01

简介 浏览器扩展程序有助于自动化任务、查找隐藏的漏洞、隐藏自身痕迹。以下列出了一些必备扩展程序,无论是测试应用程序、搜寻漏洞还是收集情报,它们都能提升工作流程。 FoxyProxy 代理管理工具,此扩展简化了使用代理(如 Burp…...