一套轻量、安全的问卷系统基座,提供面向个人和企业的一站式产品级解决方案

大家好,今天给大家分享的是一款轻量、安全的问卷系统基座。
XIAOJUSURVEY

XIAOJUSURVEY是一套轻量、安全的问卷系统基座,提供面向个人和企业的一站式产品级解决方案,快速满足各类线上调研场景。

内部系统已沉淀 40+种题型,累积精选模板 100+,适用于市场调研、客户满意度调研、在线考试、投票、报到、测评等众多场景。数据能力上,经过上亿量级打磨,沉淀了分题统计、交叉分析、多渠道分析等在线报表能力,快速满足专业化分析。

功能简介

  • 问卷管理:创、编、投、收、数据分析

  • 多样化题型:单行输入框、多行输入框、单项选择、多项选择、判断题、评分、投票、…

  • 用户管理:登录、注册、权限管理

  • 数据安全:传输加密、脱敏等

技术架构

Web 端:Vue3 + ElementPlus

Server 端:Nestjs + MongoDB
架构图

  • B端:面向问卷管理者,专注于问卷管理、问卷投放和数据分析三大核心能力的建设。(当然实际场景中,还涉及样本、渠道等需要进一步建设的能力。)

  • C端:面向问卷使用者,专注于多端渲染、运行时和权限管控三大核心能力的建设。(多端即在PC、H5、APP、小程序等均可单独或嵌入应用。)

  • 服务端:专注于API打造、安全能力 以及 数据资产 相关能力建设。

项目优势

一、具备全面的综合性和专业性

  • 制定了问卷标准化协议规范

领域标准保障概念互通,是全系统的基础和核心。基于实际业务经验,沉淀了两大类:

业务描述:问卷协议、题型协议
物料描述:题型物料协议,包含题型和设置器

  • 制定了问卷 UI/UX 规范

设计语言是系统灵活性、一致性的基石,保障系统支撑的实际业务运转拥有极高的用户体验。包含两部分:

设计规范:灵活、降噪、统一
交互规范:遵循用户行为特征,遵循产品定位,遵循成熟的用户习惯

  • 所见即所得,搭建渲染一致性高

实际业务使用上包含问卷生成和投放使用,即对于系统的搭建端和渲染端。我们将题型场景化设计,以满足一份问卷从加工生产到投放应用的高度一致。

  • 题型物料化设计,自由定制扩展

题型是问卷最核心的组成部分,而题型可配置化能力决定了上层业务可扩展的场景以及系统自身可复用的场景。 题型架构设计上,主打每一类题型拥有通用基础能力,每一种题型拥有原子化特性能力,并保障高度定制化。

  • 合规建设沉淀积累,安全能力拓展性高

数据加密传输、敏感信息精细化检测、投票防刷等能力,保障问卷发布、数据回收链路安全性。

二、轻量化设计,快速接入、灵活扩展

  • 产品级开源方案,快速产出一套调研流程

围绕问卷生命周期提供了完整的产品化能力,包含用户管理: 登录、注册、问卷权限,问卷管理: 创、编、投、收、数据分析,可快速构建特定领域的调研类解决方案。

  • 问卷设计开箱即用,降低领域复杂度

问卷组成具有高灵活性,此业务特征带来问卷编辑能力的高复杂性设计。我们将问卷编辑划分为五大子领域,进行产品能力聚类,同时指导系统模块化设计和开发。基于模块编排和管理,能够开箱即用。

  • 二次开发成本低,轻松定制专属调研系统

全系统设计原则基于协议标准化、功能模块化、管理配置化,并提供了一些列完整的文档和开发及扩展手册。

  • 部署成本低,快速上线

前后端分离,提供 Docker 化方案,提供了完善的部署指导手册。

工程部署

Node 版本 >= 18.x,
查看环境准备指导

复制工程

git clone git@github.com:didi/xiaoju-survey.git

服务端启动

方案一、快速启动,无需安装数据库

便于快速预览工程,对于正式项目需要使用方案二。

1、安装依赖
cd server
npm install
2、启动
npm run local

服务运行依赖 mongodb-memory-server:

1、数据保存在内存中,重启服务会更新数据。
2、启动内存服务器新实例时,如果找不到 MongoDB 二进制文件会自动下载,因此首次可能需要一些时间。

