| |
|
开发:
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 该项目是我们作为大三学生的一次课程设计作品,总体来说比较简单,没有部署上线,适合初学者入门。 项目所用技术栈:
随着计算机网络广泛的普及,网上支付系统的逐步完善,越来越多的人慢慢的习惯了在网上购买自己想要的商品,渐渐的就习惯了点击鼠标来下订单,通过物流公司来送货上门的便捷购物方式。传统的购物方式逐渐的被这个网上便捷的购物方式所冲击。 网上超市具有强大的功能,可以在线展示商品,在线购买商品,在线网店的管理等等。现 在的网络是可以跨地域的,网上超市借助这一特点突破了传统超市空间的局限性,全国各地的顾客都可以在自己的家里面通过网上在同一个网上超市来购买自己想要的商品,从而增加了超市的客户数量。 网上超市是一个在线商场,它的核心是提供商品展示及订购的网络购物服务来宣传自己的商店的商品并将商品展示给客户,让客户通过互联网就能自由的选购自己想要的商品。 本文正是顺应时代的潮流,设计了一个基于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年评论数统计 五、关键代码实现由于代码量较大,通过Spring Boot整合数据库实现功能,在controller层,DAO层,service层的实现相似,这里以Dashboard为主,Dashboard主要展示的统计图形有: 1)评价不同星级的占比饼图; 以下代码来自不同的文件(带有标注),都是与对应需求相关的具体实现。
Service 业务逻辑层是最复杂的一层,因为要处理核心的业务逻辑,它需要根据Controller层的需求返回相应的数据,同时要调用DAO层的方法来进行数据库和Java对象数据之间的转换。 在DAO层,我们直接通过JAVA代码实现对 MySQL、MongoDB、Neo4J 和 Redis的CURD的操作,这里其实运用了市面上比较常用的Jar包,我们是通过Maven引入的Jar包,所以在DAO层只需要根据对应数据库Jar包提供的一些接口、接口实现类,通过调用里面的方法来实现CRUD,从而实现我们的需求。 前端View页面的渲染主要是采用ecahrts.js库官方提供的示例,如下图: 5.1 评价不同星级的占比饼图
5.2 用户注册地的全国分布图
5.3 2022年评论量统计折线图
5.4 不同商品类型的评论数统计条形图
5.5 最近评论的滚动显示
5.6 2022年最受欢迎的商品 TOP3
|
|
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2025年1日历 | -2025/1/16 3:44:42- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |