智能评估时代:SurveyKing开源问卷系统YYDS

最近有同事在设计问卷系统,我碰巧在 GitHub 上发现了一个开源的问卷/考试系统,觉得它非常不错,给他推荐了下。今天我打算和家人们分享一下这个发现。

项目介绍

  • 官方网站:https://surveyking.cn/

  • github地址:https://github.com/javahuang/surveyking

  • gitee地址:https://gitee.com/surveyking/surveyking

  • 功能最强大的调查问卷系统和考试系统,有如下特性:
    _20240509222816.jpg

  • 同类型的项目比较:
    _20240509223110.jpg

  • star 详情

该项目目前在github上已有2.9k star

_20240509223242.jpg

  • 缺点

项目后端代码是开源的,项目前端代码部分未提供,整体项目是以打包后的jar文件的形式提供的。

项目部署

我们此处以以docker的形式部署

  • 快速体验部署

作者给我们提供了一个快速部署的docker镜像,我们只需运行以下命令启动项目即可在本地快速体验

docker run -p 1991:1991 surveyking/surveyking

在浏览器访问 http://ip:1991,输入账号密码: admin/123456即可快速体验

  • 正式环境部署

如果我们需要在正式环境使用或者需要持久化我们的数据,则需要依赖mysql数据库,进作者的qq交流群,从群文件中下载最新的jar文件和初始化sql。

_20240509225008.png

第一步:初始化数据库

在mysql数据中创建数据库surveyking,执行我们下载的初始化sql文件init-mysql.sql

第二步:编写docker-compose.yml文件

创建部署目录surveyking,在surveyking下创建docker-compose.yml文件

docker-compose.yml

version: '3.8'
services:
  surveyking:
    environment:
      JAVA_OPTS: "-Xms128m -Xmx1024m"
    image: "openjdk:8u342-jdk"
    container_name: surveyking
    restart: always
    ports:
        - 1991:1991
    logging:
      driver: "json-file"
      options:
        max-file: "5"
        max-size: "100m"
    volumes:
      - "./surveyking-v1.7.1.jar:/surveyking.jar"
      - "./logs:/logs"
      - "./files:/files"
      - "/etc/localtime:/etc/localtime:ro"
    command: [
            "sh",
            "-c",
            "java -jar /surveyking.jar --spring.datasource.url=jdbc:mysql://192.168.10.171:3306/surveyking --spring.datasource.username=root --spring.datasource.password=123456"]

其中 command 启动命令中的参数为我们数据库的连接地址,用户和密码。

创建好之后将我们下载的surveyking-v1.7.1.jar文件复制到docker-compose.yml的同级目录下。

第三步:启动容器

在docker-compose.yml的同级目录下执行以下命令启动容器

docker-compose up -d 

到此处,如果不出意外的话我们项目就部署好了。

使用项目

项目部署好之后在浏览器访问 http://ip:1991,输入账号密码: admin/123456,即可登录系统。作者在官网的使用手册中对于项目的配置有详细的描述,我们此处就简单坐下说明。我比较喜欢的是所有地方支持插入图片的这个功能,我们可以在每个选项、题目、题干说明等地方直接复制粘贴图片、拖拽改变图片大小的功能。

  • 创建问卷

_20240509230901.jpg

  • 问卷设置

_20240509230949.jpg

  • 问卷数据查看

_20240509231250.jpg

  • 问卷数据报表

_20240509231355.jpg

其它功能我们就不在此处说明了,家人们可自行尝试

总结

SurveyKing作为一款开源的问卷考试系统,为教育和企业界提供了一个灵活、高效的评估工具。通过本文的介绍,您可以了解到SurveyKing的主要特点和部署步骤,希望对您有所帮助。

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

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

springboot整合websocket,超简单入门

springBoot整合webSocket,超简单入门 webSocket简洁 WebSocket 是一种基于 TCP 协议的全双工通信协议,它允许客户端和服务器之间建立持久的、双向的通信连接。相比传统的 HTTP 请求 - 响应模式,WebSocket 提供了实时、低延迟的数据传输能力。…

数据库(MySQL)基础:约束

一、概述 1.概念:约束是作用于表中字段上的规则,用于限制存储在表中的数据。 2.目的:保证数据库中数据的正确、有效性和完整性。 3.分类 约束描述关键字非空约束限制该字段的数据不能为nullnot null唯一约束保证该字段的所有数据都是唯一…

QX---mini51单片机学习---(6)独立键盘

目录 1键盘简绍 2按键的工作原理 3键盘类型 4独立键盘与矩阵键盘的特点 5本节相关原理图 6按键特性 7实践 1键盘简绍 2按键的工作原理 内部使用轻触按键,常态按下按键触点才闭合 3键盘类型 编码键盘与非编码键盘 4独立键盘与矩阵键盘的特点 5本节相关原理…

硬性清空缓存的方法

前端发布代码后,我们是需要刷新页面再验证的。有时候仅仅f5 或者ctrlshiftdelete快捷键仍然有历史缓存,这时可以通过下面的方法硬性清空缓存。 以谷歌浏览器为例,打开f12,右键点击刷新按钮,选择【清空缓存并硬性加载】…

计算机网络5——运输层2TCP原理