方案二、(生产推荐)
1、启动数据库

项目使用 MongoDB:MongoDB 安装指导

  • 配置数据库,查看MongoDB 配置

  • 启动本地数据库,查看MongoDB 启动

2、安装依赖
cd server
npm install
3、启动
npm run dev

前端启动

安装依赖
cd web
npm install
启动
npm run serve

访问

问卷管理端

http://localhost:8080/management

问卷投放端

创建并发布问卷。

http://localhost:8080/render/:surveyPath

项目地址

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/854132.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

能量函数和能量基模型介绍

能量函数在物理学中通常描述系统的潜在能量,而在统计物理和机器学习中,特别是在能量基模型(Energy-Based Models,EBMs)中,它用来描述系统状态的概率。 在机器学习的上下文中,能量函数是一个映射…

docker命令记录

基本命令和参数 docker run: 运行一个新的容器实例。-itd: 组合参数,含义如下: -i: 以交互模式运行容器,保持标准输入打开。-t: 分配一个伪终端。-d: 后台运行容器,即使容器启动后依然返回控制台。 设备映射 --device/dev/dri…

聊聊最近的 AI 发展情况及未来走向

聊聊最近的AI发展情况及未来走向 引言 在当前科技浪潮的推动下,人工智能(AI)以其独特的魅力引领着未来的发展趋势。无论是在商业、教育、医疗还是娱乐领域,AI都为我们带来了前所未有的便利和惊喜。近年来,AI技术在多…

Linux shell 重定向输入和输出

Linux shell 重定向输入和输出 1. Standard I/O streams2. Redirecting to and from the standard file handles (标准文件句柄的重定向)2.1. command > file2.2. command >> file2.3. command 2> file2.4. command 2>> file2.5. command < file2.6. comm…

小白也能看懂 大模型的6个评估指标_大模型生成质量评估标准

近年来&#xff0c;随着深度学习技术的飞速发展&#xff0c;大型神经网络模型如BERT、GPT-3等已经成为自然语言处理、计算机视觉、语音识别等领域的重要工具。这些模型之所以称为"大型"&#xff0c;是因为它们通常包含数十亿甚至数千亿的参数&#xff0c;比以往的模型…

超级异地组网工具有哪些?

在当今社会&#xff0c;人们对高效的信息传输和通信有着越来越高的要求。不同地区之间的电脑与电脑、设备与设备、电脑与设备之间的信息远程通信问题成为了亟待解决的难题。由于网络环境的限制&#xff0c;如低带宽和跨运营商的网络环境&#xff0c;高速访问变得异常困难。为了…

【初体验threejs】【学习】【笔记】hello,正方体!

前言 为了满足工作需求&#xff0c;我已着手学习Three.js&#xff0c;并决定详细记录这一学习过程。在此旅程中&#xff0c;如果出现理解偏差或有其他更佳的学习方法&#xff0c;请大家不吝赐教&#xff0c;在评论区给予指正或分享您的宝贵建议&#xff0c;我将不胜感激。 搭…

git 常用命令 切换分支

切换分支 git checkout master 从 当前分支 切换到 本地master分支 git checkout origin/main 从 当前分支 切换到 远程仓库的 main 分支git checkout test6 潜在规则 git checkout test6 远程仓库有test6分支 本地没有时 自动拉取远程分支test6 并创建同名…

滑块(Slider)

滑块(Slider) 滑块,也称为滑块控件或滑动条,是一种常见的用户界面元素,允许用户通过拖动指示器(通常是一个小方块或圆点)来选择一个值或一组值。滑块广泛用于各种应用程序和网站中,用于调节音量、亮度、温度或其他可变设置。本文将探讨滑块的设计、实现和最佳实践。 …

Semantic Kernel 中的流式输出SSE与Vue3前端接收示例

本文将介绍如何在使用 Semantic Kernel 框架的 ASP.NET 项目中使用流式输出 SSE&#xff08;Server-Sent Events&#xff09;&#xff0c;并展示如何在Vue3前端应用中接收这些数据。并介绍了如何使用 microsoft/fetch-event-source 库使用 POST 方法来接收 SSE 数据。 1. 背景 …

