推荐一款优秀电商开源项目

打印 上一主题 下一主题

主题 1759|帖子 1759|积分 5277

简介

本文给大家推荐博主自己开源的电商项目newbee-mall-pro。在newbee-mall项目的基础上搭建而来, 使用 mybatis-plus 作为 orm 层框架,并添加了一系列高级功能以及代码优化,特性如下:

  • 商城首页 【为你推荐】 栏目添加协同过滤算法。按照 UserCF 基于用户的协同过滤、ItemCF 基于物品的协同过滤,实现了两种不同的推荐逻辑。
  • RedisSearch:支持中文分词搜索,支持商品名称、简介、标签作为搜索项,以及新品、价格排序。
RediSearch 是一个源码可用的 Redis 模块,可以对 Redis 进行查询、二级索引和全文搜索。这些功能支持在文本查询之上进行多字段查询、聚合、精确短语匹配、数字过滤、地理过滤和矢量相似性语义搜索。

  • 秒杀专区:支持功能完备,生产可用的高级秒杀功能。
  • 优惠卷专区:支持优惠卷后台配置、用户注册赠卷、下单页面优惠卷使用等功能。
  • 商城首页支持使用滑块验证码登录。
  • 支付时集成了支付宝沙箱支付,可以在开发环境体验支付宝支付效果。
  • 集成 Pace 页面,添加网页进度条,页面跳转美化。
  • 添加 Spring 事件监听机制,异步解耦下单流程。
  • 集成spring-session-redis,支持分布式部署。
  • 集成mybatis-xmlreload,支持xml文件热加载。
newbee-mall-pro 项目地址:
一、开发部署
  1. # 1. 克隆项目
  2. git clone git@github.com:wayn111/newbee-mall-pro.git
  3. # 2. 导入项目依赖
  4. 将newbee-mall-pro目录用idea打开,导入maven依赖
  5. # 3. 安装Mysql8.0+、Redis3.0+(RediSearch2.0+)、Jdk8+、Maven3.5+
  6. docker安装RediSearch
  7. docker run -d --name redis-stack-server -p 6379:6379 redis/redis-stack-server:lates
  8. # 4. 导入sql文件
  9. 在项目根目录下sql文件夹下,找到`newbee_mall_db_包含秒杀and优惠卷.sql`文件,新建mysql数据库newbee_mall_db,导入其中
  10. # 5. 解压项目图片
  11. 将项目根目录下upload.zip文件加压缩到D盘upload文件夹中,eg:D:\\upload
  12. # 6. 修改Mysql、Redis连接配置
  13. 修改`application-dev.yml`文件中数据连接配置相关信息
  14. # 7. 启动项目
  15. 找到NewBeeMallApplication文件,右键`run AdminApplication`,启动项目
  16. # 8. 访问
  17. 打开浏览器输入:http://localhost:84/newbeemall
复制代码
二、更新日志

2023年4月08日更新日志

newbee-mall-pro V2.4.2发布
更新内容:

  • 商城首页为你推荐栏目添加协同过滤算法。按照UserCF基于用户的协同过滤、ItemCF基于物品的协同过滤。
    实现了两种不同的推荐逻辑。

    • UserCF:基于用户的协同过滤。当一个用户A需要个性化推荐的时候,我们可以先找到和他有相似兴趣的其他用户,然后把那些用户喜欢的,而用户A没有听说过的物品推荐给A。
      具体代码在 ltd.newbee.mall.recommend.core.UserCF 中。
    • itemCF:基于物品的协同过滤。预先根据所以用户的历史偏好数据计算物品之间的相似度,然后把与用户喜欢的物品相类似的物品推荐给用户。
      具体代码在 ltd.newbee.mall.recommend.core.ItemCF 中。

2023年3月27日更新日志

newbee-mall-pro V2.4.1发布
更新内容:

  • 集成mybatis-xmlreload,支持xml文件热加载
  • 代码优化,通过阿里巴巴代码规范检测
  • 升级部分依赖至最新
2023年1月2日更新日志

newbee-mall-pro V2.4.0发布
更新内容:

  • Springboot版本升级至3.0.2
  • Mybatis plus升级至3.5.3.1支持Springboot3.0
2022年11月17日更新日志

