学成在线
该项目以在线教育业务为基础,基于当前热门的 Spring Cloud 微服务技术栈进行设计,采用Nginx、SpringBoot、Spring Cloud、MyBatis-Plus、MQ、Redis、Elasticsearch等框架和中间件为基础进行开发,带你体验Java大型项目从需求分析、架构设计、编码、调试、测试的整个过程。

《学成在线》项目采用的是SpringBoot+springcloud当下最流行的微服务为项目架构,配合spring cloud alibaba nacos作为项目的注册和配置中心。新课程采用快速开发的模式,主要解决真实企业开发的一些应用场景。深入挖掘技术和业务的解决方案,做到更加的通用,能举一反三,充分满足互联网行业中复杂的微服务技术要求。

技术栈

  • Spring Boot + Mybatis
  • Spring Cloud + Gateway
  • Nacos 注册和配置中心
  • XXL-JOB 分布式任务调度
  • Freemarker 生成静态内容页面
  • MySQL + Redis + Elasticsearch + MinIO 做内容检索和缓存
  • Spring Security + JWT做登陆认证授权

项目亮点

  • 使用 Nacos 做服务注册和配置中心

  • 使用 Gateway 统一路由微服务

  • 树型表的查询的两种方式:使用 WITH 递归查询;使用LEFT JOIN 查询

  • 统一返回结果处理、全局异常拦截

  • JSR303参数校验

  • 图片和视频分片上传,上传文件到MinIO,使用MinIO合并分片文件

  • 使用 FFmpeg 转码文件

  • 使用 Freemarker 生成静态内容页面

  • 使用 MySQL + Redis + Elasticsearch + MinIO 做内容检索和缓存

项目大纲

本项目包括了用户端、机构端、运营端、核心模块包括:内容管理、媒资管理、课程搜索、订单支付、选课管理、认证授权等。

本项目主要包括三类用户角色:学生、教学机构老师、平台运营人员。

主要讲解下边的业务流程:

  1. 教学机构的老师登陆教学管理平台,编辑课程信息,发布自己的课程。

  2. 平台运营人员登陆平台审核课程、视频等信息,审核通过后课程方可发布。

  3. 用户登陆门户网站搜索课程、浏览课程信息、免费课程直接选课学习,付费课程需要购买课程,支付订单后方可学习。

查看课程编辑与发布流程
学生选课流程

项目预览