# SchoolBus
## 引言
> 所涉及的技术包含:
>
> - 后端:
> - V1
> - Springboot
> - MyBatisPlus(可自定义sql语句)
> - Dubbo(RPC、负载均衡)
> - Mysql
> - Redis(监听key过期->发布订阅模式)
> - RocketMQ(最终一致性、幂等性)
> - Swagger2
> - Validated
> - Druid监测
> - Spring定时器
> - 单点登录
> - Sentinel熔断降级限流
> - 分布式唯一ID(雪花算法)
> - 持续补充...
> - V2
> - spring-cloud-alibaba
> - 前端:
> - vue
> - vuex
> - vue-router
> - axios
> - vant-ui
> - 持续补充...
## 计划
- [x] 环境搭建的文档(Java、MySQL、Redis、Zoookeeper、Dubbo和RocketMQ)
- [x] Redis绑定用户Token分析文档
- [x] 用户服务所有接口分析文档
- [x] 班车服务所有接口分析文档
- [x] 订单服务所有接口分析文档
- [x] 支付服务所有接口分析文档
- [x] 添加订单、支付和退款的业务结合消息队列
- [x] Redis的Key键到期策略结合订单自动取消业务
- [x] SQL语句调优
- [x] spring-cloud版本更新完毕
## 文档
- [环境搭建文档](/doc/环境搭建文档.md)
- [Redis绑定Token分析文档](/doc/Redis绑定Token.md)
- [用户服务所有接口分析文档](/doc/用户服务.md)
- [班车服务所有接口分析文档](/doc/班车服务.md)
- [订单服务所有接口分析文档](/doc/订单服务.md)
- [支付服务所有接口分析文档](/doc/支付服务.md)
- [添加订单、支付和退款的业务结合消息队列](/doc/RocketMQ最终一致性.md)
- [Redis的key过期事件结合自动取消订单业务](/doc/Redis的key过期事件.md)
- [SQL语句调优](/doc/业务逻辑SQL语句.md)
- [Zookeeper的bug之一](doc/上线遇到的bug.md)
## 架构图
### 架构思考
- [团队开会文档记录](./doc/meeting.md)**记录一些开会讨论的事情以及接下来要做的计划**
- [数据模型建立记录](./doc/sql.md) 逐渐建立数据库模型
- **我也是第一次做这样的项目,没有什么经验,希望大家提供一些建议和经验,我也在这条坎坷的路上不断的去尝试和总结。希望大家多多支持,🙏**
- **注意**:由于学生,没有能力买好一点的服务器,因此采用内网穿透技术将本地服务映射个人的阿里云。
- 根据本校小程序的页面:[pages](https://www.processon.com/view/link/5e4eb17ae4b0e415c2756fd5),由于疫情期间,下单模块的页面暂时无法分析。日后会补充...
- 根据仅有的页面:**班车预约主页**、**车次列表页面**、**我的车票页面**、**用户登陆注册修改页面**和待定的**订单和下单页面**
- 暂时采用的[架构技术图](https://www.processon.com/view/link/5e4eb5cde4b0a802afb2787c),后续会改善其中的所采用的技术,并且会针对每一个所涉及的技术的**使用场景**。
- 后端环境搭建,暂时没有采用分布式,数据库忽略,后续补充。[后端搭建](https://www.processon.com/view/link/5e4f7c6ce4b0d4dc87667203)
- 后端部分启动测试,包括Zookeeper、Dubbo、Tomcat、RocketMQ、RocketMQ-Console等[启动图及命令](https://www.processon.com/view/link/5e500788e4b0cc44b5a570eb)
- [全网最全frp内网穿透(ssh及web)](https://github.com/DreamCats/JavaBooks/blob/master/Tools/frp/全网最全frp内网穿透(ssh及web).md)
- [centos7安装dubbo环境](https://github.com/DreamCats/JavaBooks/blob/master/Tools/dubbo/centos7安装dubbo环境.md)
- [centos7安装rocketmq环境及配置](https://github.com/DreamCats/JavaBooks/blob/master/Tools/rocketmq/centos7安装rocketmq及配置.md)
- 为了快速搭建项目考虑采用[guns](https://gitee.com/stylefeng/guns.git)框架进行二次开发。从而将一些中间件集成进去。
- 2.24根据讨论,绝对项目中采用哪些服务.[架构图](https://www.processon.com/view/link/5e52a6e3e4b0c037b5fb1f2f)
#### 技术选型
![技术选型](./imgs/技术选型.png)
#### 架构路线图
![架构路线图](./imgs/总架构路线.png)
## 环境搭建
### 后端环境端口
![端口](./imgs/搭建后端环境.png)
### 环境启动
![环境启动](./imgs/后端环境启动.png)
### guns
**注意:在guns基础进行快速开发,使用guns的版本是:[4.2](https://gitee.com/stylefeng/guns/tree/v4.2/)**
- 我们使用的rest风格,因此上述项目中的admin和generator没有用上。
- 创建数据库,sql在你rest的db文件中
- 直接复制其项目中的rest和core就可以了,修改rest中的数据源,启动即可。
- 访问`http://localhost:8080/auth?userName=admin&password=admin`,即可看到jwt的信息了
### 调试工具
- [postwoman](https://postwoman.io/) 采用这个,没必要下载多余的插件
- [postman](谷歌插件有) 谷歌插件有,翻墙即可
### 生成db模型
- guns-rest的test目录下有生成数据库模型代码,注意输出目录的包名即可
- 安装idea的easycode插件
## 一些文档
- [sql文档](./doc/sql.md)
- [api文档](./doc/api.md):**最后采用swagger**
- [会议文档](./doc/meeting.md)
## 模块
- 用户模块
- 班车模块
- 订单模块
- 支付模块
### 服务端口
| 服务名称 | 端口 |
| :------: | :--: |
| 用户服务 | 8081 |
| 班车服务 | 8082 |
| 订单服务 | 8083 |
| 支付服务 | 8084 |
### Gateway
| 服务名称 | 端口 |
| :------: | :--: |
| GateWay | 8087 |
### Dubbo端口
| 服务名称 | 端口 |
| :------: | :---: |
| 用户服务 | 20881 |
| 班车服务 | 20882 |
| 订单服务 | 20883 |
| 支付服务 | 20884 |
### 文档树
```shell
.
├── doc
├── imgs
└── school-bus
├── guns-api
├── guns-bus
├── guns-core
├── guns-gateway
├── guns-order
├── guns-pay
└── guns-user
```
- **doc**:**记录一些文档,如会议文档等**
- **imgs**:**存放写文档的图片,方便渲染**
- **guns-api**: **存放业务逻辑服务的相关接口,以及各种Dto实体等。**
- **guns-core**: **存放一些工具类,一些公共配置文件以及常量文件等。**
- **guns-bus**: **存放班车和场次相关的model,mapper,service等文件。**
- **guns-order**: **存放订单相关的model,mapper,service等文件。**
- **guns-pay**: **存放支付相关的model,mapper,service等文件。**
- **guns-user**: **存放用户相关的model,mapper,service等文件。**
### 前端页面
#### 用户服务页面
**太模糊了-->[高清](https://www.processon.com/view/link/5e78b8e1e4b027d999c5a1b7)**
![前端用户服务页面](./imgs/前端用户服务页面.png)
#### 班车服务页面
**太模糊了-->[高清](https://www.processon.com/view/link/5e78c51be4b011fcceaacdfa)**
![前端班车服务](./imgs/前端班车服务.png)
#### 下单服务页面
**太模糊了-->[高清](https://www.processon.com/view/link/5e78c611e4b015182036f13c)**
![下单服务页面](./imgs/下单服务页面.png)
#### 支付服务页面
**太模糊了-->[高清](https://www.processon.com/view/link/5e78c6f8e4b06b852ff1959d)**
![前端支付页面](./imgs/前端支付页面.png)
#### 我的订单页面
**太模糊了-->[高清](https://www.processon.com/view/link/5e78c7aee4b011fcceaad3f1)**
![前端我的订单](./imgs/前端我的订单.png)
## 简历
### 微服务在线班车预约平台
#### 描述
该平台是针对电子科技大学班车预约平台利用最新的技术进行重构,其中主要提供沙河和清水河的班 车场次的功能、下单功能、支付功能、退款功能等,并且按照学生需求增加相应的功能,比如未支付 订单列表,未支付订单超时自动取消等。
#### 涉及技术
Java、Springboot、MyBatis、Redis、MySQL、Dubbo、RocketMQ 等。
#### 设计技术
1. 采用 Dubbo 的架构开发,整个项目分为用户、班车、订单、支付四个服务,达到易维护的效果。
2. 基�
没有合适的资源?快使用搜索试试~ 我知道了~
温馨提示
【资源介绍】 基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip 【备注】 该项目是个人毕设项目,答辩评审分达到95分,代码都经过调试测试,确保可以运行!欢迎下载使用,可用于小白学习、进阶。 该资源主要针对计算机、通信、人工智能、自动化等相关专业的学生、老师或从业者下载使用,亦可作为期末课程设计、课程大作业、毕业设计等。 项目整体具有较高的学习借鉴价值!基础能力强的可以在此基础上修改调整,以实现不同的功能。 欢迎下载,欢迎沟通,互相学习,共同进步!提供答疑!
资源推荐
资源详情
资源评论
收起资源包目录
基于springboot微服务架构的班车预约系统的设计与实现源码毕设项目.zip (422个子文件)
spring.factories 301B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 395B
.gitignore 333B
sb-bus.log.2020-04-06.0.gz 37KB
school-bus.http 3KB
school-bus.http 2KB
StrKit.java 34KB
Convert.java 26KB
CollectionKit.java 19KB
OrderServiceImpl.java 18KB
BeanKit.java 18KB
DateTimeKit.java 17KB
OrderServiceImpl.java 16KB
RedisUtils.java 16KB
BusServiceImpl.java 15KB
OrderController.java 15KB
ToolUtil.java 14KB
BusServiceImpl.java 14KB
RedisUtils.java 13KB
RedisUtils.java 13KB
RedisUtils.java 13KB
RedisUtils.java 13KB
RedisUtils.java 13KB
RedisUtils.java 13KB
RedisUtils.java 13KB
OrderController.java 13KB
UserController.java 10KB
UserController.java 9KB
PayServiceImpl.java 7KB
HexKit.java 7KB
HttpKit.java 7KB
BusController.java 7KB
DateUtil.java 7KB
AuthFilter.java 6KB
UserServiceImpl.java 6KB
DateUtil.java 6KB
UserServiceImpl.java 6KB
BusServiceTest.java 5KB
PayController.java 5KB
PayServiceImpl.java 5KB
BusController.java 5KB
ClassKit.java 5KB
AuthFilter.java 4KB
PayController.java 4KB
JwtTokenUtil.java 4KB
WafKit.java 4KB
EntityGenerator.java 4KB
EntityGenerator.java 4KB
EntityGenerator.java 4KB
WafRequestWrapper.java 3KB
EntityGenerator.java 3KB
EntityGenerator.java 3KB
JwtTokenUtil.java 3KB
JwtTokenUtil.java 3KB
PingYinUtil.java 3KB
SbCode.java 3KB
SbCode.java 3KB
SbCode.java 3KB
AuthController.java 3KB
OrderSeatsCancleListener.java 3KB
Swagger2Config.java 3KB
AuthController.java 3KB
DefaultFastjsonConfig.java 3KB
AddOrderTxListener.java 3KB
HutoolTest.java 3KB
OrderSeatsCancleListener.java 3KB
RedisConfig.java 3KB
RedisConfig.java 3KB
RedisConfig.java 3KB
RedisConfig.java 3KB
RedisConfig.java 3KB
RedisConfig.java 3KB
RedisConfig.java 3KB
PayMoneyCancleListener.java 3KB
WithSignMessageConverter.java 3KB
OrderAddCancleListener.java 2KB
OrderServiceTest.java 2KB
NumUtil.java 2KB
OrderServiceTest.java 2KB
RedisMQConsumer.java 2KB
FileUtil.java 2KB
RedisConstants.java 2KB
RedisKeyExpirationListener.java 2KB
RedisConstants.java 2KB
UserServiceTest.java 2KB
MessageProvider.java 2KB
OrderMapperTest.java 2KB
SimpleContrast.java 2KB
OrderController.java 2KB
ResponseUtil.java 2KB
ResponseUtil.java 2KB
ResponseUtil.java 2KB
共 422 条
- 1
- 2
- 3
- 4
- 5
资源评论
z同学的编程之路
- 粉丝: 1808
- 资源: 2129
上传资源 快速赚钱
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 农村信用社联合社计算机信息系统投产与变更管理办.docx
- 农村信用社联合社计算机信息系统数据管理办法.docx
- 利用SPSS作临床效度分析线上计算网站介绍-医学研究部统计谘.(医学PPT课件).ppt
- 利用Zabbix监控mysqldump定时备份数据库状态.docx
- 利用计算机解决问题的基本过程.doc
- 化工铁路通信工程总结.doc
- 北京大学网络教育软件工程作业.docx
- 医药公司(连锁店)计算机操作规程未新系统的自行按照旧制修改-新系统过制的编号加修模版.doc
- 医药公司(连锁店)计算机系统操作规程模版.doc
- 医药连锁门店计算机系统的操作和管理程序未新系统的自行按照旧制修改-新系统过制的编号加修模版.docx
资源上传下载、课程学习等过程中有任何疑问或建议,欢迎提出宝贵意见哦~我们会及时处理!
点击此处反馈
安全验证
文档复制为VIP权益,开通VIP直接复制
信息提交成功