写点什么

领域驱动设计:问卷 schema 的原理

作者:XIAOJUSURVEY
  • 2024-08-01
    浙江
  • 本文字数:846 字

    阅读完需:约 3 分钟

领域驱动设计:问卷schema的原理

文内项目 Github:XIAOJUSURVEY


概念和原理

领域模型

问卷的本质是收集数据与洞察数据,数据贯穿于问卷的全生命周期。从创建开始的数据定义,到回收时的数据加工,再到分析的数据处理,以及数据血缘关系的追踪,在这个过程中,数据不断地发生变化。通过 Schema 来表达领域知识和数据定义,以及数据之间的关联,使得问卷能够支持多样化的应用场景。


B 端问卷设计实际是在设置问卷 schema 的值,C 端基于 schema 生成问卷内容,进而产生回收数据。

领域协议

题型是问卷的核心基础元素,随着业务场景的复杂度提升,除了数据的管理,我们还需要对题型组件进行协议约定以便更好地复用和管理。所以我们把领域协议拆分成两部分,问卷业务协议 + 物料协议:


1、问卷业务协议,即 问卷 Schema

业务描述:问卷协议、题型协议。

2、物料协议,即 UI Schema

物料描述: 题型物料协议。

以下我们主要围绕问卷 Schema 展开讲解,UI 物料组件的设计原理可查看 题型场景化设计题型物料化设计

问卷 Schema

问卷 Schema 可以分为两部分:

1、问卷基础配置如有效期、主题配置等。

2、不同题型有不同的配置。

1、基础信息 Schema 结构

问卷基础信息的 Schema 模板以 json 文件的形式维护在服务端 server/src/modules/survey/template/surveyTemplate

问卷基础信息配置,server/src/modules/survey/template/surveyTemplate/templateBase.json

2、题型信息 Schema 结构

题型配置分为两部分:

1、基础配置,server/src/modules/survey/template/surveyTemplate/normal.json,具体字段含义可查 业务协议


2、前端物料库维护题型字段,不同的题型有不同的 xxxModule/meta.js,如 web/src/materials/questions/widgets/InputModule/meta.js,具体题型的字段可查 题型协议字段

(后续考虑以更好的方式进行维护)

协议手册

《协议设计原理》

《问卷业务协议规范》


关于我们

感谢看到最后,我们是一个多元、包容的社区,我们已有非常多的小伙伴在共建,欢迎你的加入。

Github:XIAOJUSURVEY


社区交流群

Star

开源不易,请star一下 ❤️❤️❤️,你的支持是我们最大的动力。


发布于: 刚刚阅读数: 6
用户头像

XIAOJUSURVEY

关注

@滴滴 github.com/didi/xiaoju-survey 2024-05-20 加入

「快速」打造「专属」问卷系统, 让调研「更轻松」

评论

发布
暂无评论
领域驱动设计:问卷schema的原理_schema_XIAOJUSURVEY_InfoQ写作社区