Surveyor技术文档

介绍

Surveyor(调查者)是一款基于用户行为分析的问卷效度提升工具。

主要特性

除了一般的编辑问卷、回答问卷、收集数据、统计分析等功能外,我们还提供下列特性:

  • 提升信效度
    1)测谎题
    由于回答惯性、掩蔽倾向、不认真答题等情况的存在,设置测谎题是很有必要的。小程序将提供三类测谎题可供用户选择:选项检测题、生活中常见现象、识别性标识。通过被访问者答题情况,判断其是否认真作答。
    2)统计答题时间
    测量时间充分是提高信度的技巧之一。回收问卷后统计答题时间,去掉所花时长异常的答卷。

  • 数据分析
    与SPSS相结合,做到数据“轻分析”,让非专业的问卷编制者也可以实现对测量结果的专业化分析。通过求相关系数,进行相关性和信效度分析,判断所得的数据结果是否可靠。

  • 点数悬赏
    每个用户注册即可获得初始点数20点。问卷发放者可以随问卷悬赏点数,吸引更多被试进行答题。所有用户可按价格、发布时间等进行排序筛选,寻找自己想要完成的问卷。平台保证每人同一份问卷至多回答一次,且认真作答(即顺利通过测谎题)方可获得相应点数。

界面截图

在这里插入图片描述

下载

小程序前端:https://github.com/fairy825/Surveyor-fromend
后端:https://github.com/fairy825/SurveyorWX

运行

  • 安装mysql数据库,作者所用mysql版本为5.7
  • 执行surveyor.sql,初始化数据库环境
  • src/main/resources/application.properties配置文件,修改数据连接,账号和密码,改为您所连接数据库的配置。local为本地开发环境,dev为开发服务器的环境,produce为正式上线的环境
  • 可修改服务器端口或者context-path,默认的context-path为/
  • 执行Application类中的main方法
  • 打开Redis
  • 系统默认登录账号密码: surveyor/surveyor

部署

  • 执行maven clean
  • 执行maven install
  • 在target目录下即可看到打包好的文件

开发手册

系统结构

  • 模块结构
    使用SpringBoot+Mysql+Mybatis+Redis+Swagger2进行开发,其中comparator层为关于问卷类的比较器,org层为自动生成ID的工具类。
    在这里插入图片描述
  • 前端结构
    在这里插入图片描述
  • 数据库结构
    在这里插入图片描述

API参考

调用方式

API调用主要是通过用户向API的服务端地址发送HTTP GET/POST请求,并按照接口说明填写相应的请求参数完成的。服务端接收到请求后,系统会按照请求的处理情况,返回处理结果。
Url: http://surveyor.com/s/{相关类名}/{函数名}
返回JSON格式:
在这里插入图片描述

API调用

主要接口可以通过Swagger2查看: http://localhost:8080/swagger-ui.html

登陆注册

在这里插入图片描述

  • url: http://localhost:8080/regist
  • 参数: username(String) password(String)
  • 返回结果:
    在这里插入图片描述
    注册同上,略。
问卷池

在这里插入图片描述

  • url: http://localhost:8080/survey/showAll
  • 参数:
    • searchContent 需要搜索的内容 (required)
    • page 实现分页
    • pageSize 分页大小
    • sort 根据sort的值可以改变问卷池的问卷排列顺序
    • isSaveRecord 是否加入搜索记录 (required)
  • 返回结果:
    在这里插入图片描述
展示问卷

在这里插入图片描述
在这里插入图片描述

  • url: http://localhost:8080/question/queryAll
  • 参数:
    • surveyId 问卷ID (required)
  • 返回结果:
    在这里插入图片描述
编辑问卷

在这里插入图片描述

  • url: http://localhost:8080/survey/add
  • 参数:
    • name 问卷名 (required)
    • description 问卷描述
    • needPaper 所需要回收的问卷数量
    • anony 答卷是否匿名
    • testlie 是否加入测谎题
    • end_time 截止时间
    • minTime 最短允许提交时间,用时少于该时间不予提交
    • price 问卷点数,点数由该用户支付,正常回答的其他用户可平分点数
    • userId 发问卷的用户ID (required)
  • 返回结果:
    在这里插入图片描述
编辑问题

在这里插入图片描述

  • url: http://localhost:8080/statistics
  • 参数:
    • surveyId 问卷ID
  • 返回结果:
    在这里插入图片描述
统计分析
  • 给出每道题的统计结果,包括饼状图、条形图。
  • 项目区分度可以说明一道题的有效程度,反映了这道题出得好不好。
    在这里插入图片描述
  • url: http://localhost:8080/statistics
  • 参数:
    • surveyId 问卷ID (required)
  • 返回结果:
    在这里插入图片描述

过滤器

MiniInterceptor负责控制用户登陆状态,SurveyStatusInterceptor负责实时更新问卷状态(未发布、进行中、已删除),控制问卷的截止(到截止时间、满足所需答卷数量)等
在这里插入图片描述
MiniInterceptor:
在这里插入图片描述

使用Redis

  • 可以在application.properties中修改redis相关配置
  • Redis结构如下:
    • start-time存储各用户打开当前问卷的时间
    • user-redis-session存储userToken,维护用户登陆状态
    • 在这里插入图片描述
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值