本应用是公司的主打产品,项目需要跨平台支持因此重构,重构后方便维护,并且可多个平台打包。重构需要将旧版本软件的功能全部移植到新软件中。
项目包含很多模块:屏幕广播、文件分发、文件共享、学生演示、讨论、互动、共享白板、数据库、跨进程通信等模块。
屏幕广播:将屏幕广播给学生观看。
文件分发:分发文件给学生
文件共享:共享文件供学生下载
学生演示:广播学生画面给其他人
讨论:分组进行讨论,可以发送文字图片还有文件
互动:互动答题,题型有多种(选择题、判断、简答、演示、投票等),答题结果保存在数据库,并可通过webserver反馈给web统计页面
共享白板:共享一块白板,所有人可以在白板上画东西
数据库:集成数据库操作,可支持多线程访问
跨进程通信:主要使用grpc通信,由于是分布式系统,界面和后台程序分开,因此需要进程间通信
项目参与人有8个,我主要负责数据库模块的编写、互动讨论功能的实现,界面的开发,以及互动和讨论的崩溃恢复等功能
互动开发包括界面,各题型发题、答题和答案记录,以及数据通过webServer反馈给web统计页面查看。
讨论功能主要是分组进行讨论,可发送文字图片还有绘制的内容以及截屏的发送,支持长消息局部绘制优化性能,支持遗失信息恢复功能,支持显示组员在线情况,支持发送文件查看