ABAP开发:屏幕输入中,在多个选项卡中如何确定选择了哪个Tab Strips?

在ABAP开发中&#xff0c;使用了SELECTION-SCREEN来创建了一个带有多个选项卡&#xff08;Tab Strips&#xff09;的屏幕。每个选项卡对应一个不同的屏幕编号&#xff08;SCREEN 101, 102, 103&#xff09;&#xff0c;如下图&#xff1a; 屏幕中有Name、Age、City三个标签选择…

39、基于深度学习的(拼音)字符识别(matlab)

1、原理及流程 深度学习中常用的字符识别方法包括卷积神经网络&#xff08;CNN&#xff09;和循环神经网络&#xff08;RNN&#xff09;。 数据准备&#xff1a;首先需要准备包含字符的数据集&#xff0c;通常是手写字符、印刷字符或者印刷字体数据集。 数据预处理&#xff1…

【网络安全】网络安全威胁及途径

1、网络安全威胁的种类及途径 &#xff08;1&#xff09;网络安全威胁的主要类型 网络安全面临的威胁和隐患种类繁多&#xff0c;主要包括人为因素、网络系统及数据资源和运行环境等影响。网络安全威胁主要表现为&#xff1a;黑客入侵、非授权访问、窃听、假冒合法用户、病毒…

webpack 自动清理 dist 文件夹的两种实现方法

我们知道在做 vue 项目时&#xff0c;由于项目不断扩大&#xff0c;dist 文件越来越复杂&#xff0c;webpack 生成文件并将其默认放置在 /dist 文件夹中&#xff0c;但是它不会追踪哪些文件是实际在项目中需要的。 &#xff08;1&#xff09;webpack 配置 通常我们会在构建前…

Langevin动力学

Langevin动力学 Langevin动力学是一种数学模型&#xff0c;用于描述带有摩擦和随机扰动的粒子的运动。它是经典动力学与统计物理学的结合&#xff0c;尤其在研究布朗运动和其他由热涨落驱动的现象时非常重要。 数学上&#xff0c;Langevin方程可以写成以下形式&#xff1a; m…

18. 第十八章 继承

18. 继承 和面向对象编程最常相关的语言特性就是继承(inheritance). 继承值得是根据一个现有的类型, 定义一个修改版本的新类的能力. 本章中我会使用几个类来表达扑克牌, 牌组以及扑克牌性, 用于展示继承特性.如果你不玩扑克, 可以在http://wikipedia.org/wiki/Poker里阅读相关…

概率论拾遗

条件期望的性质 1.看成f(Y)即可 条件期望仅限于形式化公式&#xff0c;用于解决多个随机变量存在时的期望问题求解&#xff0c;即 E(?)E(E(?|Y))#直接应用此公式条件住一个随机变量&#xff0c;进行接下来的计算即可 定义随机变量之间的距离为&#xff0c;即均方距离 随机…

Redis分布式锁的实现、优化与Redlock算法探讨

Redis分布式锁最简单的实现 要实现分布式锁,首先需要Redis具备“互斥”能力,这可以通过SETNX命令实现。SETNX表示SET if Not Exists,即如果key不存在,才会设置它的值,否则什么也不做。利用这一点,不同客户端就能实现互斥,从而实现一个分布式锁。 举例: 客户端1申请加…

提升学术研究效率与质量的关键

科研工具与资源的发展在信息时代尤为重要&#xff0c;它们不仅能够提升学术研究的效率&#xff0c;还能够促进科学成果的共享与交流。本文旨在探讨几种主要的科研工具与资源&#xff0c;涵盖文献检索、语言翻译、实验方案、数据库查询、在线绘图等多个方面&#xff0c;帮助研究…

(科学:某天是星期几)泽勒一致性是由克里斯汀·泽勒开发的用于计算某天是星期几的算法。

(科学:某天是星期几)泽勒一致性是由克里斯汀泽勒开发的用于计算某天是星期几的算法。这个公式是: 其中: h是一个星期中的某一天(0 为星期六;1 为星期天;2 为星期一;3 为星期二;4 为 星期三;5 为星期四;6为星期五)。 q 是某月的第几天。 m 是月份(3 为三月&#xff0c;4 为四月,…