Skip to content

模块结构

系统主要包含两大模块:系统模块与考试模块。

模块结构

系统模块

系统核心:sys-core

为其他模块提供基础服务:

  • 预置数据层、业务层、控制层基础实现,继承后可快速搭建模块基本功能,无需从零编码。
  • 提供常用拦截器,涵盖请求超时记录、用户上下文绑定,并支持跨域、XSS防护。
  • 实现数据灵活转换,如控制层接收字符串参数自动转日期,数据层查询数据库数字字符串转整数数组对象等。
  • 采用通配符简化事务控制,遵循格式自动应用,实现事务逻辑与业务代码的解耦。
  • 内置基础输入输出对象,支持链式调用,减少代码量,提升开发效率
  • 提供常用工具类,以辅助开发工作,涵盖校验功能、时间处理、数值计算以及数据加密等。

系统缓存:sys-cache

使用spring缓存接口,实现热点数据的快速存取,默认使用ehcache作为缓存实现。

系统定时任务:sys-quartz

默认提供数据库自动备份、过期附件自动清理,可按需自行扩展。

系统通知:sys-notify

默认提供了邮件实现,可用于异常实时上报、通知考试等,可按需自行扩展。

系统权限:sys-auth

采用apache的shiro框架,借助字符串匹配技术,实现权限控制解耦和代码无入侵,可按需切换。

系统附件:sys-file

默认配置了本地附件存储方案,可按需扩展至云存储服务。

系统基础:sys-base

实现了包括机构管理、用户管理、参数配置以及数据字典等基础功能。

系统扩展:sys-ex

用于多模块之间的解耦:

  • 对于上下级模块,通过上级模块定义接口,扩展模块实现接口,保持模块相互之间无入侵。如删除用户时级联删除考试。
  • 对于同级相互依赖模块,通过同级模块定义接口,扩展模块实现接口,保持模块相互之间无入侵。如系统权限模块的令牌解析需要获取用户角色,系统基础模块的用户登录需要生成令牌。

系统API:sys-api

系统对外的api接口。

系统WEB:sys-web

主要由程序启动入口与核心配置文件组成。配置文件涵盖了应用(application.yml)的全局配置、缓存(ehcache.xml)策略的优化、日志(log4j2.mxl)系统的设置,以及持久层框架(MyBatis)的配置。

考试模块

考试核心:exam-core

提供考试相关的服务:

  • 管理员可以创建考试、编制练习、建立题库
  • 考试用户可以参与考试、在线练习
  • 阅卷用户可以批阅试卷
  • 自动化任务可以批阅试卷、自动结束考试以及提前缓存热点数据。

考试报表:exam-report

提供报表相关的统计服务。

考试扩展:exam-ex

多模块之间的解耦,参考系统扩展

考试API:exam-api

考试对外的api接口。

小猫考试