在线调查
与 AI 代理一起构建
在线调查后台

在线调查与表单生成器模板
创建具有逻辑分支的动态调查

在 Back4app 上具有逻辑分支功能的生产就绪的 在线调查后台。包括 ER 图,数据字典,JSON schema,API 游乐场,以及用于快速启动的 AI 代理 提示。

关键要点

该模板为您提供了一个具有逻辑分支和响应管理的在线调查后端,使您的团队能够专注于用户参与和数据收集。

  1. 动态调查流程利用逻辑分支根据用户反馈定制调查体验。
  2. 数据收集和管理高效地收集、存储和分析调查数据。
  3. 利益相关者洞察通过实时数据分析为利益相关者提供有价值的洞察。
  4. 强大的权限框架使用安全的权限模型管理对调查数据和配置的访问。
  5. 跨平台调查解决方案通过单一的 REST 和 GraphQL API 提供受访者无缝体验。

什么是在线调查与表单构建后端模板?

Back4app 是一种后端即服务 (BaaS),用于快速产品交付。在线调查与表单构建后端模板是一个预构建的架构,用于用户、调查、问题和回应。连接您选择的前端(React、Flutter、Next.js 等)并加速交付。

最佳适用于:

在线调查应用程序表单构建平台客户反馈工具数据收集应用产品最小可行性发布团队选择 BaaS 作为调查产品

概述

一个在线调查应用程序需要动态的调查流程、数据收集能力和强大的报告功能。

此模板定义了用户、调查、问题和响应,并具有安全管理功能,以帮助团队快速实施调查。

核心在线调查功能

该中心的每个技术卡片都使用相同的在线调查后端架构,包括用户、调查、问题和响应。

用户管理

用户类存储用户名、电子邮件、密码和角色。

调查创建和管理

调查类包含标题、描述和逻辑分支。

动态问题处理

问题类定义类型、内容和调查关系。

响应跟踪

响应类链接到调查并跟踪用户答案。

为什么要使用 Back4app 构建您的在线调查后端?

Back4app 提供调查原语,以便您的团队可以专注于数据收集和用户参与,而不是基础设施。

  • 调查管理: 带有逻辑分支的调查类,用于条件问题路径。
  • 灵活的数据管理: 高效管理调查响应,确保安全访问控制。
  • 实时 + API 灵活性: 使用 Live Queries 进行即时响应跟踪,同时保持 REST 和 GraphQL 支持。

快速构建和迭代调查功能,通过一个后端合同跨所有平台。

核心优势

一个在线调查后端,让您在保持安全性的同时迅速收集见解。

快速调查启动

从完整的用户、调查和响应架构开始,而不是从头设计后端。

灵活的调查设计

利用逻辑分支来实现定制化的调查体验,增强用户参与度。

安全数据管理

通过强大的权限管理用户对调查和响应的访问。

可扩展的响应模型

使用ACL/CLP,使只有授权用户可以访问调查结果和分析。

调查和响应数据

存储和汇总调查数据以进行报告和分析,无需重置架构。

AI 启动工作流程

通过一个结构化的提示 Swift 生成后端脚手架和集成指导。

准备好推出您的在线调查应用吗?

让 Back4app AI 代理从一个提示搭建您的在线调查后端并生成逻辑分支功能。

免费开始 — 每月 50 个 AI 代理提示,无需信用卡

技术栈

这个在线调查后台模板包含所有内容。

前端
13+ 技术
后端
Back4app
数据库
MongoDB
认证
内置认证 + 会话
API
REST 和 GraphQL
实时
Live Queries

ER 图

在线调查后端架构的实体关系模型。

