.NET 8.0 开源在线考试系统(支持移动端)

news/2024/10/30 12:12:47/文章来源:https://www.cnblogs.com/chinasoft/p/18515602

https://www.cnblogs.com/1312mn/p/18510576

 

前言

推荐一款基于.NET 8.0 免费开源跨平台在线考试系统,系统不仅支持桌面端,还特别优化了移动端的用户体验。

通过本系统可以轻松搭建自己的在线考试平台,实现随时随地的测试与评估。

本文将详细介绍系统的功能特点、技术架构以及如何部署和使用。

系统介绍

支持跨平台、国产化部署。

支持国产人大金仓、达梦、OceanBase数据库 及 MySql、SqlServer、PostgreSql、SQLite 等常见数据库,极大地提高了项目的可移植性和适用范围。

系统不仅支持主流的操作系统,还特别针对国产化环境进行了优化,确保在多种国产操作系统上稳定运行。

系统功能

1、管理端首页

基本信息:展示当前账号的信息及欢迎语。

预览信息:查看管理员的基本资料。

修改信息:更新个人信息。

修改密码:更改登录密码。

退出登录:安全退出系统。

2、发布考试

支持多种考试模式(正式考试、模拟测试)。

提供灵活的试题生成方式(随机出题、手动选题、开考随机)。

支持自动与手动阅卷。

考试合格者可直接获得证书。

3、试卷管理

试卷分类:多级分类管理,支持批量操作。

发布考试:包括保存草稿、正式发布等功能。

复制:一键复制已有的试卷。

预览:查看试卷内容。

修改:编辑试卷信息。

启停用:控制试卷的状态。

删除:移除不再需要的试卷。

4、阅卷

阅卷:对主观题进行评分。

预览:查看阅卷情况。

考试管理:涵盖考生、成绩、阅卷进度、数据分析等方面。

5、考试管理

题型管理:提供单选、多选、判断、填空、简答题型,并支持扩展。

题库管理:批量导入/导出试题,支持预览。

证书管理:创建证书模板,支持拖拽定位及预览。

题目组:组织题目便于练习和组合成卷。

6、问卷调查

支持内部与外部问卷,后者可通过二维码填写。

发布:创建新的问卷。

复制:快速复制现有问卷。

预览:查看问卷设计。

修改:编辑问卷内容。

启停用:控制问卷的有效性。

删除:移除问卷。

问卷统计:生成统计图表。

7、其他功能

企业管理:包括组织架构调整、人员权限设定等。

系统管理:如管理员配置、用户设置、数据库维护、安全规则制定等。

日志管理:记录管理员操作、用户活动、系统错误,以及相关设置。

统计图表:展示用户登录频率、安全拦截次数等关键指标。

支持环境

支持的操作系统

1、Windows

2、Linux

支持的数据库

系统源码

系统代码组织框架结构,如下所示:

复制代码
├── src (源代码)
│   ├── Datory (数据库基础类)
│   ├── XBLMS (接口基础类)
│   ├── XBLMS.Core (核心代码)
│   ├── XBLMS.Web (UI)
│   │   ├── wwwroot (对外访问目录)
│   │   ├── Controllers (WebApi)
│   │   ├── log (运行日志)
│   │   ├── Pages (页面)
│   │   ├── appsettings.json (配置文件)
│   │   ├── web.config (配置文件,非IIS部署可以删除)
│   │   ├── xblms.json (配置文件)
├── appsettings.json (配置文件)
├── build.sln (解决方案,用于发布)
├── gulpfile.js (配置文件,用于发布)
├── xblms.sln (解决方案,用于开发)
复制代码

项目部署

发布跨平台版本,为了构建和发布适用于不同操作系统的XBLMS,请遵循以下步骤:

Windows (x64)

1、执行以下命令来安装依赖项、构建前端资源、编译.NET解决方案并发布.NET Core应用程序:

npm install
npm run build-win-x64
dotnet build ./build-win-x64/build.sln -c Release
dotnet publish ./build-win-x64/src/XBLMS.Web/XBLMS.Web.csproj -r win-x64 -c Release -o ./publish/xblms-win-x64

2、然后进入发布目录获取部署文件

cd ./publish/xblms-win-x64

Linux (x64)

1、执行以下命令来安装依赖项、构建前端资源、编译.NET解决方案并发布.NET Core应用程序:

npm install
npm run build-linux-x64
dotnet build ./build-linux-x64/build.sln -c Release
dotnet publish ./build-linux-x64/src/XBLMS.Web/XBLMS.Web.csproj -r linux-x64 -c Release -o ./publish/xblms-linux-x64

2、然后进入发布目录获取部署文件

cd ./publish/xblms-linux-x64

注意事项

  • 确保所有依赖项都已正确安装。
  • 在执行构建命令之前,请检查.csproj文件中的路径是否正确。
  • 如果需要针对不同的Linux发行版进行交叉编译,可能还需要额外的步骤来设置正确的交叉编译工具链。
  • 确认.NET SDK版本与项目要求相符。
  • 对于Linux环境,建议在一个与目标系统相同架构的机器上进行构建,以避免潜在的二进制兼容性问题。
  • 发布和部署手册:https://gitee.com/xblms/xblms/tree/master/部署手册

项目效果

演示环境为单机构版本,多机构版本麻烦自己在本地运行代码体验。

主要区别在于按公司和部门进行权限划分,各自管理和组织考试。

管理端

 

用户端

移动端

注意事项

  • 由于演示环境限制,同一个账号不能同时在多个设备上登录。

  • 如果突然被强制离线,可能是其他用户登录了同一账号,请重新登录尝试。

