课堂问题:
    1.请你简单介绍下你的项目:
    学成在线借鉴了MOOC的设计思想提供在线教育平台,是一 个以B2B2C的业务模式提供IT职业课程在线学习的平台。
    2.简单概述下你们的项目:
    功能架构:学成在线包括在线教育平台、业务支持系统、基础服务来构建整个功能架构
    技术架构:分为六层:用户层、CDN内容分发和加速、负载均衡、UI层、微服务层、数据层。
    3.大致说下你项目的流程是什么
    主体流程分为三个:
    1.第三方教学机构-入住平台-员工/教师添加课程视频-审核-发布-学员学习;
    2.学成在线管理平台人员-登录-审核视频-视频发布/审核失败重新上传-数据维护系统维护;
    3.学员-注册登录-搜索课程-收费/支付-在我的课程可以查到订单-学完一门课程后有学习记录;
    4.聊下你们项目的结构:
    该项目中分为功能架构和技术架构
    功能架构:学成在线包括在线教育平台、业务支持系统、基础服务来构建整个功能架构。
    技术架构:学成在线采用当前流行的前后端分离架构开发,由以下流程来构成:用户层、CDN内容分发和加速、负载均衡、UI层、微服务层、数据层。
    5.项目规范的好处:
    1.代码编写的规范
    2.前后端交互的URL接口规范
    3.项目内容结构的规范
    好处在于开发人员在编写代码时可以统一接口、方法名等,不会因为个人的编写习惯导致代码紊乱;在后期维护升级中便于及时更新;有利于提高开发人员的职业素养。

    1.项目的功能模块
    一共分为几层?
    —项目的功能模块一共有三层
    —在线教育平台、业务系统支撑、基础服务
    每一层的作用?
    1、在线教育平台:门户、教学管理平台、运营平台
    门户:在首页、活动页、专题页等页面提供课程学习入口。
    教学管理平台:教学机构登录系统的入口,通过此来管理机构中的课程相关的数据。
    运营平台:教师登录教学管理中心进行课程管理、资源管理、考试管理等教学活动。
    2、业务系统支撑:内容管理系统、教学管理中心、学习中心、社交系统、媒资管理
    内容管理系统:内容管理中对教学机构的课程、课程计划、课程教师、课程营销数据进行管理。
    教学管理中心:对平台的入住教学机构数据进行管理和审核,以及课程中设计到的课程作业。
    学习中心:对课程中的学员学习课程的记录数据来进行管理。
    社交系统:论坛系统、问答系统、消息系统、评论系统等信息的管理。
    媒资管理:课程计划所关联的课程流媒体资源数据进行管理(直播、录播)。
    3、基础服务:系统管理、支付系统、文件服务、验证码服务、统一认证服务、视频点直播
    系统管理:对学成在线后端服务提供系统的基础数据。
    支付系统:管理收费课程的交易记录和订单数据。
    文件服务:管理系统中的文件资源,包括课程图片、教师图片等。
    验证码服务:生成系统中的验证码并通过短息服务发送验证码、校验验证码等。
    统一认证服务:对系统中的所有用户资源进行管理,并提供服务中用户资源的认证功能。
    视频点直播:在课程学习时需要通过此服务来对视频资源进行播放。
    每一层有依赖关系?
    —- 在线教育平台>>>业务支撑系统>>>基础服务
    2.项目的技术架构
    一共分为几层?
    —项目的技术架构共分为六层
    —用户层、CDN层、负载均衡层、UI层、微服务层、数据层
    后端开发主要关注哪几层?
    —微服务层
    3.项目的主体流程
    按照三类用户来说项目的流程(教学机构、运营平台、学员)?
    教育机构
    ①:教学机构先入住到学成在线平台中
    ②:教学机构人员在学成进行登录
    ③:在教学管理中心可以管理课程信息
    ④:课程管理是会使用阿里云和七牛云服务
    ⑤:教学机构在课程没有问题的情况下将课程进行提交审核
    ⑥:课程审核通过后,教学机构可以发布课程。
    运营平台:
    ①:平台机构在学成进行登录
    ②:在教学管理中心管理教学机构课程内容
    ③:课程中需要从外部服务中获得课程内容数据,并进行预览
    ④:预览课程内容后,需要对课程进行审核
    学员:
    ①:学员在学成的门户注册后进行登录
    ②:在门户搜索需要学习的课程内容
    ③:找到对应课程后,需要对课程进行 下单购买
    ④:在学习中心查看自己课程,并进行学习 视频播放时会使用到第三方的服务。
    4.搭建学成微服务基础工程
    项目结构有哪几层?
    — 四层
    每一层的作用?
    视图层:页面的构建,用于适应不同移动端
    微服务接入控制层:GateWay、Eureka、Ribbon、Sentinel、Feign等
    微服务层微服务层:Spring Boot 、Druid、Lombok、MapStruct、Mybatis plus、sharding-jdbc、swagger、XXL-job、Freemark
    数据访问层:使用Spring Data 、Mybatis 等