项目概览
项目用的B2C模式,有前台管理系统和后台管理系统
后台管理系统功能
-
登录功能(集成SpringSecurity框架)
-
权限管理功能
(1) 菜单管理:列表,添加,修改,删除 (2) 角色管理:列表,添加,修改,删除,为角色分配菜单 (3) 用户管理:列表,添加,修改,删除,为用户分配角色 (4) 权限管理表的关系
-
讲师管理功能
(1) 条件查询分页列表,添加,修改,删除 -
课程分类功能
(1)添加课程分类 (读取Excel中里面课程分类数据,添加到数据库中)
(2)课程分类列表显示(使用树形结构实现课程分类列表) -
课程管理功能
(1)添加课程
第一步 填写课程基本信息
第二步 添加课程大纲(章节和小节)
第三步 课程信息确认,最终课程发布
(2)课程列表(条件查询分页列表,增删改查已发布和未发布课程)
(3)添加小节上传课程视频 -
统计分析模块
(1)生成统计数据
(2)统计数据图表显示 -
轮播图管理(有待补充)
-
订单管理(有待补充)
前台系统的功能
-
首页数据显示(redis缓存)
(1) 显示幻灯片功能
(2) 显示热门课程
(3) 显示名师 -
注册功能
(1) 填写基本信息(加密密码)
(2) 获取手机验证码(阿里云短信服务) -
登录功能
(1) 手机账号登录
(2) 社交账号(微信)扫码登录 -
名师列表功能
(1)分页显示名师信息 -
名师详情页
(1)点击名师跳转名师详情与他所教的课程 -
课程列表功能
(1)根据课程分类分页查询课程
(2)根据销量,价格等排序课程
(3)课程列表分页显示 -
课程详情页
(1)课程信息显示(课程基本信息,分类,讲师,课程大纲)
(2)判断课程是否需要购买
(3)课程评论 -
课程视频在线播放
(1)整合阿里云视频播放器
(2)阿里云视频点播 -
课程支付功能(微信支付)
项目使用的前端技术
- vue
- Element-ui
- nodejs
- NPM(包管理工具,类似Maven)
- Babel(把es6转换成es5)
- 前端模块化
- 后台系统使用vue-admin-template(基于vue加element ui)
- 前台系统使用Nuxt(基于vue)
- Echarts
- 图表工具
项目使用的后端技术
-
项目采用微服务架构
-
SpringBoot
SpringBoot本质上是Spring,只是快速构建Spring工程脚手架 -
SpringCloud
很多框架的总称,使用这些框架实现微服务架构,基于SpringBoot实现
(1)Nacos(使用Nacos作为注册中心|配置中心)
(2)Feign(服务调用)
(3)熔断器
(4)GateWay网关,不用zuul
(5)版本Hoxton -
MybatisPlus
-
EasyExcel
(1)阿里巴巴提供的excel工具
(2)EasyExcel对poi进行封装,采用SAX方式解析
(3)项目应用在添加课程分类,读取excel数据 -
SpringSecurity
(1)认证授权过程
(2)执行过程
-
Redis
(1)首页Redis缓存
(2)其他一些数据缓存(验证码,授权) -
Nginx
反向代理服务器
使用请求转发 -
QAuth2+JWT
登录 -
HttpClient
请求微信地址 -
Cookie
存token,用户信息 -
微信登录
-
微信支付
-
阿里云OSS
文件存储(头像) -
阿里云视频点播
视频生成,播放凭证播放,阿里云播放器 -
腾讯云短信服务
发送短信验证码 -
Git
上传码云 -
Docker
部署 -
jekins
部署