我开源的H5商城2.0版本发布,强烈推荐

h5 · 浏览次数 : 0

小编点评

## waynboot-mall 项目简介 waynboot-mall 是一个开源的 H5 商城项目,包含运营后台、H5 商城前台和后端接口三个项目。 **项目主要功能:** * 首页展示 * 商品分类 * 商品详情 * sku 详情 * 商品搜索 * 加入购物车 * 清算订单 * 支付(支付宝/微信支付/易支付) * 我的订单列表 * 商品评论 **技术架构:** * Spring Boot3.1 * Mybatis Plus * Spring Security * Vue2 * MySQL * Redis * RabbitMQ * ElasticSearch * Nginx **本地开发指南:** waynboot-mall 项目非常易于本地开发部署,根据 readme 中的本地开发指南就能成功启动项目。并且提供了 docker-compose 服务器一键部署脚本,只需要十多分钟就能在服务器上启动商城前后台所有服务。 **其他信息:** * 项目地址: * 后端接口项目: https://github.com/wayn111/waynboot-mall前端 * H5 商城项目: https://github.com/wayn111/waynboot-mobile前端运管后台项目 * H5 商城后管前端项目: https://github.com/wayn111/waynboot-admin **其他资源:** * 官方文档: * 数据库初始化脚本: db-init * 监控模块: waynboot-monitor * 帮助类: waynboot-util **总结:** waynboot-mall 是一个功能强大的 H5 商城项目,非常适合任何想要开始学习 H5 开发的开发人员。

正文

简介

🏬waynboot-mall 是一套全部开源的 H5 商城项目,包含运营后台、H5 商城前台和后端接口三个项目 。实现了一套完整的商城业务,有首页展示、商品分类、商品详情、sku 详情、商品搜索、加入购物车、结算下单、支付宝/微信支付/易支付对接、我的订单列表、商品评论等一系列功能 🔥。

商城所有项目源码全部开源,绝无套路。技术上基于 Spring Boot3.1、Mybatis Plus、Spring Security、Vue2,整合了 Mysql、Redis、RabbitMQ、ElasticSearch、Nginx 等常用中间件,根据我多年线上项目实战经验总结开发而来不断优化、完善。

对于初学者而言 waynboot-mall 项目是非常易于本地开发部署的,根据 readme 中的本地开发指南就能成功启动项目。

并且提供了 docker-compose 服务器一键部署脚本,只需要十多分钟就能在服务器上启动商城前后台所有服务。

项目地址

  • 后端接口项目 https://github.com/wayn111/waynboot-mall
  • 前端 H5 商城项目 https://github.com/wayn111/waynboot-mobile
  • 前端运管后台项目 https://github.com/wayn111/waynboot-admin

最新迭代

在 🔥waynboot-mall🔥 最新的 2.0.0 版本中,我重构了项目后端的大部分代码,将整个项目的代码可维护性提升了一个档次,并且商城前后台所有接口全部接入 apifox,供大家在线查看。此外对接第三方支付使用了策略模式,解耦支付代码逻辑。还修复了一些老旧 bug,提升商城体验,

  1. 重构项目后端代码,优化全局同一返回类代码。
  2. 商城前后台所有接口全部接入 apifox,并且请求参数、响应参数注释完善,方便大家在线查看。
  3. 对接第三方支付代码重写,使用了策略模式,提升可维护性。
  4. 重构消息模块将 message-core、message-comsumer 模块,同一合并到 message 模块下。

功能设计

功能上,waynboot-mall 项目可分为 “H5 商城前台” 和 “运管后台” 两部分。

 

功能设计
功能设计

系统架构

系统架构上,waynboot-mall 项目秉持着小而精的架构特征,经典而不失优雅,

 

系统架构
系统架构

系统设计

从系统设计来看,waynboot-mall 项目选用当前最新 Spring Boot3.1、MyBatis-Plus 开发而来,项目中其他系统组件介绍如下图:

 

系统设计
系统设计

接口文档

本项目使用 apifox 提供的在线文档功能供大家在线查看以及浏览。

文档地址:https://apifox.com/apidoc/shared-f48b11f5-6137-4722-9c70-b9c5c3e5b09b

 

后台接口文档
后台接口文档
前台接口文档
前台接口文档

本地开发

1. 克隆项目

