Hadoop美食推荐系统 爬虫1.8w+数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离
Hadoop美食推荐系统 爬虫1.8w+数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离
【Hadoop项目】
1. data.csv上传到hadoop集群环境
2. data.csv数据清洗
3.MapReducer数据汇总处理, 将Reducer的结果数据保存到本地Mysql数据库中
4. Springboot+Echarts+MySQL 显示数据分析结果
分析数据维度如下:
【美食分类热度(点击次数)】【美食分类成交金额】【美食分类成交数量】
【美食商品热度(点击次数)】【美食商品销售额度】【美食商品销售数量】
【搜索关键词词频统计】【用户收藏Top10】【用户消费Top10】
【评论-分类评价均分】【评论-美食商品评价均分】【各类目下美食数量及占比】
5.运行环境 Idea JDK Maven XShell VM虚拟机 Mysql
6.技术栈 springboot vue echarts Hadoop MarReduce mysql
【亮点功能】
1.Springboot+Vue+Element-UI+Mysql前后端分离
2.Echarts图表统计数据, 直观展示数据情况
3.发表评论后,用户可以回复评论, 回复的评论可以被再次回复, 一级评论可以添加图片附件\
4.爬虫图书数据1.8万+
5.推荐美食列表展示, 使用协同过滤余弦函数 根据用户的评论, 收藏, 浏览历史数据进行推荐
6.数据导出和导入(文件格式为excel)
7.数据库优化: 使用 唯一索引, 联合索引, 外键关联, 视图,存储过程,函数,触发器
8.开发本项目过程中遇到的问题以及解决方法(视频形式阐述)
【技术栈】
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.菜单-我的留言 根据 留言 条件查询留言记录, 修改一级留言(内容,附件图片), 修改二级留言(只能内容)
删除一级留言连带删除所有二级留言, 删除二级留言只删除二级本身







相关文章:
Hadoop美食推荐系统 爬虫1.8w+数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离
Hadoop美食推荐系统 爬虫1.8w数据 协同过滤余弦函数推荐美食 Springboot Vue Element-UI前后端分离 【Hadoop项目】 1. data.csv上传到hadoop集群环境 2. data.csv数据清洗 3.MapReducer数据汇总处理, 将Reducer的结果数据保存到本地Mysql数据库中 4. SpringbootEchartsMySQL 显…...
吴恩达深度学习——神经网络编程的基础知识
文章内容来自BV11H4y1F7uH,仅为个人学习所用。 文章目录 二分分类一些符号说明 逻辑斯蒂回归传统的线性回归函数 y ^ w T x b \hat{y}w^T\boldsymbol{x}b y^wTxbSigmoid激活函数逻辑斯蒂回归损失函数损失函数成本函数与损失函数的关系 梯度下降法计算图逻辑斯蒂…...
第14个项目:E-Learning在线学习平台Python源码
源码下载地址:https://download.csdn.net/download/mosquito_lover1/90292074 系统截图: 功能介绍: 响应式设计,完全支持移动端 现代化的UI界面 用户认证系统 课程展示功能 模块化的结构 要进一步完善这个应用,您可以: 添加用户认证系统(登录/注册) 实现课程详情页面…...
Qt之文件系统操作和读写
Qt creator 6.80 MinGw 64bit 文本文件是指以纯文本格式存储的文件,如cpp和hpp文件。XML文件和JSON文件也是文本文件,只是使用了特定的标记符号定义文本的含义,读取这种文本文件需要先对内容解析再显示。 qt提供了两种读写文本文件的方法。…...
【物联网】keil仿真环境设置 keilV5可以适用ARM7
文章目录 一、ARM指令模拟器环境搭建1. keil软件2. Legacy Support 二、Keil仿真环境设置1. 创建一个项目2. 编译器介绍(1)arm-none-eabi-gcc(2)arm-none-linux-gnueabi-gcc(3)arm-eabi-gcc(4)grmcc(5)aarch64-linux-gnu-gcc 3. 安装编译器(1)设置调试 一、ARM指令模拟器环境搭…...
VIVADO ILA IP进阶使用之任意设置ILA的采样频率
VIVADO ILA IP进阶使用之任意设置ILA的采样频率 VIVADO ILA IP和VIO IP结合使用任意设置ILA的采样频率 目录 前言 一、VIO IP的配置 二、ILA IP的配置 三、测试代码 四、测试结果 总结 前言 VIVADO中编写完程序上板测试时经常会用到viavdo自带的ILA逻辑分析仪IP核&#x…...
网络编程-网络原理HTTP初识
文章目录 TCP/IP五层协议栈关于自定义协议常见自定义协议引入行文本格式XML格式JSONprotobuf HTTP原理非自定义的应用层协议HTTP的发展HTTP的传输模式HTTP协议中的代理模式和抓包工具 TCP/IP五层协议栈 具体的内容, 我们之前的网络初始里面有, 其实就是先前的计算机的发明者把…...
基于若依框架的动态分页逻辑的实现分析
如果让我们自己写分页查询的逻辑,应该怎么写呢? 在前端要完成分页的逻辑实际要做的工作还是挺多的。 分页查询应该支持查询参数的输入,对于一个有众多属性的列表,可能有很多查询参数,对于不同的参数类型,…...
51c~ONNX~合集1
我自己的原文哦~ https://blog.51cto.com/whaosoft/11608027 一、使用Pytorch进行简单的自定义图像分类 ~ONNX 推理 图像分类是计算机视觉中的一项基本任务,涉及训练模型将图像分类为预定义类别。本文中,我们将探讨如何使用 PyTorch 构建一个简单的自定…...
【数据结构篇】顺序表 超详细
目录 一.顺序表的定义 1.顺序表的概念及结构 1.1线性表 2.顺序表的分类 2.1静态顺序表 2.2动态顺序表 二.动态顺序表的实现 1.准备工作和注意事项 2.顺序表的基本接口: 2.0 创建一个顺序表 2.1 顺序表的初始化 2.2 顺序表的销毁 2.3 顺序表的打印 3.顺序…...
kubernetes 集群搭建(二进制方式)
Kubernetes 作为当今最流行的容器编排平台,提供了强大的功能来管理和扩展容器化应用。除了使用 kubeadm 等工具简化集群的创建过程外,直接通过二进制文件安装 Kubernetes 组件也是一种常见的方法。这种方式给予用户更多的控制权,并且适用于那…...
linux平台RTMP|RTSP播放器如何回调SEI数据?
我们在对接Linux平台RTMP|RTSP播放的时候,有遇到这样的技术需求,合作企业在做无人机视觉分析场景的时候,除了需要低延迟的拿到解码后的RGB|YUV数据,然后投递给他们自己的视觉算法处理模块外,还需要播放器支持SEI的回调…...
Vue uni-app免手动import
unplugin-auto-import 是一个流行的 JavaScript/TypeScript 插件,可以自动导入常用的库、API 或自定义函数,减少手动书写 import 语句的繁琐操作。它常用于 Vue、React 等框架,帮助开发者提高效率和减少样板代码。 核心功能: 自…...
7. 计算机视觉
计算机视觉(Computer Vision,简称 CV)是人工智能(AI)领域中的一个重要分支,旨在使计算机能够像人类一样“看”并理解数字图像或视频。它结合了计算机科学、数学、图像处理、模式识别、机器学习等多个学科&a…...
在服务器进行docker部署频繁提示permission denied
当你频繁遇到permission denied,证明当前用户的权限不够 可以参考如下操作: 1.创建用户组docker sudo groupadd docker把当前用户添加到docker用户组中 sudo usermod -aG docker $USER优点: 可以在不使用sudo的情况下运行docker命令...
c/c++ static
定义 修饰普通变量,修改变量的存储区域和生命周期,使变量存储在静态区,在 main 函数运行前就分配了空间,如果有初始值就用初始值初始化它,如果没有初始值系统用默认值初始化它。修饰普通函数,表明函数的作…...
C#中System.Text.Json:从入门到精通的实用指南
一、引言 在当今数字化时代,数据的高效交换与处理成为软件开发的核心环节。JSON(JavaScript Object Notation)凭借其简洁、轻量且易于读写的特性,已然成为数据交换领域的中流砥柱。无论是前后端数据交互,还是配置文件…...
内存故障原因与诊断(Reasons and Diagnosis of Memory Failure)
内存故障原因与诊断 您是否曾遇到过电脑无法启动、黑屏、死机,或者系统卡顿的情况?这些问题看起来很复杂,实际上大多数都是内存故障引起的。内存是电脑的核心组成部分之一,任何小东西问题都可能导致系统死机,严重时甚…...
[操作系统] 进程状态详解
在操作系统中,进程是程序执行的基本单位,操作系统负责管理进程的生命周期。为了高效地管理进程,操作系统通过定义不同的进程状态来表示进程在不同时间点的行为。本文将详细介绍常见的进程状态及其相互之间的转换过程。 进程状态概述 在kerne…...
[论文阅读] (36)CS22 MPSAutodetect:基于自编码器的恶意Powershell脚本检测模型
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...
conda相比python好处
Conda 作为 Python 的环境和包管理工具,相比原生 Python 生态(如 pip 虚拟环境)有许多独特优势,尤其在多项目管理、依赖处理和跨平台兼容性等方面表现更优。以下是 Conda 的核心好处: 一、一站式环境管理:…...
将对透视变换后的图像使用Otsu进行阈值化,来分离黑色和白色像素。这句话中的Otsu是什么意思?
Otsu 是一种自动阈值化方法,用于将图像分割为前景和背景。它通过最小化图像的类内方差或等价地最大化类间方差来选择最佳阈值。这种方法特别适用于图像的二值化处理,能够自动确定一个阈值,将图像中的像素分为黑色和白色两类。 Otsu 方法的原…...
《通信之道——从微积分到 5G》读书总结
第1章 绪 论 1.1 这是一本什么样的书 通信技术,说到底就是数学。 那些最基础、最本质的部分。 1.2 什么是通信 通信 发送方 接收方 承载信息的信号 解调出其中承载的信息 信息在发送方那里被加工成信号(调制) 把信息从信号中抽取出来&am…...
【单片机期末】单片机系统设计
主要内容:系统状态机,系统时基,系统需求分析,系统构建,系统状态流图 一、题目要求 二、绘制系统状态流图 题目:根据上述描述绘制系统状态流图,注明状态转移条件及方向。 三、利用定时器产生时…...
Axios请求超时重发机制
Axios 超时重新请求实现方案 在 Axios 中实现超时重新请求可以通过以下几种方式: 1. 使用拦截器实现自动重试 import axios from axios;// 创建axios实例 const instance axios.create();// 设置超时时间 instance.defaults.timeout 5000;// 最大重试次数 cons…...
【论文阅读28】-CNN-BiLSTM-Attention-(2024)
本文把滑坡位移序列拆开、筛优质因子,再用 CNN-BiLSTM-Attention 来动态预测每个子序列,最后重构出总位移,预测效果超越传统模型。 文章目录 1 引言2 方法2.1 位移时间序列加性模型2.2 变分模态分解 (VMD) 具体步骤2.3.1 样本熵(S…...
如何在最短时间内提升打ctf(web)的水平?
刚刚刷完2遍 bugku 的 web 题,前来答题。 每个人对刷题理解是不同,有的人是看了writeup就等于刷了,有的人是收藏了writeup就等于刷了,有的人是跟着writeup做了一遍就等于刷了,还有的人是独立思考做了一遍就等于刷了。…...
虚拟电厂发展三大趋势:市场化、技术主导、车网互联
市场化:从政策驱动到多元盈利 政策全面赋能 2025年4月,国家发改委、能源局发布《关于加快推进虚拟电厂发展的指导意见》,首次明确虚拟电厂为“独立市场主体”,提出硬性目标:2027年全国调节能力≥2000万千瓦࿰…...
Web中间件--tomcat学习
Web中间件–tomcat Java虚拟机详解 什么是JAVA虚拟机 Java虚拟机是一个抽象的计算机,它可以执行Java字节码。Java虚拟机是Java平台的一部分,Java平台由Java语言、Java API和Java虚拟机组成。Java虚拟机的主要作用是将Java字节码转换为机器代码&#x…...
【Linux】自动化构建-Make/Makefile
前言 上文我们讲到了Linux中的编译器gcc/g 【Linux】编译器gcc/g及其库的详细介绍-CSDN博客 本来我们将一个对于编译来说很重要的工具:make/makfile 1.背景 在一个工程中源文件不计其数,其按类型、功能、模块分别放在若干个目录中,mak…...
