一、DWSurvey实现:
参考文档:快速入门 | 调问开源问卷系统
管理员通过拖拽题型生成表单, 点击保存,预览,发布问卷。用户根据预览的地址,填写问卷提交。管理员可以在我的问卷里看到答卷情况。
关于数据存储,如下图,问卷、问卷详情、问卷题目(分为单选题、多选题等)、问卷题目对应的选项、用户填写的问卷、用户填写的问卷每一题的答案(分为单选题、多选题等)都放到了相应的表里。
优点:使用表单拖拽题型生成题目,比较方便和直观;将每种题型和选项存储到表记录里,后续可以做题库、打乱每题的题目顺序等功能;还实现了短链接、二维码、统计等小功能。
二、TDUCK实现
参考文档:快速启动 | 开源问卷调查系统-填鸭表单
管理员通过拖拽生成表单, 点击保存,预览,发布问卷。用户根据预览的地址,填写问卷提交。管理员可以在数据菜单里看到答卷情况。
关于数据存储,如下图,问卷、问卷题目、用户填写的答案相应的表里,表的数量比较少;每一道题对应一条fm_user_form_item记录,如果是单选题,题目里的具体的每一项信息保存在schema字段(类型为json), 用户填写的答案在fm_user_form_data表的original_data字段(类型为json,key为题的标识,value为选择的答案,对单选框,使用题的标识+label保存了单选的名称)。
优点: 比DWSurvey支持更多的题型和设置;有按特定文本规则进行导入题目、表单内容自动保存等小功能;