Compare commits

...

16 Commits

Author SHA1 Message Date
sudoooooo
ff0b2487bb
Feature/workflow (#136)
* feat: test

* feat: test2

* feat: test2
2024-05-17 11:11:51 +08:00
sudoooooo
c4e8b8e466 feat: 增加lint 2024-05-17 11:07:45 +08:00
sudoooooo
47c8a797a5 feat: 增加lint 2024-05-17 11:06:07 +08:00
sudoooooo
23e69988e1 feat: 增加lint 2024-05-17 11:04:17 +08:00
sudoooooo
56b0ba2a09 feat: test 2024-05-16 20:40:54 +08:00
sudoooooo
a5630f0f63 feat: test 2024-05-16 20:03:30 +08:00
sudoooooo
2ca95d5703 feat: test 2024-05-16 19:58:36 +08:00
sudoooooo
52c70198d9 feat: test 2024-05-16 19:49:59 +08:00
sudoooooo
26becfe3d4 feat: test 2024-05-16 19:35:43 +08:00
sudoooooo
1eb0fa31b5 feat: test 2024-05-16 18:09:29 +08:00
sudoooooo
5188d3d795 feat: test 2024-05-16 16:42:28 +08:00
sudoooooo
49635fcf5a feat: test 2024-05-16 16:35:44 +08:00
sudoooooo
3345960351 feat: test 2024-05-16 15:39:27 +08:00
sudoooooo
04766db716 feat: test 2024-05-16 15:22:39 +08:00
sudoooooo
bf9a423064 feat: workflow 2024-05-16 15:20:48 +08:00
sudoooooo
c46176e39e feat: lint 2024-05-16 10:21:39 +08:00
6 changed files with 164 additions and 25 deletions

39
.github/workflows/codecov.yml vendored Normal file
View File

@ -0,0 +1,39 @@
# Unit Test Coverage Report
name: Test Coverage
on:
pull_request:
branches:
- feature/workflow
- develop
- main
- releases/**
- feature/**
paths:
- server/**
workflow_dispatch:
jobs:
build:
name: Coverage
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: cd server && npm install
- name: Run tests and collect coverage
run: cd server && npm run test:cov
- name: Upload coverage to Codecov
uses: codecov/codecov-action@v4
env:
CODECOV_TOKEN: ${{ secrets.CODECOV_TOKEN }}

34
.github/workflows/server-lint.yml vendored Normal file
View File

@ -0,0 +1,34 @@
# Lint
name: Server Lint
on:
pull_request:
branches:
- feature/workflow
- develop
- main
- releases/**
- feature/**
paths:
- server/**
workflow_dispatch:
jobs:
build:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: cd server && npm install
- name: Lint
run: cd server && npm run lint

34
.github/workflows/web-lint.yml vendored Normal file
View File

@ -0,0 +1,34 @@
# Lint
name: Web Lint
on:
pull_request:
branches:
- feature/workflow
- develop
- main
- releases/**
- feature/**
paths:
- web/**
workflow_dispatch:
jobs:
build:
name: Lint
runs-on: ubuntu-latest
steps:
- name: Checkout
uses: actions/checkout@v4
- name: Setup node
uses: actions/setup-node@v4
with:
node-version: 20
- name: Install dependencies
run: cd web && npm install
- name: Lint
run: cd web && npm run lint

View File

@ -28,6 +28,7 @@
  系统已沉淀 40+种题型,累积精选模板 100+,适用于市场调研、客户满意度调研、在线考试、投票、报道、测评等众多场景。数据能力上,经过上亿量级打磨,沉淀了分题统计、交叉分析、多渠道分析等在线报表能力,快速满足专业化分析。
# 简介
本次开源主要围绕问卷生命周期提供了完整的产品化能力:
- 问卷管理:创、编、投、收、数据分析
@ -47,25 +48,28 @@
_**(个人和企业用户均可快速构建特定领域的调研类解决方案。)**_
# 技术
Web 端Vue2Vue3 版本 24 年上半年推出)+ ElementUI
Server 端Nestjs + MongoDB
架构:[架构解读](https://xiaojusurvey.didi.cn/docs/next/document/%E8%AE%BE%E8%AE%A1%E5%8E%9F%E7%90%86/%E6%9E%B6%E6%9E%84)
# 项目优势
**一、具备全面的综合性和专业性**
- [制定了问卷标准化协议规范](https://xiaojusurvey.didi.cn/docs/next/agreement/%E3%80%8A%E9%97%AE%E5%8D%B7Meta%E5%8D%8F%E8%AE%AE%E3%80%8B)
领域标准保障概念互通,是全系统的基础和核心。基于实际业务经验,沉淀了两大类:
- 业务描述:问卷协议、题型协议
- 物料描述:题型物料协议,包含题型和设置器
- [制定了问卷 UI/UX 规范](https://xiaojusurvey.didi.cn/docs/next/design/%E3%80%8A%E8%AE%BE%E8%AE%A1%E8%A7%84%E8%8C%83%E3%80%8B)
设计语言是系统灵活性、一致性的基石,保障系统支撑的实际业务运转拥有极高的用户体验。包含两部分:
- 设计规范:灵活、降噪、统一
- 交互规范:遵循用户行为特征,遵循产品定位,遵循成熟的用户习惯
@ -83,6 +87,7 @@ Server端Nestjs + MongoDB
数据加密传输、敏感信息精细化检测、投票防刷等能力,保障问卷发布、数据回收链路安全性。
**二、轻量化设计,快速接入、灵活扩展**
- [产品级开源方案,快速产出一套调研流程](https://xiaojusurvey.didi.cn/docs/next/document/%E4%BA%A7%E5%93%81%E6%89%8B%E5%86%8C/%E6%A6%82%E8%BF%B0)
围绕问卷生命周期提供了完整的产品化能力,包含用户管理: 登录、注册、问卷权限,问卷管理: 创、编、投、收、数据分析,可快速构建特定领域的调研类解决方案。
@ -105,6 +110,7 @@ Node版本 >= 16.x
[查看环境准备指导](https://xiaojusurvey.didi.cn/docs/next/document/%E6%A6%82%E8%BF%B0/%E5%BF%AB%E9%80%9F%E5%BC%80%E5%A7%8B)
复制工程
```shell
git clone git@github.com:didi/xiaoju-survey.git
```
@ -112,15 +118,18 @@ git clone git@github.com:didi/xiaoju-survey.git
## 服务端启动
### 方案一、快速启动,无需安装数据库
> _便于快速预览工程对于正式项目需要使用方案二。_
#### 1、安装依赖
```shell
cd server
npm install
```
#### 2、启动
```shell
npm run local
```
@ -140,33 +149,41 @@ npm run local
- 启动本地数据库,查看[MongoDB 启动](https://xiaojusurvey.didi.cn/docs/next/document/%E6%A6%82%E8%BF%B0/%E6%95%B0%E6%8D%AE%E5%BA%93#%E4%BA%94%E5%90%AF%E5%8A%A8)
#### 2、安装依赖
```shell
cd server
npm install
```
#### 3、启动
```shell
npm run dev
```
## 前端启动
### 安装依赖
```shell
cd web
npm install
```
### 启动
```shell
npm run serve
```
## 访问
### 问卷管理端
[http://localhost:8080/management](http://localhost:8080)
### 问卷投放端
创建并发布问卷。
[http://localhost:8080/render/:surveyPath](http://localhost:8080/render/:surveyPath)
@ -182,21 +199,23 @@ npm run serve
[<img src="https://img-hxy021.didistatic.com/static/starimg/img/iJUmLIHKV21700192846057.png" width="210" />](http://qm.qq.com/cgi-bin/qm/qr?_wv=1027&k=P61UJI_q8AzizyBLGOm-bUvzNrUnSQq-&authKey=yZFtL9biGB5yiIME3%2Bi%2Bf6XMOdTNiuf0pCIaviEEAIryySNzVy6LJ4xl7uHdEcrM&noverify=0&group_code=920623419)
## Star
如果该项目对你有帮助star 一下 ❤️❤️❤️
[![Star History Chart](https://api.star-history.com/svg?repos=didi/xiaoju-survey&type=Date)](https://star-history.com/#didi/xiaoju-survey&Date)
## 记录
[谁在使用](https://github.com/didi/xiaoju-survey/issues/64)
## 贡献
[贡献者指南](https://xiaojusurvey.didi.cn/docs/next/share/%E7%94%9F%E6%80%81%E5%BB%BA%E8%AE%BE)
## Feature
[官方 Feature](https://github.com/didi/xiaoju-survey/issues/45)
## CHANGELOG
[MAJOR CHANGELOG](https://github.com/didi/xiaoju-survey/issues/48)
## 分享
[文章](https://github.com/didi/xiaoju-survey/issues)
[MAJOR CHANGELOG](https://github.com/didi/xiaoju-survey/issues/48)

View File

@ -4,8 +4,8 @@
"private": true,
"type": "module",
"scripts": {
"serve": "vite",
"dev": "vite",
"serve": "npm run dev",
"dev": "vite --open",
"build": "run-p type-check \"build-only {@}\" --",
"preview": "vite preview",
"build-only": "vite build",
@ -43,6 +43,7 @@
"@vue/tsconfig": "^0.5.1",
"eslint": "^8.49.0",
"eslint-plugin-vue": "^9.17.0",
"husky": "^9.0.11",
"npm-run-all2": "^6.1.1",
"prettier": "^3.0.3",
"sass": "^1.72.0",
@ -54,8 +55,19 @@
"vite-plugin-virtual-mpa": "^1.11.0",
"vue-tsc": "^1.8.27"
},
"husky": {
"hooks": {
"pre-commit": "lint-staged"
}
},
"lint-staged": {
"src/**/*.{.vue,.js,.jsx,.cjs,.mjs,.ts,.tsx,.cts,.mts}": [
"prettier --write",
"eslint --fix"
]
},
"engines": {
"node": ">=14.21.0",
"npm": ">=6.14.17"
"node": ">=18.0.0",
"npm": ">=8.6.0"
}
}

View File

@ -37,6 +37,7 @@ export default {
},
watch: {
skinConf(value) {
console.log(11111111)
this.setSkin(value)
}
},