Skip to content

ohohua/survey

Repository files navigation

survey

Survey

⚡ 介绍

创建、发布问卷,回收统计信息。

开始

🚀 项目架构亮点

  1. Monorepo 架构设计
  • 采用 pnpm workspace 管理的 monorepo 架构
  • 清晰的包结构:apps/*packages/*
  • 统一的依赖管理和构建流程
  1. 现代化技术栈
  • 前端:React 19 + TypeScript + Vite/Next.js
  • 后端:NestJS 11 + TypeScript
  • 数据库:MySQL + Drizzle ORM
  • 状态管理:Zustand
  • UI 组件库:Ant Design 5
  1. 组件化设计系统
  • 高度模块化的问卷组件架构
  • 支持多种题型:标题、单选、多选、输入框、文本域、段落等
  • 每个组件都有独立的接口定义和属性配置
  • 组件可配置、可复用
  1. 状态管理优化
  • 使用 Zustand 进行轻量级状态管理
  • 组件状态与问卷状态分离
  • 支持组件的增删改查、拖拽排序
  • 临时 ID 机制处理未保存状态
  1. 数据库设计
  • 使用 Drizzle ORM 进行类型安全的数据库操作
  • 自定义 ID 生成器(基于 cuid2)
  • 清晰的数据库模式定义
  1. 开发体验优化
  • 代码质量:ESLint + Prettier + TypeScript
  • Git 钩子:pre-commit 自动代码检查
  • 热重载:支持前端和后端的开发模式热重载
  • 并发开发:一键启动所有服务
  1. 部署和运维
  • Docker 支持:完整的容器化部署方案
  • 多环境配置:开发、生产环境配置分离
  • 服务编排:MySQL、Redis、MinIO 等服务的统一管理
  1. API 设计
  • RESTful API 设计
  • Swagger 文档自动生成
  • 统一的响应格式和异常处理
  • 请求参数验证和转换
  1. 文件存储
  • MinIO 对象存储服务
  • 支持图片上传和管理
  • 问卷背景和页眉图片功能
  1. 性能优化
  • Next.js 的 Turbo 模式
  • React 19 的新特性支持
  • 组件懒加载和按需渲染

项目特色

这是一个企业级的问卷管理系统,具有以下特色:

  • 响应式设计:支持多端适配
  • 实时预览:编辑和预览同步
  • 组件库扩展:易于添加新的题型组件
  • 数据统计:问卷填写数据的可视化分析

操作说明

修改了 schema 结构后需要执行 pnpm run db:init

About

monorepo,nest,drizzle,react,next,antd 问卷系统

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors