1. 项目概述
作为一名长期从事教育信息化系统开发的工程师,我最近完成了一个基于SpringBoot+Vue3+MyBatis的计算机基础网络教学系统。这个项目源于我在高校任教的朋友提出的实际需求 - 传统的计算机基础课程教学面临着学生基础差异大、教学资源分散、学习进度难以跟踪等问题。
这个系统采用前后端分离架构,后端使用SpringBoot提供RESTful API,前端采用Vue3构建响应式界面,数据持久层使用MyBatis操作MySQL数据库。系统实现了课程管理、在线学习、自动评测、学习分析等核心功能模块,特别针对计算机基础课程的特点设计了编程题自动批改和知识点关联推荐功能。
需要模型API调用? 免费领10W Token,多模型网关一键接入 Claude、DeepSeek 等主流模型。
2. 技术选型与架构设计
2.1 技术栈选型考量
选择SpringBoot作为后端框架主要基于以下考虑:
- 快速开发:SpringBoot的自动配置和起步依赖大大减少了配置工作
- 微服务友好:便于后期扩展为微服务架构
- 生态丰富:整合MyBatis、Security等组件非常方便
前端选用Vue3而非React或Angular的原因是:
- 渐进式框架:可以按需引入功能,学习曲线平缓
- Composition API:更适合复杂教育系统的状态管理
- 性能优势:相比Vue2有更好的渲染性能
数据库选择MySQL 8.0主要考虑:
- 事务支持完善
- JSON字段支持便于存储灵活的教学资源数据
- 高校IT环境普遍支持MySQL
2.2 系统架构设计
系统采用典型的三层架构:
code复制前端层(Vue3+Element Plus)
↑↓ HTTP/HTTPS
应用层(SpringBoot+MyBatis)
↑↓ JDBC
数据层(MySQL+Redis缓存)
关键设计决策:
- 前后端完全分离,通过JWT进行认证
- 使用Redis缓存热门课程数据和用户会话
- 采用MinIO对象存储管理教学资源文件
- 消息队列(RabbitMQ)处理异步任务如作业批改
3. 核心功能实现
3.1 用户管理与认证
用户系统采用RBAC模型,定义了三种角色:
- 学生:可以学习课程、提交作业、参加测试
- 教师:可以管理课程、发布作业、批改主观题
- 管理员:管理用户、监控系统、处理报表
认证流程
