嗨, 大家好, 我是徐小夕.
之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:
H5-Dooring(页面可视化搭建平台)V6.Dooring(可视化大屏搭建平台)橙子试卷(表单搭建引擎)flowmix/docx多模态文档引擎flowmix/flow 可视化工作流引擎今天给大家分享一个非常有价值的可视化开源项目, 它可以轻松帮助个人或者企业构建可视化问卷系统.
SURVEY基本介绍XIAOJUSURVEY是一套轻量、安全的问卷系统基座,提供面向个人和企业的一站式产品级解决方案,快速满足各类线上调研场景。
系统已沉淀 40+种题型,累积精选模板 100+,适用于市场调研、客户满意度调研、在线考试、投票、报道、测评等众多场景。数据能力上,经过上亿量级打磨,沉淀了分题统计、交叉分析、多渠道分析等在线报表能力,快速满足专业化分析。
开源项目以打造调研基座为核心,围绕平台能力、工程架构、研发体系进行建设,大家可以「快速」打造「专属」问卷系统.
话不多说, 这里先分享一下github地址:
https://github.com/didi/xiaoju-survey
题外话后续我会在flowmix视界 中分享从零构建可视化零代码项目的最佳实践, 也会分享AI + 零代码的技术落地, 大家感兴趣的可以参考一下.
SURVEY可视化问卷系统的技术架构这个项目开源代码我整体看了一遍, 实现层封装的还是不错的, 并且提供了后端 nestjs 的源码, 非常值得参考, 这里分享一下它的实现架构:
我们都知道, 问卷的本质是收集数据与洞察数据,数据贯穿于问卷的全生命周期。从创建开始的数据定义,到回收时的数据加工,再到分析的数据处理,以及数据血缘关系的追踪,在这个过程中,数据不断地发生变化。通过 Schema 来表达领域知识和数据定义,以及数据之间的关联,使得问卷能够支持多样化的应用场景。
我之前设计 Dooring零代码平台 架构的过程中, 其实也涉及到类似的概念, 需要设计底层协议层, 渲染层, 业务应用层等, 这样才能把整个业务能力流转起来, 类似如下图所示:
再回到SURVEY可视化问卷系统, 它的开源协议和无聊之间协议也做了规范化设计, 具体协议流转逻辑如下图所示:
问卷系统整体数据流设计问卷本身为了在保存问卷修改时不影响已发布的内容,SURVEY对保存和发布分别使用了不同的表来存储。
管理端:
1、编辑问卷:仅将问卷数据存入问卷配置表
2、发布问卷:将问卷配置表数据复制到问卷发布表
投放端:
1、问卷内容:从问卷发布配置表获取相关问卷配置
2、提交问卷:存入回收表
具体流程可以参考下图:
其实分析到这里, 大家已经对这款开源可视化问卷系统有个相对完整的认知了, 接下来和大家分享一下它的物料数据结构:
// 指定判断题有哪些属性可配,以下以基础配置为例 (指定设置器为CheckboxGroup,即多选框组的交互形式){ title: '判断题', type: 'binary-choice', componentName: 'BinaryChoiceModule', formConfig: [{ name: 'basicConfig', label: '基础配置', type: 'CheckboxGroup', key: 'basicConfig', labelStyle: { 'font-weight': 'bold', }, options: [ { label: '必填', key: 'isRequired', }, { label: '显示类型', key: 'showType', }, { label: '显示序号', key: 'showIndex', }, { label: '显示分割线', key: 'showSpliter', tip: '题目下方分割线,仅在移动端展示。', }, ], valueAdapter({ moduleConfig }) { return _pick( moduleConfig, this.options.map((item) => item.key) ); }, }], // 编辑态不显示选项编辑以及不显示选项编辑工具条 editConfigure: { optionEdit: { show: false, }, optionEditBar: { show: false, configure: { showOthers: false, showAdvancedConfig: false, }, }, },}逻辑编排能力对于问卷系统, 其实有一个非常核心的概念就是逻辑编排, 我们需要对用户选择的不同题型, 做不用的逻辑处理, 比如A用户选择了B答案, 我需要在后面的题型里做动态调整, 那么这个时候 逻辑编排能力就非常重要了.
好啦, 后续会和大家支持非常可视化低代码高价值项目和最佳实践, 欢迎大家留言反馈~这里先分享一下github地址:
https://github.com/didi/xiaoju-survey
最近做的多模态文档产品也许关注我公众号的朋友已经看过我之前做的另一款产品——flowmix/docx, 它是另一款搭建类产品, 类似于飞书和Notion, 可以使用它轻松构建企业下一代知识库产品.
如果大家感兴趣, 也可以在线体验一下.
文档地址:http://flowmix.turntip.cn/docx/
如果你有好的想法和建议, 也欢迎随时留言区交流讨论~