受互联网+概念的催化,当今中国在线教育市场的发展可谓是百花齐放、如火如荼。 按照市场领域细分为:学前教 育、K12教育、高等教育、留学教育、职业教育、语言教育、兴趣教育以及综合平台,其中,职业教育和语言教育 的市场优势突出。 根据Analysys易观发布的数据显示,预计2019年中国互联网教育市场交易规模将达到3718亿元 人民币,未来三年互联网教育市场规模保持高速增长。
 
学成在线借鉴了MOOC(大型开放式网络课程,即MOOC(massive open online courses))的设计思想,是一 个提供IT职业课程在线学习的平台,它为即将和已经加入IT领域的技术人才提供在线学习服务,用户通过在线学 习、在线练习、在线考试等学习内容,最终掌握所学的IT技能,并能在工作中熟练应用。
1.2 功能模块 
当前市场的在线教育模式多种多样,包括:B2C、C2C、B2B2C等业务模式,学成在线采用B2B2C业务模式,即向 企业或个人提供在线教育平台提供教学服务,老师和学生通过平台完成整个教学和学习的过程,市场上类似的平台 有:网易云课堂、腾讯课堂等,学成在线的特点是IT职业课程在线教学。

传智播客设置了学成在线包括门户、学习中心、教学管理中、社交系统、系统管理等功能模块。


1.3 项目原型 
通过项目原型进一步了解项目的功能,包括:门户首页、课程搜索页、在线学习页面、个人中心等
参考“项目原型”。 2 项目的技术架构 2.1 技术架构 
学成在线采用当前流行的前后端分离架构开发,由用户层、UI层、微服务层、数据层等部分组成,为PC、App、 H5等客户端用户提供服务。下图是系统的技术架构图:

业务流程举例:
1、用户可以通过pc、手机等客户端访问系统进行在线学习。 2、 系统应用CDN技术,对一些图片、CSS、视频等资源从CDN调度访问。
3、所有的请求全部经过负载均衡器。 4、对于PC、H5等客户端请求,首先请求UI层,渲染用户界面。
5、客户端UI请求服务层获取进行具体的业务操作。 6、服务层将数据持久化到数据库。

各模块说明如下:

2 技术栈 
下图是项目技术架构的简图,传智播客通过简图了解项目所使用的技术栈。

传智播客重点了解微服务技术栈:
学成在线服务端基于Spring Boot构建,采用Spring Cloud微服务框架。
持久层:MySQL、MongoDB、Redis、ElasticSearch 数据访问层:使用Spring Data JPA 、Mybatis、Spring Data Mongodb等
业务层:Spring IOC、Aop事务控制、Spring Task任务调度、Feign、Ribbon、Spring AMQP、Spring Data Redis 等。
控制层:Spring MVC、FastJSON、RestTemplate、Spring Security Oauth2+JWT等 微服务治理:Eureka、Zuul、Hystrix、Spring Cloud Config等
2.3 开发步骤 
项目是基于前后端分离的架构进行开发,前后端分离架构总体上包括前端和服务端,通常是多人协作并行开发,开 发步骤如下:
1、需求分析
梳理用户的需求,分析业务流程
2、接口定义
根据需求分析定义接口
3、服务端和前端并行开发
依据接口进行服务端接口开发。
前端开发用户操作界面,并请求服务端接口完成业务处理。
4、前后端集成测试
最终前端调用服务端接口完成业务。