文章目录 一、传输控制协议 TCP 概述1、TCP最主要的特点2、TCP的连接 二、可靠传输的工作原理1、停止等待协议1)无差错情况2)出现差错3)确认丢失和确认迟到4)信道利用率 2、连续 ARQ协议 三、TCP 报文段的首部格式 一、传输控制协…

代码审计-PHP模型开发篇动态调试反序列化变量覆盖TP框架原生POP链

知识点 1、PHP审计-动态调试-变量覆盖 2、PHP审计-动态调试-原生反序列化 3、PHP审计-动态调试-框架反序列化PHP常见漏洞关键字 SQL注入: select insert update delete mysql_query mysqli等 文件上传: $_FILES,type"file"&…

Kafka 执行命令超时异常: Timed out waiting for a node assignment

Kafka 执行命令超时异常: Timed out waiting for a node assignment 问题描述: 搭建了一个kafka集群环境,在使用命令行查看已有topic时,报错如下: [rootlocalhost bin]# kafka-topics.sh --list --bootstrap-server…

Vue自定义封装音频播放组件(带拖拽进度条)

Vue自定义封装音频播放组件(带拖拽进度条) 描述 该款自定义组件可作为音频、视频播放的进度条,用于控制音频、视频的播放进度、暂停开始、拖拽进度条拓展性极高。 实现效果 具体效果可以根据自定义内容进行位置调整 项目需求 有播放暂停…

51单片机软件环境安装

keli5的安装 把CID放到破解程序中 破解程序会给一串数字然后填到那个框中 驱动程序的安装 安装完了以后 设备管理器会出现这个 同时c盘会出现这个文件夹

巨量千川的投放技巧,一站式全自动千川投流工具(抖音玩家必备)

随着抖音平台的快速发展,越来越多的品牌和广告商意识到抖音的潜力,并希望能够通过投放广告来获取更多的曝光和用户参与。在这个过程中,巨量千川成为了抖音玩家必备的一站式全自动千川投流工具,为广告商提供了投放技巧,…

word-快速入门

1、熟悉word界面 2、word排版习惯 3、排版文本基本格式 1、word界面 选项卡 功能组 点击功能组右下角小三角可以开启完整功能组,获得启动器 软件右上角有功能显示折叠按钮 2、排版好习惯 (1)随时保存 (2)规范文件命…

408算法题专项-2015

题目: 分析:时间复杂度尽可能高效,提示可能存在一种空间换时间的算法 思路一:空间换时间 思考:开数组储存结点数据域,对于只出现一次或多次出现第一次的,保留,对于多次出现的&…

流程详解!2024年成都市发明专利申请流程及各阶段操作要点

一、受理阶段 时间期限: 电子申请2天内,纸质申请当天现场提交,邮寄约为半月。 申请人: 1. 委托专利代理机构,签订委托代理协议和保密协议等; 2. 提供原始技术资料和个人以及单位信息等; 3…

片冰机工作原理

片冰机工作原理 1、制冰用的水需要加盐(行话叫做加药)至于多少量。看制冰量多少调制泵(柱塞泵)自动调整。 2、制冰机主体分两腔体外腔体内盘的一定密度的铜管。专业术语叫(蒸发腔)就是俗话讲的制冷的东西。 3、外腔体内是一个很规则的圆不锈钢腔体,中心有一三叶刮…

基于Django图像识别系统毕业设计(付源码)

前言:Django是一个由Python编写的具有完整架站能力的开源Web框架,Django本身基于MVC模型,即Model(模型)View(视图) Controller(控制器)设计模式,因此天然具有…

零售数据分析之连带销售分析怎么做

连带销售是指顾客在购买某款产品后,通常会顺手也买上另一款产品。这种情况在超市零售中屡见不鲜,因此通常来说在做超市零售数据分析时,都需要做一个详尽的连带销售分析。那么做零售数据分析中的连带销售分析,要计算分析哪些指标&a…

MBR与GPT分区表

文章目录 MBR分区表MBR分区表结构MBR分区表项查看U盘的分区表信息查看系统中所有磁盘的分区类型获取分区表信息 GPT分区表保护性MBRGPT分区表头格式GPT分区表项格式分区类型分区属性分区表项内容 MBR分区表 CHS :磁头(Heads)、柱面(Cylinder…

AH8651-220V转3.3V低成本方案

本篇文章将介绍一种220V转3.3V低成本方案,该方案采用AH8651芯片,无需外接电感,具有高效率的智能控制、宽广的交流输入范围、内置过流保护、欠压保护和过热自动关断等功能。AH8651可以通过SEL引脚选择输出电压,启动时通过内部高压电…

【连连国际注册/登录安全分析报告】

连连国际注册/登录安全分析报告 前言 由于网站注册入口容易被黑客攻击,存在如下安全问题: 暴力破解密码,造成用户信息泄露短信盗刷的安全问题,影响业务及导致用户投诉带来经济损失,尤其是后付费客户,风险巨…

Numpy的数组操作

文章目录 数组的创建创建全0的二维数组a(3,3)全1的二维数组b(3,4)随机数二维数数组c(2,3)效果截图 数组的属性查看b数组的维度查看b数组元素的个数效果截图 数组的维度操作将数组c的行变列,返回最后一个元素返回数组c第…