掘金 后端 ( ) • 2024-05-09 23:31

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

项目介绍

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

_20240509223242.jpg

_20240509223242.jpg

  • 缺点

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

项目部署

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

  • 快速体验部署

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

docker run -p 1991:1991 surveyking/surveyking

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

  • 正式环境部署

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

_20240509225008.png

_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

_20240509230901.jpg

  • 问卷设置

_20240509230949.jpg

_20240509230949.jpg

  • 问卷数据查看

_20240509231250.jpg

_20240509231250.jpg

  • 问卷数据报表

_20240509231355.jpg

_20240509231355.jpg

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

总结

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