嗨, 大家好, 我是徐小夕.
之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:
今天给大家分享一个非常有价值的可视化开源项目, 它可以轻松帮助个人或者企业构建可视化问卷系统.
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/
如果大家对工作流, 流程引擎感兴趣, 也可以在下方交流讨论:
后续我会持续迭代工作流引擎, 如果大家感兴趣, 也可以关注下面的公众号:
如果你有好的想法和建议, 也欢迎随时留言区交流讨论~