git clone git@github.com:wayn111/waynboot-mall.git

2. 导入项目依赖

将 waynboot-mall 目录用 idea 打开,导入 maven 依赖

3. 安装依赖软件

安装 Jdk17、Mysql8.0+、Redis3.0+、RabbitMQ3.0+(含延迟消息插件)、ElasticSearch7.0+(含分词、拼英插件)到本地

4. 导入 sql 文件

在项目根目录下,找到 wayn_shop_*.sql 文件,新建 mysql 数据库 wayn_shop,导入其中

5. 项目图片部署

下载商城图片压缩包,将 zip 中所有图片解压缩部署到 D:/waynshop/webp 目录下,如下

 

6. 修改连接配置

修改 Mysql、Redis、RabbitMQ、Elasticsearch 连接配置,修改application-dev.yml以及application.yml文件中数据连接配置相关信息

7. 启动项目

  • 后台 api: 进入 waynboot-admin-api 子项目,找到 AdminApplication 文件,右键run AdminApplication,启动后台项目
  • h5 商城 api: 进入 waynboot-mobile-api 子项目,找到 MobileApplication 文件,右键run MobileApplication,启动 h5 商城项目
  • 消费者 api: 进入 waynboot-message-consumer 子项目,找到 MessageApplication 文件,右键run MessageApplication,启动消费者项目

8. 启动商城 H5 项目

请查看商城 H5 前端项目 https://github.com/wayn111/waynboot-mobile ,readme 文档,进行本地启动

9. 启动商城后管项目

请查看商城后管前端项目 https://github.com/wayn111/waynboot-admin ,readme 文档,进行本地启动

文件目录结构说明

代码语言:javascript
复制
|-- db-init                           // 数据库初始化脚本
|-- waynboot-monitor                  // 监控模块
|-- waynboot-util                     // 帮助模块,包含项目基础帮助类
|   |-- constant                      // 基础常量
|   |-- converter                     // 基础转换类
|   |-- enums                         // 基础枚举
|   |-- exception                     // 基础异常
|   |-- util                          // 基础帮助类
|-- waynboot-admin-api                // 运营后台api模块,提供后台项目api接口
|   |-- controller                    // 后台接口
|   |-- framework                     // 后台配置相关
|-- waynboot-common                   // 通用模块,包含项目核心基础类
|   |-- annotation                    // 通用注解
|   |-- base                          // 通用注解
|   |-- core                          // 核心配置,包含项目entity、mapper、service、vo定义
|   |-- config                        // 通用配置
|   |-- design                        // 设计模式实现
|   |-- dto                           // dto定义
|   |-- request                       // 接口请求定义
|   |-- reponse                       // 接口响应定义
|   |-- task                          // 任务相关
|   |-- util                          // 通用帮助类
|   |-- wapper                        // 通用包装类,包含易支付代码
|-- waynboot-data                     // 数据模块,通用中间件数据访问
|   |-- waynboot-data-redis           // redis访问配置模块
|   |-- waynboot-data-elastic         // elastic访问配置模块
|-- waynboot-message                  // 消息模块,rabbitmq操作
|   |-- waynboot-message-core         // rabbitmq消息配置,定义队列、交换机、绑定队列到交换机
|   |-- waynboot-message-consumer     // rabbitmq消费者,消费消息
|-- waynboot-mobile-api               // H5商城api模块,提供H5商城api接口
|   |-- controller                    // 前台接口
|   |-- framework                     // 前台配置相关
|-- pom.xml                           // maven父项目依赖,定义子项目依赖版本
|-- ...

演示 GIF

 

首页展示
首页展示
搜素下单
搜素下单

参与项目

该项目以 MIT 协议开放源码,意味着你能够自由地使用、复制甚至商业化。我鼓励任何有兴趣的朋友参与进来,共同进行项目的维护和改进。无论是修复 bug,改进代码还是添加新功能,都是我所期待的。

最后聊两句

waynboot-mall 项目发展至今,希望给各位初中级开发者、大学生作为一个接触线上商城实战项目的参考标杆,项目的模块划分比较合理,代码规范也有所注重,接口文档齐全,所以是非常值得推荐给大家使用参考的。

大家可以关注我以及 waynboot-mall 这个项目,后续商城版本升级迭代最新消息都会第一时间通知大家。

