client-management-system

module
v0.0.0-...-b92bf0a Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Oct 7, 2021 License: MIT

README

Client-management-system

一个简单客户端管理系统,类似电子教室管理软件,教师端和学生端均使用Golang编写,用Redis数据库储存信息。

功能

学生端
  • 使用账号密码登入登出
  • 在聊天室中畅所欲言
  • 与其他在线学生或老师发送私聊消息
  • 向老师发出提问
  • 提交老师布置的作业并查询自己的得分
  • 作业可以提交文件了
  • 检测屏幕内容 长时间未操作自动上报
  • 自动阻止运行黑名单中的程序
  • 阻止访问黑名单中的网页
  • 检测到黑名单中的操作时自动上报
教师端
  • 添加课程 导入学生信息
  • 处理学生登入、登出并立即显示
  • 查询每次上课的数据
  • 查看学生的到课时间
  • 手动修改学生到课情况
  • 显示学生提问信息
  • 与学生一起在聊天室中畅聊
  • 发布作业并收集学生的答案 支持文件题
  • 给学生的作业打分 客观题自动评分
  • 查看学生屏幕截图
  • 查看学生屏幕视频1
  • 发送程序和网页黑名单
  • 记录学生违规次数
  • 查询学生所有数据

1:由于我能力有限暂时没搞明白视频推流,这里查看学生屏幕视频实现的方法是多张连续截图,效率很低,效果如下图(左边是教师端看到的画面,右边是学生端)

使用说明

  • 下载源码并编译学生端和教师端,数据库IP端口等信息可在config.go中修改
  • 学生端的机位信息可以通过命令行提供 如 student.exe seat001
  • 在tool文件夹中提供了快速测试的方法

现存bug

  • 高并发如多个学生端同时登录可能会导致教师端与数据库的连接断开 正在寻找解决办法 添加了数据库线程池 成功解决O(∩_∩)O

未来计划

  • 完善其他功能 提高用户体验
  • 改善视频功能
  • 提高程序稳定性
  • 整个GUI

Directories

Path Synopsis
src
tcp

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL