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

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脚本检测模型

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

UDP(Echoserver)

网络命令 Ping 命令 检测网络是否连通 使用方法: ping -c 次数 网址ping -c 3 www.baidu.comnetstat 命令 netstat 是一个用来查看网络状态的重要工具. 语法:netstat [选项] 功能:查看网络状态 常用选项: n 拒绝显示别名&#…...

CVE-2020-17519源码分析与漏洞复现(Flink 任意文件读取)

漏洞概览 漏洞名称:Apache Flink REST API 任意文件读取漏洞CVE编号:CVE-2020-17519CVSS评分:7.5影响版本:Apache Flink 1.11.0、1.11.1、1.11.2修复版本:≥ 1.11.3 或 ≥ 1.12.0漏洞类型:路径遍历&#x…...

从面试角度回答Android中ContentProvider启动原理

Android中ContentProvider原理的面试角度解析,分为​​已启动​​和​​未启动​​两种场景: 一、ContentProvider已启动的情况 1. ​​核心流程​​ ​​触发条件​​:当其他组件(如Activity、Service)通过ContentR…...

Vue ③-生命周期 || 脚手架

生命周期 思考:什么时候可以发送初始化渲染请求?(越早越好) 什么时候可以开始操作dom?(至少dom得渲染出来) Vue生命周期: 一个Vue实例从 创建 到 销毁 的整个过程。 生命周期四个…...

数据分析六部曲?

引言 上一章我们说到了数据分析六部曲,何谓六部曲呢? 其实啊,数据分析没那么难,只要掌握了下面这六个步骤,也就是数据分析六部曲,就算你是个啥都不懂的小白,也能慢慢上手做数据分析啦。 第一…...

CppCon 2015 学习:REFLECTION TECHNIQUES IN C++

关于 Reflection(反射) 这个概念,总结一下: Reflection(反射)是什么? 反射是对类型的自我检查能力(Introspection) 可以查看类的成员变量、成员函数等信息。反射允许枚…...

DriveGPT4: Interpretable End-to-end Autonomous Driving via Large Language Model

一、研究背景与创新点 (一)现有方法的局限性 当前智驾系统面临两大核心挑战:一是长尾问题,即系统在遇到新场景时可能失效,例如突发交通状况或非常规道路环境;二是可解释性问题,传统方法无法解释智驾系统的决策过程,用户难以理解车辆行为的依据。传统语言模型(如 BERT…...

基于微信小程序的作业管理系统源码数据库文档

作业管理系统 摘 要 随着社会的发展,社会的方方面面都在利用信息化时代的优势。互联网的优势和普及使得各种系统的开发成为必需。 本文以实际运用为开发背景,运用软件工程原理和开发方法,它主要是采用java语言技术和微信小程序来完成对系统的…...

20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决

20250607在荣品的PRO-RK3566开发板的Android13系统下实现长按开机之后出现插入适配器不会自动启动的问题的解决 2025/6/7 17:20 缘起: 1、根据RK809的DATASHEET,短按开机【100ms/500ms】/长按关机,长按关机。6s/8s/10s 我在网上找到的DATASHE…...

浏览器工作原理01 [#]Chrome架构:仅仅打开了1个页面,为什么有4个进程

引用 浏览器工作原理与实践 Chrome打开一个页面需要启动多少进程?你可以点击Chrome浏览器右上角的“选项”菜单,选择“更多工具”子菜单,点击“任务管理器”,这将打开Chrome的任务管理器的窗口,如下图 和Windows任务管…...