Mall:用SpringBoot实现一个电商系统

目前最为主流的 Web 开发技术,包括 SpringBoot、MyBatis、MongoDB、Kibina、Docker、Vue 等,都是开发者十分需要掌握的技术。有没有一个全面而又实际的项目,能把这些技术应用起来呢?一个完整的电商系统,包括管理后台和面向用户的前台,或许是进行技术学习和实战的好项目。

简介

mall,是 macrozheng 在 Github 上开源的电商系统,目前版本为 v1.0.1。

mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。

Mall - 用 SpringBoot 实现一个电商系统

mall

使用

Mall 实现了一个管理后台,进行商品、订单、营销等的管理:

Mall - 用 SpringBoot 实现一个电商系统

Mall

还实现了一个面向用户的商城前台,支持商品购买、推荐、签到等功能:

Mall - 用 SpringBoot 实现一个电商系统

Mall

Mall 项目的接口如下:

mall
├── mall-common -- 工具类及通用代码
├── mall-mbg -- MyBatisGenerator生成的数据库操作代码
├── mall-security -- SpringSecurity封装公用模块
├── mall-admin -- 后台商城管理系统接口
├── mall-search -- 基于Elasticsearch的商品搜索系统
├── mall-portal -- 前台商城系统接口
└── mall-demo -- 框架搭建时的测试代码

Mall 使用了主流的 Web 技术,后端使用:

  • SpringBoot 容器 MVC框架
  • SpringSecurity 认证和授权框架
  • MyBatis ORM框架
  • MyBatisGenerator 数据层代码生成
  • Elasticsearch 搜索引擎
  • RabbitMQ 消息队列
  • Redis 分布式缓存
  • MongoDB NoSql数据库
  • LogStash 日志收集工具
  • Kibina 日志可视化查看工具
  • Nginx 静态资源服务器
  • Docker 应用容器引擎
  • Jenkins 自动化部署工具
  • Druid 数据库连接池
  • OSS 对象存储
  • MinIO 对象存储
  • JWT JWT登录支持
  • Lombok 简化对象封装工具
  • Hutool Java工具类库
  • PageHelper MyBatis物理分页插件
  • Swagger-UI 文档生成工具
  • Hibernator-Validator 验证框架

前端使用

  • Vue前端框架
  • Vue-router路由框架
  • Vuex全局状态管理框架
  • Element前端UI框架
  • Axios前端HTTP框架
  • v-charts基于Echarts的图表框架
  • Js-cookiecookie管理工具
  • nprogress进度条控件

Mall 的系统架构图如下:

Mall - 用 SpringBoot 实现一个电商系统

Mall

业务架构图如下:

Mall - 用 SpringBoot 实现一个电商系统

Mall

Mall 部署简单,可以使用 Docker 容器部署。部署 mall-admin:

docker run -p 8080:8080 --name mall-admin \
--link mysql:db \
--link redis:redis \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/admin/logs:/var/logs \
-d mall/mall-admin:1.0-SNAPSHOT

部署 mall-search:

docker run -p 8081:8081 --name mall-search \
--link elasticsearch:es \
--link mysql:db \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/search/logs:/var/logs \
-d mall/mall-search:1.0-SNAPSHOT

部署 mall-port:

docker run -p 8085:8085 --name mall-portal \
--link mysql:db \
--link redis:redis \
--link mongo:mongo \
--link rabbitmq:rabbit \
-v /etc/localtime:/etc/localtime \
-v /mydata/app/portal/logs:/var/logs \
-d mall/mall-portal:1.0-SNAPSHOT

总结

Mall 是一个完整电商系统,使用了主流的 Web 开发技术,提供了逐步分解的开发教程和详尽的系统文档,为开发者提供了一个模范的商城项目样例,使得学习使用。

内容出处:,

声明:本网站所收集的部分公开资料来源于互联网,转载的目的在于传递更多信息及用于网络分享,并不代表本站赞同其观点和对其真实性负责,也不构成任何其他建议。如果您发现网站上有侵犯您的知识产权的作品,请与我们取得联系,我们会及时修改或删除。文章链接:http://www.yixao.net/share/22209.html

发表评论

登录后才能评论