IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> 大数据 -> 【NoSQL实战】基于NoSQL的购物分析与推荐系统 | 初学者课设 -> 正文阅读

[大数据]【NoSQL实战】基于NoSQL的购物分析与推荐系统 | 初学者课设

一、项目简介


团队成员

@https://gitee.com/gitJYS 负责项目前期的数据库设计、需求分析。

@https://gitee.com/wulipabu 负责NoSQL核心模块推荐算法的设计。

@https://gitee.com/ccuni 课设项目负责人,负责推动项目进展、测试与维护。

项目地址:Gitee :https://gitee.com/ccuni/nosql-shop-analysis-recommend-system

该项目是我们作为大三学生的一次课程设计作品,总体来说比较简单,没有部署上线,适合初学者入门。

项目所用技术栈:

  • 语言:Java

  • 版本:JDK8

  • 前端:JQuery.js 、Bootstrap5 、Echarts

  • 后端:SpringBoot、MyBatis-Plus

  • 数据存储:MySQL、Redis、MongoDB、Neo4J、阿里云 OSS

  • 数据来源:部分京东购物商城 + Java代码随机生成

  • 工具:Navicat、IDEA

随着计算机网络广泛的普及,网上支付系统的逐步完善,越来越多的人慢慢的习惯了在网上购买自己想要的商品,渐渐的就习惯了点击鼠标来下订单,通过物流公司来送货上门的便捷购物方式。传统的购物方式逐渐的被这个网上便捷的购物方式所冲击。 网上超市具有强大的功能,可以在线展示商品,在线购买商品,在线网店的管理等等。现

在的网络是可以跨地域的,网上超市借助这一特点突破了传统超市空间的局限性,全国各地的顾客都可以在自己的家里面通过网上在同一个网上超市来购买自己想要的商品,从而增加了超市的客户数量。 网上超市是一个在线商场,它的核心是提供商品展示及订购的网络购物服务来宣传自己的商店的商品并将商品展示给客户,让客户通过互联网就能自由的选购自己想要的商品。

本文正是顺应时代的潮流,设计了一个基于WEB的网上超市管理系统,以满足网络购物的需要。 本系统运用面向对象化技术,需求分析与设计。利用Spring Boot框架整合MongoDB,Redis,Neo4j这三种No SQL数据库以及关系数据库MySQL,实现商品评论,商品推荐等功能,以及对数据进行可视化。

系统结构图

在这里插入图片描述

项目技术栈
在这里插入图片描述

系统访问示意图
在这里插入图片描述

二、项目效果


2.1 本地部署运行项目

在这里插入图片描述

2.2 Redis应用之系统的注册与登录 有效的邮箱验证

在这里插入图片描述

2.3 MySQL应用之商品的分页以及模糊查询

在这里插入图片描述

2.4 Neo4j应用之查看商品详情,推荐商品的跳转

在这里插入图片描述

2.5 MongoDB应用之分页显示商品评论以及删除评论

在这里插入图片描述

2.6 个人中心查看评论

在这里插入图片描述

2.7 综合运用之后台大屏数据展示

在这里插入图片描述

三、系统设计


3.1 商品推荐

商品推荐的逻辑如下:首先根据该商品,去获取购买过该商品的用户,再通过再获取这些用户所购买过的商品的数量,从而获取一系列推荐商品以及这些商品的购买量,并对结果进行排序,获取前三个推荐给用户。

在这里插入图片描述

3.2 评价商品

用户评论一件商品后,向MongoDB中插入评论信息,并在Neo4j中创建评论节点,以及建立用户与商品,商品与评论的关系。
在这里插入图片描述

3.3 删除评论

用户只能删除自己的评论,删除评论的时候,需要先删除Neo4j中的与该评论有关的关系,然后在删除该评论节点以及删除MongoDB中该评论的信息。(在本次课设中,我们忽略了Neo4j的删除,为了保证数据的一致性,关于评论的操作,我们只有在插入的时候才将节点插入到Neo4j)
在这里插入图片描述

3.4 查看评论

这里的评论指的是当前用户发表过的评论,用户查看评论,即从MongoDB或者neo4j中读取该用户id所对应的评论信息,因为MongoDB以及neo4j均有相关的数据。不过由于读取MongoDB的数据更为方便且详细,因此我们选择从MongoDB中获取数据。

