简介
waynboot-mall 是一套全部开源的微商城,包含三个项目:运营后台、H5 商城和后端接口。实现了一套完整的商城业务,有首页展示、商品分类、商品详情、sku 详情、商品搜索、加入购物车、结算下单、商品评论等一系列功能。商城前后台项目源码全部开源,绝无套路。技术上基于最新得 Springboot3.1,整合了 Redis、RabbitMQ、ElasticSearch 等常用中间件,根据博主多年线上项目实战经验总结开发而来不断优化、完善。
对于初学者而言 waynboot-mall 项目是非常易于部署的,根据readme中的开发部署指南就能成功启动项目。对于非技术人员,本项目也提供了一键安装脚本,能在五分钟内启动商城前后台所有服务。
学习完这个项目,相信能够帮助广大开发者更好的参与实际项目开发、理解前后端对接、常用业务逻辑如何设计实现、根据踩坑指南轻松解决线上项目疑难问题。
源码地址:
- H5商城项目:github.com/wayn111/way…
- 运营后台项目:github.com/wayn111/way…
- 后端接口项目:github.com/wayn111/way…
在线体验
前台演示地址:http://121.4.124.33/mall
- 使用邮箱注册一个账号
- 然后根据手机号登陆即可
功能设计
功能上,waynboot-mall 项目可分为 “H5商城前台” 和 “运管后台” 两部分。详细功能如下图:
系统设计
从系统设计来看,waynboot-mall项目选用当前最新Springboot3.1 + JDK17开发而来,ORM 框架选用 MyBatis-Plus,项目中其他系统组件介绍如下图:
技术选型
系统组件 | 采用技术 | 官网 | |
1 | 基础框架 | Spring Boot | spring.io/projects/sp… |
2 | ORM 框架 | MyBatis-Plus | baomidou.com |
3 | 工具类库 | hutool | hutool.cn |
4 | 流量网关 | Nginx | nginx.org/en/index.ht… |
5 | 访问控制 | Spring Security | spring.io/projects/sp… |
6 | 日志记录 | Nginx | logback.qos.ch/ |
7 | 验证码 | easy-captcha | github.com/ele-admin/E… |
8 | 数据库连接池 | HikariCP | github.com/brettwooldr… |
9 | Redis 客户端 | Lettuce | lettuce.io |
10 | Elasticsearch 客户端 | Java High Level REST Client | www.elastic.co/guide/en/el… |
11 | 消息队列 | RabbitMQ | www.rabbitmq.com |
12 | 定时任务 | xxl-job | www.xuxueli.com/xxl-job |
13 | 服务监控 | spring-boot-admin | docs.spring-boot-admin.com/current/get… |
演示图
商城首页 | 更多商品 |
商城搜索 | 金刚位跳转 |
商品详情 | 商品分类 |
商品sku选择 | 购物车查看 |
确认下单 | 选择支付方式 |
下单成功 | 订单列表 |
商品评论 | 我的页面 |
登录 | 注册 |
文件目录
lua
复制代码
|-- db-init // 数据库初始化脚本 |-- waynboot-monitor // 监控模块 |-- waynboot-admin-api // 运营后台api模块,提供后台项目api接口 | |-- controller // 后台接口 | |-- framework // 后台配置相关 |-- waynboot-common // 通用模块,包含项目核心基础类 | |-- annotation | |-- base | |-- config | |-- constant | |-- core | |-- enums | |-- exception | |-- task | |-- util |-- waynboot-data // 数据模块,通用中间件数据访问 | |-- waynboot-data-redis // redis访问配置模块 | |-- waynboot-data-elastic // elastic访问配置模块 |-- waynboot-message-consumer // 消费者模块,处理订单消息和邮件消息 |-- waynboot-message-core // 消费者核心模块,队列、交换机配置 |-- waynboot-mobile-api // H5商城api模块,提供H5商城api接口 | |-- controller // 前台接口 | |-- framework // 前台配置相关 |-- pom.xml // maven父项目依赖,定义子项目依赖版本 |-- ...
最后
感谢大家阅读,如果大家对于这个 waynboot-mall 项目有任何问题,可以关注博主私信我。也希望大家能点个Star,帮助博主让更多的人知道这个项目。