探秘WeShop:一款全栈电商平台的开源实践

探秘WeShop:一款全栈电商平台的开源实践

weshopWeshop是基于Spring Cloud(Greenwich)开发的小程序商城系统,提供整套公共微服务服务模块,包含用户中心、商品中心、订单中心、支付中心四大基础服务模块,微信端、管理平台两大聚合服务模块,支持服务治理、监控和追踪等功能。项目地址:https://gitcode.com/gh_mirrors/we/weshop

项目简介

是一款由cjbi开发并维护的开源电商系统,旨在提供一个全面、可扩展且易于定制的解决方案,让开发者可以快速构建自己的在线商店。该项目基于微服务架构,采用现代化的技术栈,包括React前端框架、Spring Boot后端服务、Docker容器化等,为开发者带来高效且稳定的开发体验。

技术分析

前端

  • React: WeShop的前端采用了React进行开发,这是一个流行的JavaScript库,用于构建用户界面,提供了组件化的开发方式和虚拟DOM,显著提高了性能。

  • Ant Design: 为了提升UI质量,WeShop集成了Ant Design,这是一套高质量的React UI组件库,提供了丰富的界面元素和设计规范。

后端

  • Spring Boot: 后端基于Spring Boot,这是一个简化Spring应用初始搭建及开发过程的框架,提供了快速开发功能和自动化配置。

  • Docker & Kubernetes: 项目支持Docker容器化部署,便于在各种环境中快速部署和扩展。同时,通过Kubernetes进行集群管理,保证了系统的高可用性和伸缩性。

数据库与缓存

  • MySQL + Redis: WeShop使用MySQL作为主要数据库,处理事务性和持久化数据;Redis则作为缓存,提高读取效率。

微服务架构

项目采用微服务架构,将业务逻辑拆分为多个独立的服务,如商品服务、订单服务、用户服务等,每个服务都可以独立部署,有利于代码复用和团队协作。

应用场景

WeShop适用于以下场景:

  1. 创业公司:快速搭建自己的电商平台,节省时间和成本。
  2. 教育机构:供学员学习实践电商系统的开发和运维。
  3. 个性化需求:对于需要定制化电商平台的企业,WeShop提供了丰富的API接口和文档,方便二次开发。

特点

  • 模块化:清晰的模块划分,易于理解和维护。
  • 高性能:利用现代Web技术和微服务架构,确保系统的高性能和稳定性。
  • 高度可定制:开放源码,允许根据业务需求进行调整和扩展。
  • 良好的文档支持:提供详细的开发文档和示例,加速开发进度。
  • 持续更新:活跃的社区维护,不断修复问题并添加新特性。

总的来说,WeShop是一个强大的、适合多场景的电商平台项目,无论你是初学者还是经验丰富的开发者,都能从中获益。如果你正在寻找一个开箱即用或具有定制潜力的电商解决方案,WeShop绝对值得尝试!

weshopWeshop是基于Spring Cloud(Greenwich)开发的小程序商城系统,提供整套公共微服务服务模块,包含用户中心、商品中心、订单中心、支付中心四大基础服务模块,微信端、管理平台两大聚合服务模块,支持服务治理、监控和追踪等功能。项目地址:https://gitcode.com/gh_mirrors/we/weshop

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.RELEASE | [https://projects.spring.io/spring-boot/](https://projects.spring.io/spring-boot/) spring-cloud-netflix | 微服务框架 | Greenwich.RELEASE | [https://projects.spring.io/spring-cloud/](https://projects.spring.io/spring-boot/) spring-cloud-config | 分布式配置中心 | 2.1.2.RELEASE | [https://projects.spring.io/spring-cloud/](https://projects.spring.io/spring-boot/) spring-cloud-sleuth | 分布式服务跟踪 | 2.1.2.RELEASE | [https://projects.spring.io/spring-cloud/](https://projects.spring.io/spring-boot/) spring-cloud-stream | 分布式消息总线 | 2.1.2.RELEASE | [https://projects.spring.io/spring-cloud/](https://projects.spring.io/spring-boot/) MyBatis | ORM框架 | 3.2.1 | [http://www.mybatis.org/mybatis-3/zh/index.html](http://www.mybatis.org/mybatis-3/zh/index.html) Mapper | MyBatis 通用 Mapper4 | 4.0.0 | [https://gitee.com/free/Mapper](https://gitee.com/free/Mapper) PageHelper | MyBatis 分页插件 | 5.1.2 | [https://gitee.com/free/Mybatis_PageHelper](https://gitee.com/free/Mybatis_PageHelper) MyBatis Generator | 代码生成 | 1.3.5 | [http://www.mybatis.org/generator/index.html](http://www.mybatis.org/generator/index.html) Swagger2 | 在线Api文档 | 2.9.2 | [https://swagger.io/](https://swagger.io/) Thymeleaf | 模板引擎 | 3.0.9.RELEASE | [https://www.thymeleaf.org/](https://www.thymeleaf.org/) Logback | 日志组件 | 1.1.3 | [https://logback.qos.ch](https://logback.qos.ch/) Druid | 数据库连接池 | 0.2.23 | [https://github.com/alibaba/druid](https://github.com/alibaba/druid) Hibernate Validator | 后端校验框架 | 5.4.2.Final | [http://hibernate.org/validator/](http://hibernate.org/validator/) RabbitMQ | 消息中间件 | 5.4.3 | [http://www.rabbitmq.com/](http://www.rabbitmq.com/) ### 前端技术 技术 | 名称 | 版本 | 官网 ----|------|----|---- React | 前端MVC框架 | 16.5.1 | [https://reactjs.org/](https://reactjs.org/) Ant Design Pro | 开箱即用的中台前端/设计解决方案 | 2.1.0 | [https://pro.ant.design/index-cn](https://pro.ant.design/index-cn) ### 软件需求 - JDK1.8+ - MySQL5.6+ - RabbitMQ 3.6.x+ - Maven3.0+ - ZipKinServer 3.7.0+ ## 功能 ### 商城功能 - 首页 - 专题列表、专题详情 - 分类列表、分类详情 - 品牌列表、品牌详情 - 新品首发、人气推荐 - 团购 - 搜索 - 商品详情、商品评价、商品分享 - 购物车 - 下单 - 订单列表、订单详情 - 地址、收藏、足迹、意见反馈 - 客服 ### 管理平台功能 - 会员管理 - 商城管理 - 商品管理 - 推广管理 - 系统管理 ### 在线演示 。。。 ### 预览图 > 服务注册页面 ![](docs/preview/eureka.JPG) > swagger ![](docs/preview/swagger.gif) > 首页 ![](docs/preview/index.gif) > 商品页 ![](docs/preview/detail.gif) > 购物车页 ![](docs/preview/orderlist.JPG) ## 安装教程 ### 本地部署 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
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

咎旗盼Jewel

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值