目前最为主流的 Web 开发技术,包括 SpringBoot、MyBatis、MongoDB、Kibina、Docker、Vue 等,都是开发者十分需要掌握的技术。有没有一个全面而又实际的项目,能把这些技术应用起来呢?一个完整的电商系统,包括管理后台和面向用户的前台,或许是进行技术学习和实战的好项目。
简介
mall,是 macrozheng 在 Github 上开源的电商系统,目前版本为 v1.0.1。
mall 项目是一套电商系统,包括前台商城系统及后台管理系统,基于SpringBoot MyBatis实现,采用Docker容器化部署。前台商城系统包含首页门户、商品推荐、商品搜索、商品展示、购物车、订单流程、会员中心、客户服务、帮助中心等模块。后台管理系统包含商品管理、订单管理、会员管理、促销管理、运营管理、内容管理、统计报表、财务管理、权限管理、设置等模块。
使用
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 部署简单,可以使用 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.com/share/22209.html