侧边栏壁纸
博主头像
是羊刀仙啊博主等级

闲不下来!

  • 累计撰写 91 篇文章
  • 累计创建 33 个标签
  • 累计收到 1 条评论

目 录CONTENT

文章目录

功能最强大的问卷考试系统,NAS快速一键部署!再来一场酣畅淋漓的考试吧!

羊刀仙
2024-12-02 / 0 评论 / 0 点赞 / 11 阅读 / 6264 字
温馨提示:
本文最后更新于 2024-12-02,若内容或图片失效,请留言反馈。部分素材来自网络,若不小心影响到您的利益,请联系我们删除。

大家好,我是羊刀仙。

本篇来介绍一个功能最强大的调查问卷系统和考试系统:卷王。项目开源免费,支持NAS上通过Docker一键部署,

我在搭建之后进行体验,的确很强,卷王名不虚传!

无论是题型、问题设置、问题校验、逻辑设置、数据导出等,相比主流商业调查问卷系统,开源卷王都毫不逊色。

开源卷王= 调查问卷系统 + 在线考试系统 + 题库刷题系统 + 投票系统 + 公开查询系统 +成绩单查询系统

此外,卷王还支持如 答案唯一设置、多问卷数据关联、视频题、图片选择题、答题完自定义提示语、答题完自定义跳转链接、考试完根据分数动态显示提示语、公式计算等等,超多功能,等你发现。

基于 MIT license,任何人、任何组织、任何行业都可以使用卷王轻松实现 问卷调查、投票、考试、测评、公开查询等场景。

功能概览

🥇 支持 20 多种题型,如填空、选择、下拉、级联、矩阵、分页、签名、题组、上传、横向填空等
🎉 多种创建问卷方式,Excel 导入问卷、文本导入问卷、在线编辑器编辑问卷
💪 多种问卷设置,支持白名单答卷、公开查询、答卷限制等
🎇 数据,支持问卷数据新增、编辑、标记、导出、打印、预览和打包下载附件
🎨 报表,支持对问题实时统计分析并以图形(条形图、柱形图、扇形图)、表格的形式展示输出和导出
🚀 安装部署简单(最快 1 分钟部署),支持一键 windows 部署、一键 docker 部署、前后端分离部署、单 jar 部署、二级目录部署
🥊 响应式布局,所有页面完美适配电脑端和移动端(包含问卷编辑、设置、答卷)
👬 支持多人协作管理问卷
🎁 后端支持多种数据库,可支持所有带有 jdbc 驱动的关系型数据库
🐯 安全、可靠、稳定、高性能的后端 API 服务
🙆 支持完善的 RBAC 权限控制
🦋 支持可视化配置问卷跳转和显示逻辑,以及通过公式实现自定义逻辑(卷王的逻辑设置比目前主流商业调查问卷系统强大的多)

显示隐藏逻辑
值计算逻辑 动态计算问题答案,从最简单的根据身高体重计算 BMI,到复杂的根据多个问题答案组合逻辑和数值实现复杂的运算
文本替换逻辑 动态显示题目内容
值校验逻辑 可以根据其他问题答案来判断当前问题是否有效
必填逻辑 动态判断当前问题是否必填
选项自动勾选逻辑 根据其他问题和选项答案自动勾选
选项显示隐藏逻辑 动态的显示或者隐藏选项
结束问卷逻辑
跳转逻辑 动态跳转
结束问卷自定义提示语逻辑 答卷后,可以根据问卷答案或者考试分数来显示不同的提示语信息
自定义跳转链接逻辑 答卷后,可以根据问卷答案或者考试分数来跳转到不同的链接,且支持携带答案参数

🌈 支持选项唯一设置,多问卷数据关联查询、更新和删除,考试自动算分,自定义提示语,自定义跳转链接等等

部署流程

本文以威联通NAS为例,通过Docker Compose进行部署,其他平台部署基本通用。

首先准备一个文件夹,作为项目的安装目录,我这里命名为surveyking,具体路径为/share/Container/surveyking

截屏2024-12-02 10.11.45.png

打开你所在平台的Docker管理工具,创建新的Docker应用。将以下代码修改后粘贴进框内进行创建。

version: '3.9' # 最新版Docker Compose该行可删除
services:
    surveyking:
        image: surveyking/surveyking
        container_name: surveyking
        volumes:
            - /share/Container/surveyking/files:/app/files  # 文件目录,存储上传的文件,冒号左侧改成自己的,下同
            - /share/Container/surveyking/logs:/app/logs    # 运行日志
            - /share/Container/surveyking/db:/app/db # 数据库文件
        ports:
            - 5090:1991 # 冒号左侧可改
        restart: always  

