----云学习项目
项目描述:云学习是为了方便员工学习,培训,考试而规划设计出的一个在线学习平台,分为pc端和移动端。整个项目采用前后端分离开发模式。前端基于React和Vue框架,后端基于SSM框架。项目构成大致有后台管理,员工中心,搜索服务,课程管理,考试管理,学习专区,学习地图以及互动学习圈等模块
责任描述:
主要负责模块:
1.课程管理
在课程模块我们又划分出更细致的分区,包含课程基本信息,课程资料,学习策略,讲师,指派学员,调查与测评,短信通知等。课程基本信息主要包含普通课程和Scorm课程的划分,还有状态的指定;课程资料又分为视频,文档和H5课件不同形式的上传,主要使用的是米鼠工具制作完成。学习策略是根据提供的各项指标综合判定课程的学习吸收情况。整个模块注重于课程业务的分析。
2.学习专区
这一模块主要包含学习专区的基本信息,组件设置,内容管理,公告通知,指派学员,独立注册和成绩管理等,是基于sql语言的一系列业务操作。
参与开发模块:
1.注册登录
注册在经过前端正则校验之后到后台同样需要通过注解配置验证数据的正确性
登录为了减小服务器压力,使服务具有更好的扩展性,我们采用的是无状态登录,使用JWT鉴权+RSA非对称加密实现,通过生成的token中携带的自描述信息判断请求者身份,为了安全性又将token设置了有效时间,然后将鉴权中心生成的私钥发送给可信任服务用于解密token确认身份。
2.搜索服务
我们使用的是ElasticSearch搜索引擎和RabbitMQ消息队列实现实时搜索并及时更新,将数据库的课程可搜索字段建立索引,再使用ik分词器对字段进行分词,就可以根据指定的,已经封装好的实体类,生成对应的索引库,并配置映射关系。用户就可以通过课程名或讲师名等关键字进行模糊搜索,也可以通过课程分类进行过滤搜索。
3.报表模块
所做模块相关报表的生成与处理,主要使用的是第三方工具POI,通过创建工作簿和sheet页实现报表的读写操作,输出内容可以自定义和使用模板。