安利一款企业级开源可视化问卷系统

科技趣谈有前端 2024-10-22 03:10:23

嗨, 大家好, 我是徐小夕.

之前一直在社区分享零代码&低代码的技术实践,也陆陆续续设计并开发了多款可视化搭建产品,比如:

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/

如果你有好的想法和建议, 也欢迎随时留言区交流讨论~

0 阅读:0

科技趣谈有前端

简介:感谢大家的关注