查看图表源
Mermaid
erDiagram
    User ||--o{ Survey : "owner"
    Survey ||--o{ Question : "questions"
    Question ||--o{ LogicBranch : "logicBranch"
    Survey ||--o{ Response : "responses"

    User {
        String objectId PK
        String username
        String email
        String password
        String role
        Date createdAt
        Date updatedAt
    }

    Survey {
        String objectId PK
        String title
        Pointer owner FK
        Array questions FK
        Date createdAt
        Date updatedAt
    }

    Question {
        String objectId PK
        String text
        String type
        Pointer logicBranch FK
        Date createdAt
        Date updatedAt
    }

    Response {
        String objectId PK
        Pointer survey FK
        Array answers
        Date createdAt
        Date updatedAt
    }

    LogicBranch {
        String objectId PK
        Pointer question FK
        String condition
        Pointer nextQuestion FK
        Date createdAt
        Date updatedAt
    }

集成流程

身份验证、调查创建、响应管理和数据收集的典型运行流程。

查看图表源
Mermaid
sequenceDiagram
  participant User
  participant App as Online Survey & Form Builder App
  participant Back4app as Back4app Cloud

  User->>App: Login
  App->>Back4app: POST /login
  Back4app-->>App: Session token

  User->>App: Create survey
  App->>Back4app: POST /classes/Survey
  Back4app-->>App: Survey details

  User->>App: Fill question
  App->>Back4app: POST /classes/Response
  Back4app-->>App: Submission confirmation

  User->>App: View results
  App->>Back4app: GET /classes/Response
  Back4app-->>App: Response summary

数据字典

在线调查模式中每个类的完整字段级参考。

字段类型描述必填
objectIdStringAuto-generated unique identifier自动
usernameStringUser login name
emailStringUser email address
passwordStringHashed password (write-only)
roleStringRole of the user (e.g., admin, participant)
createdAtDateAuto-generated creation timestamp自动
updatedAtDateAuto-generated last-update timestamp自动

7 字段在 User 中

安全性和权限

ACL 和 CLP 策略如何保护用户、调查、问题和响应。

用户拥有的个人资料控制

仅用户可以更新或删除他们的个人资料;其他人无法修改用户内容。

调查完整性

仅所有者可以创建或删除他们的调查。使用云代码进行验证。

作用域读取访问

限制调查的读取和响应仅限于相关方(例如,用户只能看到自己的调查和响应)。

架构(JSON)

准备好的原始 JSON 架构定义,可以复制到 Back4app 或用作实现参考。

JSON
{
  "classes": [
    {
      "className": "User",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "username": {
          "type": "String",
          "required": true
        },
        "email": {
          "type": "String",
          "required": true
        },
        "password": {
          "type": "String",
          "required": true
        },
        "role": {
          "type": "String",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Survey",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "title": {
          "type": "String",
          "required": true
        },
        "owner": {
          "type": "Pointer",
          "required": true,
          "targetClass": "User"
        },
        "questions": {
          "type": "Array",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Question",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "text": {
          "type": "String",
          "required": true
        },
        "type": {
          "type": "String",
          "required": true
        },
        "logicBranch": {
          "type": "Pointer",
          "required": false,
          "targetClass": "LogicBranch"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "Response",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "survey": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Survey"
        },
        "answers": {
          "type": "Array",
          "required": true
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    },
    {
      "className": "LogicBranch",
      "fields": {
        "objectId": {
          "type": "String",
          "required": false
        },
        "question": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Question"
        },
        "condition": {
          "type": "String",
          "required": true
        },
        "nextQuestion": {
          "type": "Pointer",
          "required": true,
          "targetClass": "Question"
        },
        "createdAt": {
          "type": "Date",
          "required": false
        },
        "updatedAt": {
          "type": "Date",
          "required": false
        }
      }
    }
  ]
}

使用 AI 代理构建

使用 Back4app AI 代理从此模板生成完整的在线调查应用,包括前端、后端、身份验证和调查管理流程。

Back4app AI 代理
准备好构建
在 Back4app 上创建一个在线调查应用后端,使用此确切的架构和行为。

架构:
1. 用户 (使用 Back4app 内置功能): 用户名,电子邮件,密码; objectId, createdAt, updatedAt (系统)。
2. 调查: 标题 (字符串,必填), 描述 (字符串), 逻辑 (对象数组,必填); objectId, createdAt, updatedAt (系统)。
3. 问题: 调查 (指向调查的指针,必填), 类型 (字符串,必填), 内容 (字符串,必填); objectId, createdAt, updatedAt (系统)。
4. 响应: 调查 (指向调查的指针,必填), 用户 (指向用户的指针,必填), 答案 (字符串数组,必填); objectId, createdAt, updatedAt (系统)。

安全性:
- 只有用户可以更新/删除他们的个人资料。只有所有者可以创建/删除他们的调查。使用云代码进行验证。

认证:
- 注册,登录,登出。

行为:
- 列出用户,创建调查,管理问题,并跟踪响应。

交付:
- 带有架构、ACL、CLP 的 Back4app 应用;用于用户个人资料、调查、问题和响应跟踪的前端。

按下面的按钮打开代理,填充此模板提示。

这是没有技术后缀的基础提示。您可以在之后根据需要调整生成的前端堆栈。

几分钟内部署每月 50 个免费提示无需信用卡

API 游乐场

尝试对在线调查架构使用 REST 和 GraphQL 终端。响应使用模拟数据,且无需 Back4app 帐户。

加载游乐场…

使用与此模板相同的架构。

选择您的技术

展开每个卡片以获取集成步骤、状态模式、数据模型示例和离线备注。

Flutter在线调查创建工具后端

React在线调查创建工具后端

React 原生在线调查创建工具后端

Next.js在线调查创建工具后端

JavaScript在线调查创建工具后端

Android在线调查创建工具后端

iOS在线调查创建工具后端

Vue在线调查创建工具后端

Angular在线调查创建工具后端

GraphQL在线调查创建工具后端

REST API在线调查创建工具后端

PHP在线调查创建工具后端

.NET在线调查创建工具后端

您每种技术获得的内容

每个技术栈使用相同的在线调查后端架构和 API 合同。

统一的 在线调查 数据架构

为用户、调查和响应预构建的数据结构。

用于 在线调查 的 REST/GraphQL API

轻松使用标准 API 与任何前端集成。

在线调查 的实时响应跟踪

实时监控调查响应。

为在线调查提供安全的数据存储。

强大的安全措施以保护用户数据和响应。

为在线调查提供可自定义的调查模板。

根据您的需求调整调查,使用灵活的模板。

为在线调查提供可扩展的功能。

随着项目的发展,轻松添加新功能。

在线调查构建器框架比较

比较所有支持的技术中的设置速度、SDK风格和AI支持。

框架设置时间在线调查生成器的好处SDK 类型AI 支持
快速(5分钟)设置移动和 Web 上的在线调查生成器的单一代码库。Typed SDK完整
大约5分钟快速网页仪表板,用于在线调查构建器。Typed SDK完整
关于5分钟跨平台移动应用,用于在线调查构建器。Typed SDK完整
不到5分钟为在线调查构建者的服务器渲染的 web 应用。Typed SDK完整
~3 分钟为在线调查构建者的轻量级 web 集成。Typed SDK完整
快速 (5 分钟) 设置在线调查构建者的原生 Android 应用。Typed SDK完整
约5分钟在线调查构建器的原生 iOS 应用程序。Typed SDK完整
大约5分钟在线调查构建器的 React 风格网页界面。Typed SDK完整
少于5分钟用于在线调查构建器的企业Web应用程序。Typed SDK完整
快速(2分钟)设置灵活的GraphQL API用于在线调查构建器。GraphQL API完整
大约2分钟REST API集成用于在线调查构建器。REST API完整
少于 5 分钟服务器端 PHP 后端用于在线调查构建器。REST API完整
大约 5 分钟.NET 后端用于在线调查构建器。Typed SDK完整

设置时间反映了从项目启动到首次调查或响应查询使用此模板架构的预期持续时间。

常见问题

关于使用此模板构建在线调查后端的常见问题。

在线调查后端是什么?
在线调查模板包含什么?
为什么为在线调查应用使用Back4app?
我如何使用Flutter运行调查和问题的查询?
我如何使用 Next.js Server Actions 管理访问权限?
React Native 能离线缓存调查和响应吗?
我如何防止未经授权访问调查?
在 Android 上展示调查和问题的最佳方式是什么?
调查响应流程如何从头到尾工作?

受到全球开发者的信任

加入团队,使用 Back4app 模板更快地发布在线调查产品

G2 Users Love Us Badge

准备好构建您的在线调查应用了吗?

在几分钟内开始您的在线调查项目。无需信用卡。

选择技术