问卷调查
Go to file
2024-10-30 10:03:11 +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 fix:修复图表展示内容过多的问题,以及预览模式下无法拖动选择器的问题 2024-10-30 10:03:11 +08:00
web fix:修复图表展示内容过多的问题,以及预览模式下无法拖动选择器的问题 2024-10-30 10:03:11 +08:00
.gitignore fix: 断点续答and编辑检测代码cr优化 (#428) 2024-09-20 13:26:59 +08:00
CODE_OF_CONDUCT.md feat: Create CODE_OF_CONDUCT.md 2024-09-27 15:16:55 +08:00
CONTRIBUTING.md feat: Initial project 2023-11-02 20:12:37 +08:00
DATA_COLLECTION.md [Feature] 新增暂停功能以及多表字段升级 (#434) 2024-09-27 19:52:01 +08:00
docker-compose.yaml feat: 升级docker的版本 2024-10-08 21:28:07 +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-10-08 15:45:08 +08:00
README.md feat: 优化readme 2024-10-08 15:45:08 +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.

Features

🌈 Easy to use

  • Multi-type data collection, easy to create forms: text input, data selection, scoring, voting, file upload, etc.

  • Smart logic arrangement, design multi-rule dynamic forms: display logic, jump logic, option reference, title reference, etc.

  • Multiple permission management, support efficient team collaboration: space management, multi-role permission management, etc.

  • Online data analysis and export, insight into survey results: data export, recycled data management, sub-topic statistics, cross-analysis, etc.

🎨 Good-looking

  • Free customization of themes to adapt to your brand: custom colors, backgrounds, pictures, logos, result page rules, etc.

  • Seamlessly embedded in various terminals to meet the needs of different scenarios: multi-terminal embedded small questionnaire SDK.

🚀 Secure and scalable

  • Scalable security capabilities, providing experience guidance for security-related construction: encrypted transmission, data masking, etc.

  • Customized Hook configuration, easy integration of multiple systems and various tools: data push, message push, etc.

  1. For more comprehensive features, please refer to the documentation.

  2. 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).

Online Platform: (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



Star

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

Star History Chart

WeChat Group

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

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