3.5 数据可视化

通过Ajax,Controller层与数据库数据进行交互,并用Echarts在Dash Board展示

四、业务逻辑数据库命令行实现


4.1 商品推荐

在这里插入图片描述

4.2 评价商品

在这里插入图片描述

4.3 删除评论

在这里插入图片描述

4.4 查看评论

在这里插入图片描述

4.5 Dashboard后台大屏显示相关的MongoBD语句

1. 商品评价星级占比
在这里插入图片描述

2.不同商品的2022年评论数统计
在这里插入图片描述
3.2022评论量统计
在这里插入图片描述
4. 最受欢迎商品Top3
在这里插入图片描述

五、关键代码实现


由于代码量较大,通过Spring Boot整合数据库实现功能,在controller层,DAO层,service层的实现相似,这里以Dashboard为主,Dashboard主要展示的统计图形有:

1)评价不同星级的占比饼图;
2)用户注册地的全国分布图;
3)2022年评论量统计折线图;
4)不同商品类型的评论数统计条形图;
5)最近评论的滚动显示;
6)2022年最受欢迎的商品 Top3。

以下代码来自不同的文件(带有标注),都是与对应需求相关的具体实现。

在这里插入图片描述
Controller 控制层主要负责前端发送过来的AJAX请求,基于MVC架构,我们在Controller层需要根据前端的请求的地址,参数(可能没有)来调用Service业务层进行处理,返回一个RestResponse对象,该对象是我们自定义的Java对象,用于前后端交互,在返回给前端后,它会被解析为 [ code : { … } , msg: { … } , data: { …} ] 的 JSON 格式,分别表示返回的状态、消息和数据。

Service 业务逻辑层是最复杂的一层,因为要处理核心的业务逻辑,它需要根据Controller层的需求返回相应的数据,同时要调用DAO层的方法来进行数据库和Java对象数据之间的转换。

在DAO层,我们直接通过JAVA代码实现对 MySQL、MongoDB、Neo4J 和 Redis的CURD的操作,这里其实运用了市面上比较常用的Jar包,我们是通过Maven引入的Jar包,所以在DAO层只需要根据对应数据库Jar包提供的一些接口、接口实现类,通过调用里面的方法来实现CRUD,从而实现我们的需求。

前端View页面的渲染主要是采用ecahrts.js库官方提供的示例,如下图:
在这里插入图片描述
我们选择几张官方的示例,然后通过 JQuery 提交 AJAX请求到后端的controller层,返回 JSON格式的数据到前端,通过JS代码调用官方提供的方法完成页面的渲染,再根据数据动态渲染另一部分HTML页面,比如滚动显示最近商品,最火商品TOP3等,各个模块的关键代码如下:

5.1 评价不同星级的占比饼图

在这里插入图片描述
相关的前端代码:
在这里插入图片描述
页面内容会通过 echarts.js 渲染成一张图:
在这里插入图片描述

5.2 用户注册地的全国分布图

在这里插入图片描述
前端相关代码:
在这里插入图片描述

5.3 2022年评论量统计折线图

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述
前端相关页面的代码
在这里插入图片描述
在这里插入图片描述

5.4 不同商品类型的评论数统计条形图

在这里插入图片描述在这里插入图片描述
前端相关代码:
在这里插入图片描述
在这里插入图片描述

5.5 最近评论的滚动显示

在这里插入图片描述
在这里插入图片描述
前端相关的页面:
在这里插入图片描述
在这里插入图片描述

5.6 2022年最受欢迎的商品 TOP3

在这里插入图片描述
在这里插入图片描述
前端相关代码:
在这里插入图片描述
在这里插入图片描述

  大数据 最新文章
实现Kafka至少消费一次
亚马逊云科技:还在苦于ETL?Zero ETL的时代
初探MapReduce
【SpringBoot框架篇】32.基于注解+redis实现
Elasticsearch:如何减少 Elasticsearch 集
Go redis操作
Redis面试题
专题五 Redis高并发场景
基于GBase8s和Calcite的多数据源查询
Redis——底层数据结构原理
上一篇文章      下一篇文章      查看所有文章
加:2022-06-14 22:40:05  更:2022-06-14 22:43:36 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年5日历 -2024/5/19 22:28:12-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码