项目总结

本文展示了部分功能和内容,如有需求访问项目地址获取详细信息。希望本文能在考试系统开发方面为各位提供有益的帮助。期待大家在评论区留言交流,分享您的宝贵经验和建议。

项目地址

Gitee:https://gitee.com/xblms/xblmes

最后

如果你觉得这篇文章对你有帮助,不妨点个赞支持一下!你的支持是我继续分享知识的动力。如果有任何疑问或需要进一步的帮助,欢迎随时留言。

也可以加入微信公众号[DotNet技术匠] 社区,与其他热爱技术的同行一起交流心得,共同成长!优秀是一种习惯,欢迎大家留言学习!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/824091.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

GaussDB数据计算路由层(Coordinator)关键技术方案

GaussDB Kernel V5版本的Catalog还是本地存储, 所以还需要考虑catalog的持久化问题.未来演进元数据解耦,Coordinator 无状态, 就不需要考虑Catalog持久化问题了。但是跨节点场景下的事务提交在Coordinator上还是要持久化的。图14 Coordinator模块图 路由信息:每个表数据共分1…

GaussDB全局事务管理层(GTM)关键技术方案

GTM 仅处理全局时间戳请求, 64位CSN递增,几乎都是CPU ++和消息收发操作。不是每次都写ETCD, 而是采用定期持久化到ETCD 里, 每次写ETCD的CSN要加上一个backup_step (100w), 一旦GTM故障,CSN从ETCD读取出来的值保证单调递增。当前GTM 只完成CSN++, 预估可以支持200M/s 请求…

GaussDB集群管理层(CM)关键技术方案

GaussDB Kernel V5 集群管理层关键模块如下。图4 集群管理层组件设计图 CM 组件提供了四种服务 CM Agent, CM Server, OM Monitor, cm_ctl,与各类实例服务组件(CN, DN, GTM 等)一起构成了整个数据库集群系统。cm_ctl通过命令行执行集群的启动、停止、状态查询、主备倒换、备…

2024年10月中国数据库排行榜:TiDB续探花,GaussDB升四强

10月墨天轮排行榜解读已发布!OceanBase、PolarDB、TiDB三甲格局稳定,GaussDB排名攀升至第四,此外亦有部分产品表现亮眼,一起来看更多排名情况与解读。10月中国数据库流行度排行榜如期发布,再次印证了市场分层的加速形成。国家数据库测评结果已然揭晓,本批次通过的产品数量…

GaussDB技术解读——查询优化器

查询优化阶段主要是SQL执行过程中在优化器SQL Optimizer中执行的部分,优化器作为数据库的大脑是SQL执行路径决策者,从全局视角出发提升查询的性能,降低用户使用数据库调优的门槛。查询优化总体上分为逻辑优化、物理优化。查询优化从总体上可以分成两类: 1、基于规则的逻辑优…

markdown矩阵分块和latex中矩阵分块记录

1. markdown中常见的符号附件 \hat{X} \widehat{X} \check{X} \breve{X} \tilde{X} \dot{X} \ddot{X} \overline{X} \underline{X}2. markdown中矩阵 由\left[ right], \begin{array}{ccc} \end{array}包围,分行由\\实现,分列通过ccc固定列数,列与列间用&分割 代码:\…

二、DEBUG模式及常用指令

debug概述 debug是DOS、Windows都提供的实模式(8086方式)程序的调试工具。使用他可以查看CPU各种寄存器中的内容、内存的情况和在机器码级跟踪程序的运行 debug的功能 调试(Debug)的命令比较多,共有20多个,但这6个命令是和汇编学习密切相关的。 在以后的实验中,我们还会用…

207-FMC207-基于FMC 两路QSFP+光纤收发子卡

FMC207-基于FMC 两路QSFP+光纤收发子卡 一、板卡概述本卡是一个FPGA夹层卡(FMC)模块,可提供高达2个QSFP / QSFP +模块接口,直接插入千兆位级收发器(MGT)的赛灵思FPGA。支持利用Spartan-6、Virtex-6、Kintex-7 、Virtex-7FPGA系列FPGA。兼容xilinx 开发板使用。 实现高…

数据采集与融合实践作业三

数据采集与融合技术实践作业三 scrapy项目gitee链接:https://gitee.com/jsjdjjdjajsd/getinformation/tree/master/作业三 作业①: 要求:指定一个网站,爬取这个网站中的所有的所有图片,例如:中国气象网(http://www.weather.com.cn)。使用scrapy框架分别实现单线程和多线…

《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense

《vue3第五章》新的组件,包含:Fragment、Teleport、Suspense@目录五、新的组件1.Fragment2.Teleport案例完整代码3.Suspense案例完整代码本人其他相关文章链接 五、新的组件 1.Fragment在Vue2中: 组件必须有一个根标签 在Vue3中: 组件可以没有根标签, 内部会将多个标签包含在…

h3c交换机推送日志至syslog服务器

华三官网文档并不完全正确,并且很多系统已经用rsyslog而不是syslog。在这里记录下配置 1、交换机侧配置 [H3C]info-center enable # ip替换成日志服务器的ip 使用local5作为日志主机记录工具。 [H3C]info-center loghost 172.20.161.249 facility local5 [H3C]info-center so…

redisr的发布与订阅

redis发布订阅理解图发布者(Publisher)使用 PUBLISH 命令将消息发布到指定的频道。订阅者(Subscriber)使用 SUBSCRIBE 命令订阅一个或多个频道以接收消息。所有订阅同一频道的订阅者都会收到此消息。频道(Channel)频道是消息的通道,发布者通过指定频道来发布消息,订阅者…