WESHOP | 基于微服务的小程序商城系统

Weshop是基于Spring Cloud(Greenwich)开发的小程序商城系统,提供整套公共微服务服务模块,包含用户中心、商品中心、订单中心、营销中心四大基础服务模块,微信端、管理平台两大聚合服务模块,支持服务治理、监控和追踪等功能。

组织结构

weshop
├── weshop-framework -- 框架公共模块
├── weshop-eureka-server -- eureka注册中心[端口:8761]
├── weshop-config-server -- 配置中心[端口:7001]
├── weshop-api-gateway -- api网关[端口:8020]
├── weshop-hystrix-dashboard -- 断路器监控面板[端口:1301]
├── weshop-example -- 项目示例工程
|    ├── weshop-example-api -- 远程服务api接口
|    ├── weshop-example-provider -- 服务提供方[端口:9998]
|    ├── weshop-example-consumer -- 服务消费方[端口:9999]
├── weshop-user-api -- 用户中心api
├── weshop-user -- 用户中心基础服务[端口:8021]
├── weshop-goods-api -- 商品中心api
├── weshop-goods -- 商品中心基础服务[端口:8022]
├── weshop-marketing-api -- 营销中心api
├── weshop-marketing -- 营销中心基础服务[端口:8023]
├── weshop-order-api -- 订单中心api
├── weshop-order -- 订单中心基础服务[端口:8024]
├── weshop-storage-api -- 对象存储服务api
├── weshop-storage -- 对象存储服务[端口:8026]
├── weshop-wechat -- 微信端聚合服务[端口:8025]
├── weshop-wechat-ui -- 微信小程序页面
├── weshop-admin -- 管理平台聚合服务[端口:8027]
├── weshop-admin-ui -- 管理平台页面

后端技术

技术名称版本官网
Spring Boot应用框架2.1.2.RELEASEhttps://projects.spring.io/spring-boot/
spring-cloud-netflix微服务框架Greenwich.RELEASEhttps://projects.spring.io/spring-cloud/
spring-cloud-config分布式配置中心2.1.2.RELEASEhttps://projects.spring.io/spring-cloud/
spring-cloud-sleuth分布式服务跟踪2.1.2.RELEASEhttps://projects.spring.io/spring-cloud/
spring-cloud-stream分布式消息总线2.1.2.RELEASEhttps://projects.spring.io/spring-cloud/
MyBatisORM框架3.2.1http://www.mybatis.org/mybatis-3/zh/index.html
MapperMyBatis 通用 Mapper44.0.0https://gitee.com/free/Mapper
PageHelperMyBatis 分页插件5.1.2https://gitee.com/free/Mybatis_PageHelper
MyBatis Generator代码生成1.3.5http://www.mybatis.org/generator/index.html
Swagger2在线Api文档2.9.2https://swagger.io/
Thymeleaf模板引擎3.0.9.RELEASEhttps://www.thymeleaf.org/
Logback日志组件1.1.3https://logback.qos.ch
Druid数据库连接池0.2.23https://github.com/alibaba/druid
Hibernate Validator后端校验框架5.4.2.Finalhttp://hibernate.org/validator/
RabbitMQ消息中间件5.4.3http://www.rabbitmq.com/

前端技术

技术名称版本官网
React前端MVC框架16.5.1https://reactjs.org/
Ant Design Pro开箱即用的中台前端/设计解决方案2.1.0https://pro.ant.design/index-cn

软件需求

  • JDK1.8+
  • MySQL5.6+
  • RabbitMQ 3.6.x+
  • Maven3.0+
  • ZipKinServer 3.7.0+

功能

商城功能

  • 首页
  • 专题列表、专题详情
  • 分类列表、分类详情
  • 品牌列表、品牌详情
  • 新品首发、人气推荐
  • 团购
  • 搜索
  • 商品详情、商品评价、商品分享
  • 购物车
  • 下单
  • 订单列表、订单详情
  • 地址、收藏、足迹、意见反馈
  • 客服

管理平台功能

  • 会员管理
  • 商城管理
  • 商品管理
  • 推广管理
  • 系统管理

在线演示

。。。

预览图

服务注册页面

swagger

首页

商品页

购物车页

安装教程

本地部署

  1. 通过git下载源码
  2. 创建数据库weshop,数据库编码为UTF-8
  3. 执行docs/sql/data.sql文件,初始化数据
  4. 修改配置中心(weshop-config-server)的database.properties和common.properties文件,更新MySQL账号和密码,更新RabbitMQ配置,更新zipkinServer配置
  5. 运行Maven命令mvn install(注意:安装weshop-admin模块因为会运行npm install和npm build命令时间会比较长,当然也可以手动在weshop-admin模块执行npm命令)
  6. 安装weshop-admin-ui模块,运行mvn install和mvn build命令,运行命令前需要安装nodeJs
  7. 运行weshop-eureka-server、weshop-config-server、weshop-api-gateway这几个基础服务
  8. 运行weshop-user、weshop-goods、weshop-order、weshop-marketing这几个api服务
  9. 运行weshop-wechat、wechat-admin这几个endpoint
  10. http://localhost:8027/index.html访问后台管理,http://localhost:8020/weshop/swagger-ui.html访问Swagger页面
  11. 打开微信开发者工具,导入weshop-wechat-ui模块,点击编译即可,此时可以预览商城效果

生产部署

最低部署要求 1C2G x3

获取代码

https://github.com/cjbi/weshop

https://gitee.com/cjbi/weshop

Logo

权威|前沿|技术|干货|国内首个API全生命周期开发者社区

更多推荐