Java的新项目学成在线笔记-day1(一)相关推荐

  1. Java的新项目学成在线笔记-day10(三)

    1.4 测试CMS一键发布接口 1.4.1 配置虚拟主机 在nginx配置课程详情页面的虚拟主机,实现访问:www.xuecheng.com/course/detail/.....html. #静态资 ...

  2. Java的新项目学成在线笔记-day13(九)

    6.2.2 创建媒资服务工程 媒资管理的相关功能单独在媒资服务中开发,下边创建媒资服务工程(xc-service-manage-media). 媒资服务的配置与cms类似,导入 "资料&qu ...

  3. Java的新项目学成在线笔记-day12(九)

    3.1.4 搜索页面 创建搜索页面如下: 页面文件参考:"资料"-->"search"-->index_1.vue,重要代码如下: nuxt.js支 ...

  4. Java的新项目学成在线笔记-day14(四)

    1.2.3.5 视频处理生成m3u8 下边是完整的视频处理任务类代码,包括了生成m3u8及生成mp4的代码. [mw_shl_code=applescript,true]@Component publ ...

  5. Java的新项目学成在线笔记-day7(一)

    1.1需求分析 课程添加完成后可通过我的课程进入课程修改页面,此页面显示我的课程列表,如下图所示,可分页查询. 注意:由于课程图片服务器没有搭建,这里在测试时图片暂时无法显示. 上边的查询要实现分页. ...

  6. Java的新项目学成在线笔记-day13(八)

    6 媒资管理 前边章节完成在线视频播放,如何实现点击课程计划播放视频呢,课程视频如何管理呢? 本节开始将对课程视频进行管理. 6.1需求分析 媒资管理系统是每个在线教育平台所必须具备的,百度百科对它的 ...

  7. Java的新项目学成在线笔记-day10(二)

    1.3 课程发布接口 1.3.1 Api接口 此Api接口由课程管理提供,由课程管理前端调用此Api接口,实现课程发布. 在api工程下课程管理包下定义接口: [mw_shl_code=applesc ...

  8. Java的新项目学成在线笔记-day7(二)

    1.3 前端页面说明 我的课程列表使用element 的card组件,如下: 页面布局代码如下: <template> <section> <el‐row >< ...

  9. Java的新项目学成在线笔记-day8(三)

    1.1.3.1 需求 上传图片界面如下图: 点击"加号"上传图片,图片上传成功自动显示:点击"删除"将删除图片. 1.1.3.2 页面 使用Element-UI ...

  10. Java的新项目学成在线笔记-day12(六)

    3.6 获取数据 3.6.1 asyncData 方法 Nuxt.js 扩展了 Vue.js,增加了一个叫 asyncData 的方法, asyncData 方法会在组件(限于页面组件)每次加载 之前 ...

最新文章

  1. 求数组中奇数偶数的个数
  2. 【Kotlin】扩展函数 ( 扩展函数声明 | 调用方式 | 与成员函数优先级 | 接收者空值处理 )
  3. 多种IP网络技术的原理和特点
  4. 【Django】MTV(Django)模型
  5. 【Junos】手动生成Core-dump文件
  6. 随想录(读书和选书)
  7. 【习题 7-2 UVA-225】Golygons
  8. matlab linux命令行窗口,linux命令行运行matlab
  9. Vue使用命令创建项目
  10. webUploader选择文件按钮无效
  11. 千万级敏感词过滤设计
  12. 新人如何快速融入团队
  13. 美亚杯赛前小训练,分享一套小模拟练习,弘连软件使用学习,供大家赛前训练,题目非常简单,很适合大家练手(非常推荐!)(新手手荐!)题目入门非常合适,也是了解软件很好的办法!
  14. 在OPPO应用市场内如何做ASO优化
  15. cs与msf的联合使用
  16. 一个网站域名价值 1亿人民币,互联网寸土寸金!
  17. python基础学习task09
  18. 关于九针串口的公头和母头
  19. 单片机音频节奏灯_音乐节奏灯(十个LED显示)
  20. Apollo的启动步骤和客户端调用

热门文章

  1. 浏览器下载Firefox os 模拟器安装教程步骤详解
  2. 【问】安装SQL 2012R2时提示NetFx3
  3. C语言实现学生成绩管理系统设计
  4. 数据库系统概论-数据库设计
  5. 多媒体计算机组装过程,多媒体技术及《计算机组装及维护》课精彩结合.doc
  6. 2018最新私塾在线高级java软件架构师实战培训
  7. (转载)黑白帽子思路
  8. DXperience重编译汉化的方法
  9. 一些关于java网站开发的相关 文档/工具
  10. 我为NET狂~群福利:逆天书库