企业级可视化问卷系统, 全面开源!

科技   2024-10-21 08:30   四川  

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

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

今天给大家分享一个非常有价值的可视化开源项目, 它可以轻松帮助个人或者企业构建可视化问卷系统.

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: {
      showfalse,
    },
    optionEditBar: {
      showfalse,
      configure: {
        showOthersfalse,
        showAdvancedConfigfalse,
      },
    },
  },
}

逻辑编排能力

对于问卷系统, 其实有一个非常核心的概念就是逻辑编排, 我们需要对用户选择的不同题型, 做不用的逻辑处理, 比如A用户选择了B答案, 我需要在后面的题型里做动态调整, 那么这个时候 逻辑编排能力就非常重要了.

好啦, 后续会和大家支持非常可视化低代码高价值项目和最佳实践, 迎大家留言反馈~这里先分享一下github地址:

https://github.com/didi/xiaoju-survey

最近做的多模态文档产品

也许关注我公众号的朋友已经看过我之前做的另一款产品——flowmix/docx, 它是另一款搭建类产品, 类似于飞书和Notion, 可以使用它轻松构建企业下一代知识库产品.

如果大家感兴趣, 也可以在线体验一下.

体验地址: http://flowmix.turntip.cn/docx/

如果大家对工作流, 流程引擎感兴趣, 也可以在下方交流讨论:

后续我会持续迭代工作流引擎, 如果大家感兴趣, 也可以关注下面的公众号:

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

往期精彩:

趣谈前端
徐小夕【知乎专栏作家】掘金签约作者,定期分享前端工程化,可视化,企业实战项目知识,深度复盘企业中经常遇到的500+技术问题解决方案。【关注趣谈前端,前端路上不迷茫】
 最新文章