1. 项目背景与需求分析
2020年以来的特殊公共卫生事件彻底改变了传统教育模式,线上教学从辅助手段变成了刚需。作为一名经历过多次线上教学系统崩溃的开发者,我深刻理解一个稳定、易用的云课堂系统对教育机构意味着什么。这个基于SpringBoot的在线教育系统,正是为解决疫情防控常态化下的教学痛点而生。
系统核心要解决三个层面的问题:
- 教学管理层面:传统线下教务管理流程(如排课、考勤、成绩录入)需要完整迁移到线上
- 师生互动层面:必须重建课堂互动场景,包括实时答疑、作业批改、考试监督等关键环节
- 技术实现层面:需要应对高并发访问、多媒体资源传输、数据安全等互联网教育特有的技术挑战
从实际调研数据来看,83%的教师反映现有平台存在功能割裂问题——考勤用一个系统、作业用另一个平台、考试又需要单独登录。这正是我们采用"All in One"设计理念的原因,将教学全流程整合在统一平台中。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 系统架构设计
2.1 技术选型决策
后端框架选择SpringBoot的三大理由:
- 自动配置特性可快速集成Redis、RabbitMQ等教学场景必需的中间件
- 内嵌Tomcat避免传统Web容器部署的复杂性,适合学校IT部门维护
- 丰富的Starter依赖(如Spring Security Starter)能快速实现权限控制
前端技术栈的权衡过程:
- 对比了Thymeleaf与Vue.js后,最终选择Vue+ElementUI组合
- 关键考虑因素:Thymeleaf虽简单但交互体验差,而在线考试等场景需要丰富的动态效果
- 折中方案:管理后台用Thymeleaf快速开发,核心教学界面采用Vue实现
数据库设计的教学特色:
sql复制CREATE TABLE course_resource (
id BIGINT PRIMARY KEY AUTO_INCREMENT,
course_name VARCHAR(100) NOT NULL COMMENT '课程名称',
cover_url VARCHAR(255) COMMENT '封面图OSS地址',
subject_id INT NOT NULL COMMENT '关联科目表',
teacher_id VAR