截屏2024-12-02 10.19.35.png

Docker 一键部署使用的是内置的 H2 数据库,相比 MySQL 的好处是无需额外配置或安装数据库,部署更为简单和快速。关于 MySQL 数据库运行,我放在文末,大家需要的自取。

此时,web输入NAS_IP:5090便可成功访问并使用。初始界面如下。

截屏2024-12-02 10.50.17.png

#用户名和密码
admin
123456

部分展示

可以创建问卷、在线考试项目,并且支持本地多种格式导入。

截屏2024-12-02 10.59.51.png

新建问卷,可以看到如介绍所说,可添加的项相当丰富,目之所及几乎都可以进行编辑。

截屏2024-12-02 11.00.33.png

问卷设置界面,感觉能满足绝大多数人的需求。创建好的问卷还可以通过链接或二维码的形式进行投放。

截屏2024-12-02 13.34.06 拷贝.png

更让人惊喜的是他的组织管理系统,细致入微。

截屏2024-12-02 10.55.52.png

截屏2024-12-02 10.54.57.png

截屏2024-12-02 10.56.32.png

设置还提供了一个行业字典方便用户使用,当然我们也可以针对需求创建个性化字典。

截屏2024-12-02 10.56.21.png

反向代理

问卷和考试系统大概率需要用到外网访问,NAS上建议使用Lucky进行反向代理。可以参考往期教程。

MySQL(可选,普通用户不建议)

⭕️已经部署MySQL

version: '3.9' # 最新版Docker Compose该行可删除
services:
    surveyking:
        image: surveyking/surveyking
        container_name: surveyking
        volumes:
            - /share/Container/surveyking/files:/app/files  # 文件目录,存储上传的文件,冒号左侧改成自己的,下同
            - /share/Container/surveyking/logs:/app/logs    # 运行日志
        ports:
            - 5090:1991 # 冒号左侧可改
        environment:
            - PROFILE=mysql                       # 使用外部 MySQL 数据库
            - MYSQL_USER=surveyking               # 数据库用户名
            - MYSQL_PASS=surveyking               # 数据库密码
            - DB_URL=jdbc:mysql://172.x.x.x:xxxx/surveyking?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8
        restart: always

172.x.x.x:xxxx,冒号左侧部分替换成你数据库所在服务器的IP,冒号右侧部分替换成数据库服务的端口号。

⭕️未部署MySQL

version: '3.9' # 最新版Docker Compose该行可删除
services:
    mysql:
        image: mysql:8.0
        container_name: mysql
        environment:
            - MYSQL_ROOT_PASSWORD=root_password   # MySQL 根用户密码
            - MYSQL_DATABASE=surveyking           # 创建数据库
            - MYSQL_USER=surveyking               # 新建用户
            - MYSQL_PASSWORD=surveyking           # 新建用户密码
        volumes:
            - /share/Container/mysql/data:/var/lib/mysql  # 持久化存储
        ports:
            - 3306:3306 # 默认 MySQL 端口
        restart: always

    surveyking:
        image: surveyking/surveyking
        container_name: surveyking
        volumes:
            - /share/Container/surveyking/files:/app/files  # 文件目录,存储上传的文件,冒号左侧改成自己的,下同
            - /share/Container/surveyking/logs:/app/logs    # 运行日志
        ports:
            - 5090:1991 # 冒号左侧可改
        environment:
            - PROFILE=mysql                                 # 使用外部 MySQL 数据库
            - MYSQL_USER=surveyking                        # 数据库用户名
            - MYSQL_PASS=surveyking                        # 数据库密码
            - DB_URL=jdbc:mysql://172.x.x.x:xxxx/surveyking?rewriteBatchedStatements=true&useUnicode=true&characterEncoding=UTF-8 
        depends_on:
            - mysql                                         # 确保 MySQL 服务先启动
        restart: always

总结

作为一款开源的问卷管理工具,SurveyKing 的功能和灵活性让我感到惊喜。无论是快速部署的便捷性,还是强大的客制化能力,都让我深刻体会到它为问卷管理带来的效率提升。这次部署的过程并不复杂,按照教程一步步操作下来,相信各位能轻松完成。

如果你正在寻找一款稳定、易用的问卷工具,尤其是想要掌控自己的数据隐私,SurveyKing 无疑是一个很棒的选择。。

希望这篇教程能帮助大家快速上手,如果觉得有用,别忘了三连支持下!

感谢观看,本文完。

0

评论区