在线教育平台

项目简介

这是一个功能完善的在线教育平台,支持教师直播授课、学生在线学习、课程管理、作业提交、在线考试等核心功能。

技术栈

前端

  • React 18 + TypeScript
  • Redux Toolkit 状态管理
  • Ant Design UI组件库
  • WebRTC 实时音视频

后端

  • Spring Boot 2.7
  • Spring Cloud 微服务架构
  • MySQL + Redis
  • RabbitMQ 消息队列

核心功能

1. 直播授课

  • 实时音视频互动
  • 白板共享
  • 屏幕分享
  • 实时聊天

2. 课程管理

  • 课程创建与编辑
  • 视频上传与转码
  • 课程分类与搜索
  • 学习进度跟踪

3. 在线考试

  • 题库管理
  • 自动组卷
  • 限时考试
  • 自动阅卷

4. 用户系统

  • 角色权限管理
  • 学习记录
  • 证书颁发
  • 积分系统

项目亮点

  1. 高并发处理:使用Redis缓存热点数据,支持万人在线
  2. 实时互动:基于WebRTC实现低延迟音视频通信
  3. 微服务架构:服务解耦,易于扩展和维护
  4. 智能推荐:基于协同过滤的课程推荐算法

系统架构

1
2
3
4
5
6
├── gateway-service       # API网关
├── user-service # 用户服务
├── course-service # 课程服务
├── live-service # 直播服务
├── exam-service # 考试服务
└── common-lib # 公共库

性能优化

  • CDN加速视频资源加载
  • Redis缓存热点数据
  • 数据库读写分离
  • 接口限流与降级

项目收获

通过这个项目,深入理解了微服务架构的设计与实现,掌握了高并发系统的优化方法,以及实时音视频技术的应用。