项目总结说明
在线教育平台的系统逻辑如下:分为前后两个管理端,后端管理课程,讲师,课程类型元信息,用户和权限四个内容,前端显示包括用户的注册登录,课程显示,讲师显示以及课程购买播放四个模块。总体使用前端后端分离的微服务开发方式,一个微服务后端将八大业务拆分为独立模块,独立数据库,前后端管理系统分别用vue和nvxt开发,整体项目功能结构如下:
项目前后端代码结构
后端代码
common模块
- 统一请求处理
- 统一异常处理
- 统一权限认证模块springsecurity
canal模块
- 驻留连接canal,进行数据同步
GateWay网关模块
- 把所有微服务的路由封装
- 配置过滤器
service模块
- 课程模块
- OSS文件上传模块
- VOD视频上传模块,使用阿里云的视频存储模块
- 用户登录管理模块
- 微信支付模块
- 短信模块
- 统计模块
- 内容发布模块——管理前台页面显示的一些内容,比如图片
- 课程评论模块
- 权限管理模块——使用springsecurity作用户认证,然后权限认证
- 用户,分角色
- 角色,分业务
- 业务
微服务模块
- vod的微服务接口
- oss的微服务接口
- 微服务中视频删除使用了服务熔断机制。
- 统计模块和用户模块的表存在数据库同步需求,使用CanalCanal官网
- 使用springsecurity进行用户的认证和授权security就是过滤器,负责对登录进行过滤,如果需要其他路由过滤请新增配置。
- 使用了微信登录功能
- 使用了微信支付功能
- 使用了阿里oss文件存储功能
- 使用了阿里云的视频存储播放功能(静态视频播放,不涉及推流拉流操作)
前端代码
vue+nuxt开发
项目系统分析
这个项目属于B2C类的开发项目,B2C项目的特点就是需要两个端,一个是B端用来发布信息,一个是C端用来进行信息消费,与之行为相同的系统还有电商系统,外卖系统,CMS系统等。这种系统允许系统的拥有者和系统的使用者共同参与到系统的使用操作中,两端操作都产生数据记录。