填鸭表单!开箱即用的开源问卷调查系统!

TDuck社区版是一款免费的表单问卷系统,支持快速创建问卷或业务表单,采用无代码理念支持开发自定义组件。采用 SpringBoot + Vue + ElementUI 技术栈,功能强大界面清新,支持一键部署。

功能特性

  • 支持 27+自定义组件 ,拖拽式快速生成表单问卷。
  • 支持单行文本、多行文本、日期、下拉、单选、文件上传、排序、级联、轮播、一键定位、手机号验证、矩阵量表、子表单等组件。
  • 支持通过文本批量导入表单组件,支持题目显隐逻辑设置。
  • 表单数据,支持数据新增、编辑、导出、打印、预览和打包下载附件。
  • 表单外观支持头图、背景图、背景颜色、按钮文字等配置。
  • 报表支持对问题实时统计分析并以图形(柱状图、折线图、饼图)的形式展示输出和导出png图片。
  • 提交后自定义文案、提交后自动跳转网址。
  • 每个微信、账号、ip、设备、答题次数限制、支持设置允许填写时间、记录微信个人信息
  • 支持发邮件、微信公众号模板推送提醒。
  • 支持 数据同步Api(全量数据)、数据WebHook推送(可订阅事件:新增、修改、删除)
  • 支持保存至模板中心,支持从模板中心选用模板创建表单问卷。
  • 用户管理,新增用户、修改用户、删除用户。
  • 文件存储自定义配置: 支持阿里云、七牛云、又拍云、本地、通用S3协议上传
  • 支持 邮件、短信(阿里云、腾讯云、中昱维信)、微信公众号参数配置
  • 支持回收中心,快速恢复问卷。

技术栈:

  • SpringBoot
  • Mybatis-Plus
  • Vue2
  • ElementUI

项目截图

我的项目

问卷基础组件设计

问卷导入题目

问卷逻辑设置

问卷外观主题设置

问卷设置

问卷发布

问卷填写

问卷数据

问卷统计

共享模板

用户管理

系统设置

快速上手

环境依赖:

  • MySQL5.7或以上
  • JDK1.8或以上
  • Maven
  • Nodejs

后端服务

1、拉取代码

复制代码
bash 体验AI代码助手 代码解读复制代码git clone https://gitee.com/TDuckApp/tduck-platform.git

2、将项目以 Maven 的形式导入到 IDEA 中

3、项目结构

  • tduck-common 通用模块
  • tduck-account 账号模块
  • tduck-storage 存储模块
  • tduck-project 项目模块
  • tduck-wx-mp 微信公众号模块
  • tduck-api 客户端API

4、创建数据库

复制代码
sql 体验AI代码助手 代码解读复制代码CREATE DATABASE tduck DEFAULT CHARACTER SET utf8mb4 COLLATE utf8mb4_bin;

5、执行项目目录下 doc/tduck.sql 文件

6、修改 tduck-api 模块下配置文件 application-prod.yml 中的配置信息

需要将数据库的连接地址、用户名、密码修改成自己的环境地址信息。

7、运行 com.tduck.cloud.api.TduckApiApplication 启动项目

前端服务

1、拉取代码

复制代码
git clone https://gitee.com/TDuckApp/tduck-front.git

2、安装依赖

复制代码
npm install

3、启动项目

复制代码
npm run dev

#or

npm run serve

4、构建项目

复制代码
npm run build

Docker 部署

Docker 部署项目

1、启动命令

复制代码
docker run \
-e SPRING_DATASOURCE_URL="jdbc:mysql://127.0.0.1:3310/tduck-v4?useSSL=false&useUnicode=true&characterEncoding=utf8&serverTimezone=Asia/Shanghai&tinyInt1isBit=false&nullCatalogMeansCurrent=true" \
-e SPRING_DATASOURCE_USERNAME=root \
-e SPRING_DATASOURCE_PASSWORD=tduck@tduck \
-p 8999:8999 \
-v /upload:/application/BOOT-INF/lib/upload \
tduckcloud/tduck-platform

2、参数说明:

  • SPRING_DATASOURCE_URL 数据库连接
  • SPRING_DATASOURCE_USERNAME 数据库用户名
  • SPRING_DATASOURCE_PASSWORD 数据库密码
  • -p 8999:8999 容器内部端口:宿主机端口 端口映射
  • -v /upload:/application/BOOT-INF/lib/upload 文件挂载

启动时,需将对应的参数改成自己的环境地址参数。

Docker Compose 部署项目

1、下载 docker-compose.yaml

复制代码
wget https://gitee.com/TDuckApp/tduck-platform/blob/master/docker/docker-compose.yaml

2、一键启动

复制代码
docker-compose up

作者:Java陈序员

相关推荐
敲敲了个代码1 小时前
从硬编码到 Schema 推断:前端表单开发的工程化转型
前端·javascript·vue.js·学习·面试·职场和发展·前端框架
cike_y1 小时前
Mybatis之解析配置优化
java·开发语言·tomcat·mybatis·安全开发
是一个Bug3 小时前
Java基础50道经典面试题(四)
java·windows·python
dly_blog3 小时前
Vue 响应式陷阱与解决方案(第19节)
前端·javascript·vue.js
Slow菜鸟3 小时前
Java基础架构设计(三)| 通用响应与异常处理(分布式应用通用方案)
java·开发语言
消失的旧时光-19433 小时前
401 自动刷新 Token 的完整架构设计(Dio 实战版)
开发语言·前端·javascript
我是Superman丶3 小时前
《Spring WebFlux 实战:基于 SSE 实现多类型事件流(支持聊天消息、元数据与控制指令混合传输)》
java
console.log('npc')3 小时前
Table,vue3在父组件调用子组件columns列的方法展示弹窗文件预览效果
前端·javascript·vue.js
廋到被风吹走3 小时前
【Spring】常用注解分类整理
java·后端·spring
用户47949283569153 小时前
React Hooks 的“天条”:为啥绝对不能写在 if 语句里?
前端·react.js