144 lines
4.6 KiB
Markdown
144 lines
4.6 KiB
Markdown
# ClassMG - 互动式课堂管理系统
|
||
|
||
[English](README.md) | [中文版(当前)](README_CN.md)
|
||
|
||
## 概述
|
||
|
||
ClassMG是一款全面的课堂管理应用程序,专为互动式教学和学习设计。该系统支持教师和学生之间的实时通信、互动问答环节和即时反馈机制,所有这些功能都在统一的数字课堂环境中实现。
|
||
|
||
## 系统架构
|
||
|
||
ClassMG基于客户端-服务器架构:
|
||
|
||
- **客户端应用**:使用HarmonyOS ArkTS开发,确保跨设备兼容性
|
||
- **通信服务器**:基于Node.js的服务器,支持实时消息传递和状态同步
|
||
- **本地数据存储**:用于安全存储用户凭证和会话数据
|
||
|
||
## 核心功能
|
||
|
||
### 1. 课堂管理
|
||
- **创建课堂**:教师可以创建具有唯一访问码的虚拟课堂
|
||
- **加入课堂**:学生可以使用课堂码加入
|
||
- ~~**课堂状态**:实时监控活跃参与者~~
|
||
- **结束课堂**:教师可以终止会话,并向所有参与者发送通知
|
||
|
||
### ~~2. 实时通信~~
|
||
- **即时消息**:教师和学生之间的双向通信
|
||
- **消息同步**:具有自动重试机制的可靠消息传递
|
||
- **连接状态**:连接状态的可视化指示器,提供故障排除选项
|
||
|
||
### 3. 互动问答
|
||
- **问题发布**:教师可以创建并发布多选题
|
||
- **定时响应**:可配置的答题时间限制
|
||
- **提交答案**:学生可以提交答案并获得即时确认
|
||
- **结果分析**:以可视化方式呈现回答统计和正确率
|
||
|
||
### 4. 用户体验
|
||
- **自适应布局**:适应不同屏幕尺寸的响应式界面
|
||
- **视觉反馈**:所有操作的清晰状态指示
|
||
- **错误处理**:全面的错误通知和恢复选项
|
||
- **主题定制**:个性化的视觉外观设置
|
||
|
||
## 操作逻辑
|
||
|
||
### 认证流程
|
||
1. 用户使用用户名和密码注册(安全存储)
|
||
2. 根据本地凭据进行登录验证
|
||
3. 角色分配(教师或学生)决定可用功能
|
||
|
||
### 课堂会话流程
|
||
1. 教师创建具有唯一码的课堂
|
||
2. 学生使用提供的课堂码加入
|
||
3. 实时同步建立课堂环境
|
||
4. 教师和学生可以交换消息并参与问答环节
|
||
5. 教师可以结束课堂会话,系统会通知所有参与者
|
||
|
||
### 消息系统
|
||
1. 从输入区域撰写和发送消息
|
||
2. 本地预览立即显示,提供响应式用户体验
|
||
3. 消息传输到服务器
|
||
4. 服务器向所有连接的设备广播消息
|
||
5. 轮询机制确保消息传递,即使在临时断开连接后也能同步
|
||
|
||
### 问题管理
|
||
1. 教师创建带有多个选项的问题
|
||
2. 学生收到问题,并看到可配置的倒计时
|
||
3. 收集并跨设备同步回答
|
||
4. 问题结束后计算并显示结果
|
||
5. 教师可以查看详细统计,而学生能看到个人结果
|
||
|
||
## 技术实现
|
||
|
||
### 通信协议
|
||
- 基于HTTP的API用于课堂操作
|
||
- 轮询机制用于状态同步
|
||
- JSON消息格式用于数据交换
|
||
|
||
### 数据安全
|
||
- 本地凭证存储带有加密功能
|
||
- 通过唯一码控制课堂访问
|
||
- 对所有操作进行会话验证
|
||
|
||
### 同步机制
|
||
- 服务器维护课堂状态的权威来源
|
||
- 客户端轮询确保数据一致性
|
||
- 针对并发操作的冲突解决策略
|
||
|
||
### 错误处理
|
||
- 连接状态监控
|
||
- 自动重连尝试
|
||
- 用户友好的错误消息和恢复选项
|
||
|
||
## 服务器设置
|
||
|
||
### 前提条件
|
||
- Node.js(v12或更高版本)
|
||
- NPM(Node包管理器)
|
||
|
||
### 安装
|
||
1. 安装Node.js和NPM
|
||
2. 克隆或下载存储库
|
||
3. 使用`npm install`安装依赖项
|
||
|
||
### 运行服务器
|
||
1. 使用`npm start`或`node server.js`启动
|
||
2. 服务器默认运行在5243端口
|
||
3. 记下计算机的IP地址,用于客户端配置
|
||
|
||
## 客户端配置
|
||
|
||
### 开发环境
|
||
- DevEco Studio(推荐)
|
||
- HarmonyOS SDK
|
||
|
||
### 连接设置
|
||
1. 确保所有设备在同一网络上
|
||
2. 在客户端应用程序中配置服务器地址
|
||
3. 编译并部署到测试设备
|
||
|
||
## 故障排除
|
||
|
||
### 连接问题
|
||
- 验证所有设备是否在同一网络上
|
||
- 检查服务器IP地址和端口配置
|
||
- 使用应用程序内置的连接状态检查器
|
||
|
||
### 消息同步
|
||
- 如果消息未跨设备显示,检查连接状态
|
||
- 验证服务器是否正常运行
|
||
- 尝试使用应用内故障排除按钮重新连接
|
||
|
||
### 布局问题
|
||
- 如果UI元素未对齐或在屏幕外显示,请重启应用程序
|
||
- 不同设备屏幕尺寸可能需要在重大布局更改后重启应用程序
|
||
|
||
## 开发者注意事项
|
||
|
||
- 系统出于兼容性考虑使用轮询机制而非WebSockets
|
||
- 实现了消息去重以处理潜在的重复传递
|
||
- UI布局针对平板电脑和智能手机形态进行了优化
|
||
- 可以启用调试日志进行故障排除
|
||
|
||
---
|
||
|
||
**注意**:本文档提供了ClassMG系统的概述。有关详细的API文档和开发者指南,请参阅技术文档。 |