问卷调查
Go to file
dayou b749cfa6f6
【Feature】:北大实践课作业 (#424)
* 【北大开源实践】增加数据导出功能 (#294)

* feat:添加了一个文件数据导出的功能和相应前端页面

* fix lint

* fix conflict

---------

Co-authored-by: dayou <853094838@qq.com>

* fix: components.d.ts文件ignore

* feat: Update README_EN.md

* feat: Update README.md

* feat:新增预览功能 (#257)

* feat:问卷预览功能
* feat:修复样式问题

* fix: 优化预览展示

* refactor: 重构vue3组合式API写法 (#265)

* feat: 抽离题型枚举 (#272)

* feat: 抽离题型枚举

* fix: 投放的链接加时间戳去掉ifream缓存

* feat: serve端的node engines

* feat: 权限接口请求优化以及修复其他问题 (#290)

* feat: c端路由改造 (#296)

* 【北大开源实践】增加数据导出功能 (#294)

* feat:添加了一个文件数据导出的功能和相应前端页面

* fix lint

* fix conflict

---------

Co-authored-by: dayou <853094838@qq.com>

* fix: 删除components.d.ts文件

* 【北大开源实践】- 问卷断点续答 - 前端 (#282)

* feat:增加断点续答功能

* feat:增加断点续答功能

* fix: 同步代码并且解决冲突

---------

Co-authored-by: dayou <853094838@qq.com>

* fix: 删除components.d.ts文件最终

* 【北大开源实践】-选项限制 (#284)

* format: 代码格式化 (#160)

* feat: 选项限制

* fix: 同步代码并解决冲突

* fix conflict

* fix conflict

* fix lint

* fix server lint

---------

Co-authored-by: dayou <853094838@qq.com>
Co-authored-by: XiaoYuan <2521510174@qq.com>

* feat: 登录失效检测 & 协作冲突检测 (#287)

Co-authored-by: Liuxinyi <liuxy0406@163.com>
Co-authored-by: dayou <853094838@qq.com>

* fix: peking分支同步develop并解决冲突

* fix: 修正颜色不统一 (#338)

* fix: 修正颜色不统一

* fix: 删除server下的lock文件

* 编辑冲突检测 (#351)

* perl: 选项配额优化

* fix: pinia改写

* feat: 完善北大课程相关的内容

* fix: 修复断点续答以及样式问题 (#420)

* feat: 修改readme

* [Feature]: 密码复杂度检测 (#407)

* feat: 密码复杂度检测

* chore: 改为服务端校验

* feat: 优化展示

* fix:修复编辑页在不同element版本下表现不一致问题 (#406)

* fix: 通过声明element最低版本来确定tab样式表现

* fix lint

* feat(选项设置扩展):选择类题型增加选项排列配置 (#403)

* build: add optimizeDeps packages

* feat(选项设置扩展):选择类题型增加选项排列配置

* feat(选项设置扩展): 验收问题修复

---------

Co-authored-by: jiangchunfu <jiangchunfu@kaike.la>

* fix: 删除多余内容

* feat: 优化登录窗口

* fix: 修复断点续答以及样式问题

fix: 修复选项引用验收bug

fix: 修复断点续答问题

fix: 修复断点续答

fix: ignore

fix: 修复投票题默认值

fix: 优化断点续答逻辑

fix: 选中图标适应高度

fix: 回退最大最小选择

fix: 修复断点续答

fix: 修复elswitch不更新问题

fix: 修复访问密码更新不生效问题

fix: 修复样式

fix: 修复多选题最大最小限制

fix: 优化断点续答问题

修复多选题命中最多选择后无法取消问题

fix: 修复服务端的富文本解析

fix:  lint

fix: min error

fix: 修复最少最多选择

fix: 修复投票问卷的最少最多选择

fix: 兼容断点续答情况下选项配额为0的情况

fix: 兼容断点续答情况下选项配额为0的情况

fix: 兼容单选题的断点续答下的选项配额

fix: 修复添加选项问题

fix: 前端提示服务的配额已满

fix: 更新填写的过程中配额减少情况

---------

Co-authored-by: sudoooooo <zjbbabybaby@gmail.com>
Co-authored-by: Stahsf <30379566+50431040@users.noreply.github.com>
Co-authored-by: Jiangchunfu <mrj_kevin@163.com>
Co-authored-by: jiangchunfu <jiangchunfu@kaike.la>

* feat: 修改验收问题 (#421)

* fix lint

---------

Co-authored-by: Oseast <162945153+Oseast@users.noreply.github.com>
Co-authored-by: sudoooooo <zjbbabybaby@gmail.com>
Co-authored-by: chaorenluo <1243357953@qq.com>
Co-authored-by: Realabiha <48506355+Realabiha@users.noreply.github.com>
Co-authored-by: shiyiting763 <70299297+shiyiting763@users.noreply.github.com>
Co-authored-by: yiyeah <68832436+yiyeah@users.noreply.github.com>
Co-authored-by: XiaoYuan <2521510174@qq.com>
Co-authored-by: Xinyi Liu <74805961+colmon46@users.noreply.github.com>
Co-authored-by: Liuxinyi <liuxy0406@163.com>
Co-authored-by: nil <wangweiguo2013@icloud.com>
Co-authored-by: 王晓聪 <wang86976110@126.com>
Co-authored-by: taoshuang <taoshuang@didiglobal.com>
Co-authored-by: luch1994 <1097650398@qq.com>
Co-authored-by: Stahsf <30379566+50431040@users.noreply.github.com>
Co-authored-by: Jiangchunfu <mrj_kevin@163.com>
Co-authored-by: jiangchunfu <jiangchunfu@kaike.la>
Co-authored-by: luch <32321690+luch1994@users.noreply.github.com>
2024-09-12 22:10:18 +08:00
.github feat: action不处理format 2024-08-12 14:09:29 +08:00
nginx 【Feature】:北大实践课作业 (#424) 2024-09-12 22:10:18 +08:00
server 【Feature】:北大实践课作业 (#424) 2024-09-12 22:10:18 +08:00
web 【Feature】:北大实践课作业 (#424) 2024-09-12 22:10:18 +08:00
.gitignore 【Feature】:北大实践课作业 (#424) 2024-09-12 22:10:18 +08:00
CONTRIBUTING.md feat: Initial project 2023-11-02 20:12:37 +08:00
docker-compose.yaml feat: 更新readme和docker tag 2024-07-17 23:12:17 +08:00
docker-run.sh feat: 修改nginx端口 2024-05-20 18:37:12 +08:00
Dockerfile fix: 修改docker-compose 2024-05-20 20:18:59 +08:00
LICENSE feat: Initial project 2023-11-02 20:12:37 +08:00
README_EN.md feat: 修改readme 2024-08-30 12:01:39 +08:00
README.md feat: 修改readme 2024-08-30 12:01:39 +08:00


XIAOJUSURVEY is an enterprises form builder and analytics platform to create questionnaires, exams, polls, quizzes, and analyze data online.

The internal system has accumulated over 40 question types and more than 100 selected templates, suitable for market research, customer satisfaction surveys, online exams, voting, reporting, evaluations, and many other scenarios. In terms of data capabilities, it has been honed through hundreds of millions of iterations, resulting in the ability to provide online reports with per-question statistics, cross-analysis, and multi-channel analysis, quickly meeting professional analysis needs.

Function Overview

  • Questionnaire Management: Create, edit, distribute, collect, data analysis.

  • Diverse Question Types: Single-line input, multi-line input, single choice, multiple choice, true/false, rating, voting, etc.

  • User Management: Login, registration, permissions management.

  • Data Security: Encrypted transmission, data masking, etc.

For more comprehensive features, please refer to the documentation.

(Both individual and enterprise users can quickly build survey solutions specific to their fields.)

Technology

Web: Vue3 + ElementPlus; Multi-end rendering for C-end (planning).

Server: Nestjs + MongoDB; Java (under construction).

Intelligent Foundation: (planning).

Project Advantages

1. Comprehensive and Professional

Ensuring concept interoperability is the foundation and core of the entire system. Based on practical business experience, two main categories have been established:

Business Descriptions: Questionnaire protocol, question type protocol.

Material Descriptions: Question type material protocol, including question types and settings.

The design language is the cornerstone of system flexibility and consistency, ensuring the system supports actual business operations with high user experience. It includes:

Design Standards: Flexible, noise-reducing, unified.

Interaction Standards: Follows user behavior characteristics, product positioning, and mature user habits.

In practical business usage, the system includes both questionnaire generation and deployment. We design question types in a scenario-based manner to ensure high consistency from production to application.

The core component of questionnaires is question types, and their configurability determines the extensibility of business scenarios and the system's reusability. Each question type has general capabilities and atomic characteristics, ensuring high customization.

Data encryption, sensitive information detection, and anti-vote brushing capabilities ensure the security of the questionnaire publishing and data collection process. Lightweight Design for Quick Integration and Flexible Expansion.

2. Product-Level Open-Source Solution for Rapid Survey Process Implementation

Provides complete product capabilities around the questionnaire lifecycle, including user management (login, registration, questionnaire permissions) and questionnaire management (create, edit, distribute, collect, data analysis), allowing for quick construction of survey solutions in specific fields.

High flexibility in questionnaire composition leads to high complexity in editing capabilities. We divide questionnaire editing into five sub-domains for product capability clustering and guide system modular design and development. Based on module arrangement and management, it can be used out-of-the-box.

The entire system is designed based on protocol standardization, function modularization, and management configuration, and provides a complete set of documentation and development and extension manuals.

The front-end and back-end separation, Dockerization solutions, and complete deployment guidance manual.

Quick Start

Node Version >= 18.x, check environment preparation guide.

Clone Project

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

Server Startup

Option 1: Quick Start without Database Installation

This is convenient for quickly previewing the project. For formal projects, use Option 2.

1.Install Dependencies

cd server
npm install

2.Start

npm run local

The service relies on mongodb-memory-server: 1.Data is stored in memory and will be updated upon service restart. 2.When starting a new instance of the memory server, it will automatically download MongoDB binaries if not found, which might take some time initially.

1.Configure Database

The project uses MongoDB: MongoDB Guide

Configure the database, check MongoDB configuration.

2.Install Dependencies

cd server
npm install

2.Install Dependencies

npm run dev

Frontend Startup

Install Dependencies

cd web
npm install

Start

npm run serve

Access

Questionnaire Management End

http://localhost:8080/management

Questionnaire Deployment End

Create and publish a questionnaire.

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



WeChat Group

The official group will release the latest project news, construction plans, and community activities. Any questions and cooperation can contact the assistant:

QQ Group

The official group will release the latest project news, construction plans, and community activities. Welcome to join:

Star

Open source is not easy. If this project helps you, please star it ❤️❤️❤️. Your support is our greatest motivation.

Feedback

If you use this project, please leave feedback:I'm using, Your support is our greatest.

Contribution

If you want to become a contributor or expand your technical stack, please check: Contributor Guide. Your participation is our greatest honor.

Future Tasks

  1. Official Feature
  2. WIP

CHANGELOG

Follow major changes: MAJOR CHANGELOG