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

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陈序员

相关推荐
米诺zuo2 小时前
nextjs文件路由、路由组
前端·next.js
加个鸡腿儿2 小时前
锚点跳转-附带CSS样式 & 阻止页面刷新技术方案
前端·javascript·css
❀͜͡傀儡师2 小时前
JDK 25 新特性速览
java·开发语言
兮动人2 小时前
主流JDK版本支持时间
java·开发语言·主流jdk版本支持时间
学习中的程序媛~2 小时前
Spring 事务(@Transactional)与异步(@Async / CompletableFuture)结合的陷阱与最佳实践
java·数据库·sql
dragon7252 小时前
FutureProvider会刷新两次的问题研究
前端·flutter
m0_565611132 小时前
Java高级特性:单元测试、反射、注解、动态代理
java·单元测试·log4j
雾林小妖2 小时前
springboot实现跨服务调用/springboot调用另一台机器上的服务
java·spring boot·后端
天蓝色的鱼鱼2 小时前
Next.js路由全解析:Pages Router 与 App Router,你选对了吗?
前端·next.js