newbee-mall-pro V2.3.0发布
更新内容:

  • Springboot版本升级至2.7.5,jdk升级至17
  • 使用switch表达式语法扩展,优化switch语句
  • 使用instanceof类型匹配语法简化,直接给对象赋值
  • 使用文本块优化现有lua脚本显示
  • 添加@Serial注解表示序列化字段和方法
  • 代码优化,删除无用导入
  • 升级项目依赖
bug修复:

  • 修复优惠券使用bug
2022年9月04日更新日志

newbee-mall-pro V2.2.0发布
更新内容:

  • 后台添加商品标签集成select2,支持商品标签不存在即创建
  • 添加Spring事件监听机制,解耦下单流程
  • 集成Pace,美化商城页面
  • 集成RedisSearch中文分词搜索
  • 集成tianai-captcha滑块验证码
  • 优化商城搜索页面逻辑
  • 升级项目依赖
  • 添加docker-compose部署
bug修复:

  • 修复商城搜索bug
  • 修复优惠券使用bug
  • 修复定时任务bug
2022年5月08日更新日志

商城RediSearch支持商品上下架搜索
2022年4月23日更新日志

商城登录页面添加滑块验证码登录,优化登录体验

  • 集成tianai-captcha滑块验证码,支持后端验证码校验

2022年4月12日更新日志

使用Spring事件监听机制,解耦下单流程,集成Pace美化商城进度条

  • 添加Spring事件监听机制,解耦下单流程,将下单流程拆解为订单校验、生成订单号、发送事件异步保存订单流程
  • 集成Pace页面,添加网页进度条,美化商城页面
2022年3月27日更新日志

商城添加RedisSearch搜索,支持中文分词搜索,推荐、新品、价格排序搜索

  • 添加RedisSearch测试用例
  • 后台添加RedisSearch同步按钮
  • 商城支持RedisSearch中文分词搜索
2022年3月21日更新日志

升级版本号至2.1.3,是一个功能完善版本

  • 支持分布式部署
  • 升级spring版本至2.6.4
  • 升级mybatis-plus至3.5.1
  • 添加Dockerfile文件支持容器部署
2021年5月30日更新日志

升级版本号至2.1.2,是一个代码优化版本

  • 秒杀专区购物车数量显示错误bug修复
  • 支付宝沙箱支付bug修复,显示沙箱账号
  • 将默认编辑器替换为froala editor

  • 添加站点演示模式,通过拦截器对不允许操作的后台路径进行错误提示处理

  • 升级pom文件部分依赖
2021年1月14日秒杀接口升级

本次升级主要在原有秒杀功能的基础上进行了完善,秒杀优化如下:

  • 秒杀页面静态化
  • 添加了秒杀接口限流,基于springAOP实现
  • 添加了秒杀接口防止重复提交,基于spring拦截器实现
  • 使用令牌桶算法过滤用户请求
  • 使用redis-set数据结构判断用户是否买过秒杀商品
  • 使用redis配合lua脚本进行原子自减,判断商品缓存库存是否大于0
  • 获取商品缓存,判断秒杀商品是否再有效期内
  • 执行存储过程(减库存 + 记录购买行为)
  • 使用redis-set数据结构记录购买过的用户
  • 返回用户秒杀成功VO
  • 下单后启用秒杀订单5分钟未支付超期任务
  • 订单5分钟内未支付则自动取消订单并回退库存
三、秒杀专区

秒杀专区为用户展示了后台设置的秒杀商品,在秒杀有效期内可以进行商品秒杀操作. 秒杀接口使用了接口限流、Redis以及储存过程提高秒杀操作的tps




四、优惠劵领取

优惠劵页面为用户展示了后台设置的可用优惠劵,在下单时可以使用优惠卷减少下单金额



五、在线截图

商城首页 商品搜索 购物车 订单结算 订单列表 支付页面 分类管理 会员管理 优惠劵管理 商品管理 秒杀管理 订单管理 总结

欢迎大家参与使用newbee-mall-pro项目,使用中遇到问题欢迎大家提出。我都会一一查看并回复。再附newbee-mall-pro项目地址:

最后再说一句,感兴趣的朋友可以点赞加关注,你的支持将是我更新动力
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!
继续阅读请点击广告

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

金歌

论坛元老
这个人很懒什么都没写!
快速回复 返回顶部 返回列表