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脚本检测模型
《娜璋带你读论文》系列主要是督促自己阅读优秀论文及听取学术讲座,并分享给大家,希望您喜欢。由于作者的英文水平和学术能力不高,需要不断提升,所以还请大家批评指正,非常欢迎大家给我留言评论,学术路上期…...

YSYX学习记录(八)
C语言,练习0: 先创建一个文件夹,我用的是物理机: 安装build-essential 练习1: 我注释掉了 #include <stdio.h> 出现下面错误 在你的文本编辑器中打开ex1文件,随机修改或删除一部分,之后…...
macOS多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用
文章目录 问题现象问题原因解决办法 问题现象 macOS启动台(Launchpad)多出来了:Google云端硬盘、YouTube、表格、幻灯片、Gmail、Google文档等应用。 问题原因 很明显,都是Google家的办公全家桶。这些应用并不是通过独立安装的…...

从零实现STL哈希容器:unordered_map/unordered_set封装详解
本篇文章是对C学习的STL哈希容器自主实现部分的学习分享 希望也能为你带来些帮助~ 那咱们废话不多说,直接开始吧! 一、源码结构分析 1. SGISTL30实现剖析 // hash_set核心结构 template <class Value, class HashFcn, ...> class hash_set {ty…...
Matlab | matlab常用命令总结
常用命令 一、 基础操作与环境二、 矩阵与数组操作(核心)三、 绘图与可视化四、 编程与控制流五、 符号计算 (Symbolic Math Toolbox)六、 文件与数据 I/O七、 常用函数类别重要提示这是一份 MATLAB 常用命令和功能的总结,涵盖了基础操作、矩阵运算、绘图、编程和文件处理等…...

IoT/HCIP实验-3/LiteOS操作系统内核实验(任务、内存、信号量、CMSIS..)
文章目录 概述HelloWorld 工程C/C配置编译器主配置Makefile脚本烧录器主配置运行结果程序调用栈 任务管理实验实验结果osal 系统适配层osal_task_create 其他实验实验源码内存管理实验互斥锁实验信号量实验 CMISIS接口实验还是得JlINKCMSIS 简介LiteOS->CMSIS任务间消息交互…...

图表类系列各种样式PPT模版分享
图标图表系列PPT模版,柱状图PPT模版,线状图PPT模版,折线图PPT模版,饼状图PPT模版,雷达图PPT模版,树状图PPT模版 图表类系列各种样式PPT模版分享:图表系列PPT模板https://pan.quark.cn/s/20d40aa…...
在QWebEngineView上实现鼠标、触摸等事件捕获的解决方案
这个问题我看其他博主也写了,要么要会员、要么写的乱七八糟。这里我整理一下,把问题说清楚并且给出代码,拿去用就行,照着葫芦画瓢。 问题 在继承QWebEngineView后,重写mousePressEvent或event函数无法捕获鼠标按下事…...
关于uniapp展示PDF的解决方案
在 UniApp 的 H5 环境中使用 pdf-vue3 组件可以实现完整的 PDF 预览功能。以下是详细实现步骤和注意事项: 一、安装依赖 安装 pdf-vue3 和 PDF.js 核心库: npm install pdf-vue3 pdfjs-dist二、基本使用示例 <template><view class"con…...
【Ftrace 专栏】Ftrace 参考博文
ftrace、perf、bcc、bpftrace、ply、simple_perf的使用Ftrace 基本用法Linux 利用 ftrace 分析内核调用如何利用ftrace精确跟踪特定进程调度信息使用 ftrace 进行追踪延迟Linux-培训笔记-ftracehttps://www.kernel.org/doc/html/v4.18/trace/events.htmlhttps://blog.csdn.net/…...
WEB3全栈开发——面试专业技能点P8DevOps / 区块链部署
一、Hardhat / Foundry 进行合约部署 概念介绍 Hardhat 和 Foundry 都是以太坊智能合约开发的工具套件,支持合约的编译、测试和部署。 它们允许开发者在本地或测试网络快速开发智能合约,并部署到链上(测试网或主网)。 部署过程…...