前言
推荐一款基于.NET 8.0 免费开源跨平台在线考试系统,系统不仅支持桌面端,还特别优化了移动端的用户体验。
通过本系统可以轻松搭建自己的在线考试平台,实现随时随地的测试与评估。
本文将详细介绍系统的功能特点、技术架构以及如何部署和使用。
系统介绍
支持跨平台、国产化部署。
支持国产人大金仓、达梦、OceanBase数据库 及 MySql、SqlServer、PostgreSql、SQLite 等常见数据库,极大地提高了项目的可移植性和适用范围。
系统不仅支持主流的操作系统,还特别针对国产化环境进行了优化,确保在多种国产操作系统上稳定运行。
系统功能
1、管理端首页
基本信息:展示当前账号的信息及欢迎语。
预览信息:查看管理员的基本资料。
修改信息:更新个人信息。
修改密码:更改登录密码。
退出登录:安全退出系统。
2、发布考试
支持多种考试模式(正式考试、模拟测试)。
提供灵活的试题生成方式(随机出题、手动选题、开考随机)。
支持自动与手动阅卷。
考试合格者可直接获得证书。
3、试卷管理
试卷分类:多级分类管理,支持批量操作。
发布考试:包括保存草稿、正式发布等功能。
复制:一键复制已有的试卷。
预览:查看试卷内容。
修改:编辑试卷信息。
启停用:控制试卷的状态。
删除:移除不再需要的试卷。
4、阅卷
阅卷:对主观题进行评分。
预览:查看阅卷情况。
考试管理:涵盖考生、成绩、阅卷进度、数据分析等方面。
5、考试管理
题型管理:提供单选、多选、判断、填空、简答题型,并支持扩展。
题库管理:批量导入/导出试题,支持预览。
证书管理:创建证书模板,支持拖拽定位及预览。
题目组:组织题目便于练习和组合成卷。
6、问卷调查
支持内部与外部问卷,后者可通过二维码填写。
发布:创建新的问卷。
复制:快速复制现有问卷。
预览:查看问卷设计。
修改:编辑问卷内容。
启停用:控制问卷的有效性。
删除:移除问卷。
问卷统计:生成统计图表。
7、其他功能
企业管理:包括组织架构调整、人员权限设定等。
系统管理:如管理员配置、用户设置、数据库维护、安全规则制定等。
日志管理:记录管理员操作、用户活动、系统错误,以及相关设置。
统计图表:展示用户登录频率、安全拦截次数等关键指标。
支持环境
支持的操作系统
1、Windows
2、Linux
支持的数据库
系统源码
系统代码组织框架结构,如下所示:
<pre data-tool="mdnice编辑器"><p class="js_darkmode__8"><span>├── src (源代码)<br/>│ ├── Datory (数据库基础类)<br/>│ ├── XBLMS (接口基础类)<br/>│ ├── XBLMS.Core (核心代码)<br/>│ ├── XBLMS.Web (UI)<br/>│ │ ├── wwwroot (对外访问目录)<br/>│ │ ├── Controllers (WebApi)<br/>│ │ ├── <span>log</span> (运行日志)<br/>│ │ ├── Pages (页面)<br/>│ │ ├── appsettings.json (配置文件)<br/>│ │ ├── web.config (配置文件,非IIS部署可以删除)<br/>│ │ ├── xblms.json (配置文件)<br/>├── appsettings.json (配置文件)<br/>├── build.sln (解决方案,用于发布)<br/>├── gulpfile.js (配置文件,用于发布)<br/>├── xblms.sln (解决方案,用于开发)</span></p></pre>
项目部署
发布跨平台版本,为了构建和发布适用于不同操作系统的XBLMS,请遵循以下步骤:
Windows (x64)
1、执行以下命令来安装依赖项、构建前端资源、编译.NET解决方案并发布.NET Core应用程序:
<pre data-tool="mdnice编辑器"><p class="js_darkmode__10"><span>npm install<br/>npm run build-win-x64<br/>dotnet build ./build-win-x64/build.sln -c Release<br/>dotnet publish ./build-win-x64/src/XBLMS.Web/XBLMS.Web.csproj -r win-x64 -c Release -o ./publish/xblms-win-x64</span></p></pre>
2、然后进入发布目录获取部署文件
<pre data-tool="mdnice编辑器"><p class="js_darkmode__11"><span><span>cd</span> ./publish/xblms-win-x64</span></p></pre>
Linux (x64)
1、执行以下命令来安装依赖项、构建前端资源、编译.NET解决方案并发布.NET Core应用程序:
<pre data-tool="mdnice编辑器"><p class="js_darkmode__12"><span>npm install<br/>npm run build-linux-x64<br/>dotnet build ./build-linux-x64/build.sln -c Release<br/>dotnet publish ./build-linux-x64/src/XBLMS.Web/XBLMS.Web.csproj -r linux-x64 -c Release -o ./publish/xblms-linux-x64</span></p></pre>
2、然后进入发布目录获取部署文件
<pre data-tool="mdnice编辑器"><p class="js_darkmode__13"><span><span>cd</span> ./publish/xblms-linux-x64</span></p></pre>
注意事项
- 确保所有依赖项都已正确安装。
- 在执行构建命令之前,请检查
<span>.csproj</span>
文件中的路径是否正确。
- 如果需要针对不同的Linux发行版进行交叉编译,可能还需要额外的步骤来设置正确的交叉编译工具链。
- 确认
<span>.NET SDK</span>
版本与项目要求相符。
- 对于Linux环境,建议在一个与目标系统相同架构的机器上进行构建,以避免潜在的二进制兼容性问题。
发布和部署手册:https://gitee.com/xblms/xblms/tree/master/部署手册
项目效果
演示环境为单机构版本,多机构版本麻烦自己在本地运行代码体验。
主要区别在于按公司和部门进行权限划分,各自管理和组织考试。
管理端
用户端
移动端
注意事项
由于演示环境限制,同一个账号不能同时在多个设备上登录。
如果突然被强制离线,可能是其他用户登录了同一账号,请重新登录尝试。
项目总结
本文展示了部分功能和内容,如有需求访问项目地址获取详细信息。希望本文能在考试系统开发方面为各位提供有益的帮助。期待大家在评论区留言交流,分享您的宝贵经验和建议。
项目地址
Gitee:https://gitee.com/xblms/xblmes