# 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文档和开发者指南,请参阅技术文档。