NEWS

新闻

了解openKylin最新资讯,关注社区和产品动态。

NEWS

Learn about the latest news.

【“麒麟杯”获奖作品风采】二等奖:麒麟学习通

2023-12-08 10:29:44
由中国软件行业协会、开放原子开源基金会、中国计算机学会开源发展委员会、中国开源软件推进联盟指导,openKylin开源社区、麒麟软件有限公司、国防科技大学、信创海河实验室联合主办的第十二届“麒麟杯”全国开源应用软件开发大赛已于10月20日完美落幕,自2023年4月开赛以来,吸引了来自全国60+高校的345组队伍报名参赛,经过层层选拔和严格评审,最终评选出大赛的一、二、三等奖及优胜奖,后续主办方将陆续展示开发者们的获奖作品风采,本篇带来二等奖《麒麟学习通》作品展示!

01
作品介绍
现代学习环境中,学生常常面临着注意力不集中、开小差等问题,这些问题可能会影响他们的学习效果和学业成绩。为了解决这一问题,来自湖南大学麓山泰裤辣队的曹润卓、陈树彬、傅兴华同学合作设计了名为"麒麟学习通"的应用,旨在通过监督和激励机制辅助学生的学习过程。
"麒麟学习通"的设计目的是帮助学生保持专注、提高学习效果,并培养良好的学习习惯。通过学生开启摄像头,应用能够实时监测学生的学习状态,一旦发现学生离开摄像头或不专注,即刻提醒学生,使其意识到自己的不良学习行为,并及时调整回正轨,保持专注。这种监督机制能够提醒学生时刻保持学习状态,减少分心和开小差的可能性。

项目地址:https://gitee.com/openkylin/openkylin-study-monitor

02
作品亮点

本作品设计新颖之处在于:首先,麒麟学习通是openKylin上第一个做专注检测类别的APP。其次,麒麟学习通APP功能丰富,拥有大模型,课表等功能,并增加了互动和比较功能。

通过调研,其他学习类产品较少出现排行榜,本APP不仅提供学生个人的学习监督,还可提供与朋友互动和比较的功能。通过开发好友间的排行榜功能,激励学生保持专注并增加学习动力,做到良性竞争

功能亮点
1.通过摄像头实现了多功能检测,六种状态:专注学习、昏昏欲睡、边摸鱼边笑以及面部被遮挡或未被检测,查看手机以及暂停。

openKylin(开放麒麟)

2.接入了国产大模型,星火大模型。

openKylin(开放麒麟)

3.实时展示好友的在线状态,来激励自己学习,和好友互卷。

openKylin(开放麒麟)

UI亮点
1.整体美观,交互性强。

openKylin(开放麒麟)

2.统计数据模块设计了适配窗口。
小窗口只展示近半年的数据:
openKylin(开放麒麟)
大窗口展示完整一年的数据:
openKylin(开放麒麟)

3.总结部分设计了词云,会根据用户编写的回顾和展望生成词云。

openKylin(开放麒麟)

03
技术原理

本软件采用的前后端分离方式来实现应用功能,其中前端将部署在每个使用该应用的用户主机上,后端则部署在服务器上,前端和后端通过网络通信进行数据传输与行为交互。以下分别简要描述前后端所用到的技术:

前端

前端采用图形界面(GUI)的方式与用户进行交互,图形界面基于Electron跨平台的桌面应用开发工具,而交互内容与数据展示则是基于Vue3.js框架进行开发,项目开发过程中用户界面的组件主要使用了Vuetify、Naive UI等UI库,网络通信使用axios库。

后端

后端开发语言为Python3,采用Flask框架作为与前端进行数据交互,MySQL 8.0.34作为数据库管理系统,使用OpenCV、Mediapipe库进行人脸识别。

openKylin(开放麒麟)

04
技术难点
监测用户专注及提醒的问题
  • 网络带宽:用户开始学习后应用需要持续检测用户状态,由于本应用采用前后端分离的架构,所以当多个用户同时使用该应用时,前端将持续与后端服务器进行数据交互,后端服务器网络将承受不断增加的压力。

  • 数据一致性:用户可能会因违规时间过长或主观原因暂停学习,如何保持前后端学习状态数据在有暂停学习情况下的一致性。

统计页面数据适配问题
  • 方格统计展示:如果统计历史数据的方格列阵采取无视窗口大小的统一布局,将会面临窗口大小变化时,数据展示不完整或完整但字体异常的问题。

05
获奖感受

麒麟学习通项目还有一些需要完善的地方,希望今后能够不断改进和提升。在参与这个项目的过程中,与队友一起讨论、设计和解决问题,不仅促进了友谊,也让每个人在项目中得到了锻炼和成长。感谢指导老师,感谢openKylin社区给我们的平台与机会,最后祝愿openKylin操作系统越做越好。