GitHub 地址:https://github.com/wayn111/waynboot-mall

关注我每周分享技术干货、开源项目、实战经验、国外优质文章翻译等,您的关注将是我的更新动力!

与我开源的H5商城2.0版本发布,强烈推荐相似的内容:

我开源的H5商城2.0版本发布,强烈推荐

简介 waynboot-mall 是一套全部开源的 H5 商城项目,包含运营后台、H5 商城前台和后端接口三个项目 。实现了一套完整的商城业务,有首页展示、商品分类、商品详情、sku 详情、商品搜索、加入购物车、结算下单、支付宝/微信支付/易支付对接、我的订单列表、商品评论等一系列功能 。

【iOS逆向与安全】iOS远程大师:通过H5后台远程查看和协助iPhone设备

在移动设备测试和远程协助的过程中,能够远程查看和协助iPhone设备是一项非常实用的功能。为了解决这一需求,我开发了一款名为**iOS远程大师**的产品,允许用户通过H5后台界面查看和协助越狱或非越狱的iPhone设备。本文将详细介绍iOS远程大师的开发过程和技术实现。

项目完成小结 - Django-React-Docker-Swag部署配置

前言 最近有个项目到一段落,做个小结记录。 内容可能会多次补充,在博客上实时更新哈~ 如果是在公众号阅读这篇文章,可以点击「查看原文」访问最新版本~ 这个项目是前后端分离,后端为了快,依然用我的DjangoStarter框架。前端一开始是小程序,后面突然换成公众号H5的形式,还好我用了Taro,大差

1.5万字总结 Redis 常见面试题&知识点

以下内容来源于于我开源的 JavaGuide (Java学习&&面试指南,Github 130k star,370人共同参与爱完善), 万字总结,质量有保障! 这篇文章最早写于2019年,经过不断完善,内容也更全面了,里面的很多内容也被很多人参考借鉴。 Redis 基础 什么是 Redis? Red

[转帖]1.5万字总结 Redis 常见面试题&知识点

https://segmentfault.com/a/1190000043302892 以下内容来源于于我开源的 JavaGuide (Java学习&&面试指南,Github 130k star,370人共同参与爱完善), 万字总结,质量有保障! 这篇文章最早写于2019年,经过不断完善,内容也更全

7 款殿堂级的开源 CMS(内容管理系统)

最近,有读者留言让我推荐开源 CMS。我本想直接回复 WordPress,但是转念一想我玩 WordPress 是 2010 年左右的事情了,都过去十年了,它会不会有些过时呢?有没有新的、更好玩的开源 CMS 呢? 开源项目这玩意儿,一想心就躁,看见手就痒。借着这股劲儿,今天我就给大家带来 7 款称

在虚拟机VMware上安装OpenKylin开源操作系统

# 在虚拟机(VMware)上安装OpenKylin开源操作系统 今天我们一下学习下开放麒麟系统的安装。也是我的开源项目在OpenKylin上运行的实践。 希望通过该项目了解和学习Avalonia开发的朋友可以在我的github上拉取代码,同时希望大家多多点点star。 https://github

Avalonia 使用EFCore调用SQLite实现Singleton全局注册

# Avalonia 使用EFCore调用SQLite实现Singleton全局注册 ![image-20230720204001797](https://www.raokun.top/upload/2023/07/image-20230720204001797.png) 本篇博客是我的开源项目[T

10 款开源的在线游戏,点开就能玩的那种

我早前写过一篇介绍 GitHub 上开源游戏的文章:《误入 GitHub 游戏区,结果意外地收获颇丰》,文中介绍了 5 款有趣、好玩的开源游戏,虽然当时那篇文章收获了广大读者的肯定,但也有读者反馈:“这些游戏看着是真有意思,但是不会安装,玩不上干着急啊!” 读者的需求就是我前进的方向,与其“讲道理”

实现Quartz.NET的HTTP作业调度

Quartz.NET作为一个开源的作业调度库,广泛应用于.NET应用程序中,以实现复杂的定时任务,本次记录利用Quartz.NET实现HTTP作业调度,通过自定义HTTP作业,实现对外部API的定时调用和如何管理这些作业,包括创建、修改、暂停、恢复和删除作业。 1.首先定义了一个HttpJob类,该