MySurvey是基于Biwen.QuickApi的示例项目,是一个简易现代化的问卷调查系统,支持多种问题类型,提供问卷创建、发布、收集和分析等功能。
- 创建、编辑、删除问卷
- 支持问卷复制
- 问卷状态管理(草稿、已发布、已结束)
- 问卷预览功能
- 文本输入题
- 单选题
- 多选题
- 评分题
- 矩阵题(待实现)
- 支持匿名填写
- 问卷分享(链接和二维码)
- 答卷导出(Excel格式)
- 实时统计(待实现)
- 用户注册和登录
- 邮箱验证(待实现)
- 密码重置(待实现)
- 个人信息管理(待实现)
- .NET Core 9.0
- Entity Framework Core
- Biwen.AutoClassGen(生成自动注入代码)
- Biwen.QuickApi(API开发框架)
- Biwen.Settings(配置中心)
- EPPlus(Excel导出)
- React 18
- Ant Design 5.x
- ahooks 3
- React Router 6
- Axios
MySurvey/
├── MySurvey.Core/ # 核心业务逻辑
│ ├── Data/ # 数据访问层
│ ├── Entities/ # 实体模型
│ ├── Interfaces/ # 接口定义
│ └── Services/ # 业务服务实现
├── MySurvey.Server/ # 后端服务
│ ├── Endpoints/ # API端点
│ └── ViewModels/ # 视图模型
└── MySurvey.Client/ # 前端应用
├── src/
│ ├── components/ # React组件
│ ├── services/ # API服务
│ └── utils/ # 工具函数
└── public/ # 静态资源
- Biwen.QuickApi QuickApi Api接口&模型验证
- Biwen.QuickApi ScheduleTasks 轮询作业
- Biwen.QuickApi EFCore&Uow
- Biwen.QuickApi 模块化
- Biwen.QuickApi 事件驱动
- Biwen.QuickApi 审计
- Biwen.AutoClassGen AutoInject 源生成自动注入
- Biwen.Settings 配置管理
- etc.
- .NET Core 9.0 SDK
- Node.js 18+
- Sqlite
- 克隆项目
git clone https://github.com/vipwan/MySurvey.git
cd MySurvey
- 还原依赖
dotnet restore
- 运行项目
cd MySurvey.Server
dotnet run
- 接口文档
运行成功后直接访问 http://localhost:5289/openapi/scalar/v1
- 进入前端目录
cd MySurvey.Client
- 安装依赖
npm install
- 运行开发服务器
npm start
- 登录系统
- 点击"添加问卷"按钮
- 填写问卷基本信息
- 添加问题
- 设置问卷状态(草稿/发布/结束)
- 在问卷列表中找到要分享的问卷
- 点击"分享"按钮
- 选择分享方式(链接/二维码)
- 复制链接或扫描二维码分享给受访者
- 同时提供Razor Pages形式的答卷链接
~/s/{surveyId}
- 在问卷列表中找到要导出的问卷
- 点击"导出"按钮
- 系统会自动下载Excel格式的答卷数据
- 在
MySurvey.Core
中定义接口和实体 - 在
MySurvey.Core/Services
中实现业务逻辑 - 在
MySurvey.Server/Endpoints
中添加API端点 - 在
MySurvey.Client
中实现前端界面
dotnet ef migrations add MigrationName
dotnet ef database update
- 发布项目
dotnet publish -c Release
- 配置数据库连接字符串
- 配置JWT密钥
- 运行应用
- 构建项目
npm run build
- 将
build
目录部署到Web服务器
- Fork项目
- 创建特性分支
- 提交更改
- 推送到分支
- 创建Pull Request
MIT License