- 智能润色 - 基于通义千问/DeepSeek 的申报书 AI 润色
- 13 种字段模板 - 项目简介、研究目的、创新点等专项优化
- 学术化风格 - 符合大学创新训练项目申报书规范
- 字数控制 - 精确控制各字段字数范围
- 全生命周期 - 申报、中期检查、结题一站式管理
- 进度追踪 - 实时查看项目状态和审核进度
- 团队协作 - 多角色权限管理(学生/教师/管理员)
- 赛事大全 - 互联网+、挑战杯、三创赛等 20+ 赛事
- 时间轴 - 报名、校赛、省赛、国赛全流程
- 智能推荐 - 根据项目类型推荐适合的竞赛
- 预算编制 - 项目经费申请和审批
- 报销流程 - 线上报销,票据管理
- 统计分析 - 经费使用情况可视化
- 项目看板 - 项目数量、状态分布一目了然
- 趋势分析 - 历年数据对比
- 导出报表 - 支持 Word/Excel 导出
- Node.js >= 18.0
- MySQL >= 8.0
- npm >= 9.0
git clone https://github.com/zza-830/gdut-dachuang-guide.git
cd gdut-dachuang-guide# 安装前端依赖
npm install
# 安装后端依赖
cd server && npm install && cd ..# 复制环境变量模板
cp .env.example .env
# 编辑 .env 文件,配置以下信息:
# - MySQL 数据库连接
# - JWT 密钥
# - AI API 密钥(可选)# 创建数据库
mysql -u root -p -e "CREATE DATABASE gdut_dachuang;"
# 导入初始化数据
mysql -u root -p gdut_dachuang < mysql-init/init.sql# 开发模式(前后端同时启动)
npm run dev
# 或者分别启动
npm run server # 后端 http://localhost:5000
npm run client # 前端 http://localhost:5173┌─────────────────────────────────────────────────────────────┐
│ 用户浏览器 │
└─────────────────────────┬───────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ React + Vite 前端 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 项目管理 │ │ AI 润色 │ │ 竞赛信息 │ │ 经费管理 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└─────────────────────────┬───────────────────────────────────┘
│
┌─────────────────────────▼───────────────────────────────────┐
│ Node.js + Express 后端 │
│ ┌──────────┐ ┌──────────┐ ┌──────────┐ ┌──────────┐ │
│ │ 路由层 │ │ 控制器层 │ │ 中间件 │ │ 工具函数 │ │
│ └──────────┘ └──────────┘ └──────────┘ └──────────┘ │
└────────┬────────────────────────────────┬───────────────────┘
│ │
┌────────▼────────┐ ┌──────────▼──────────┐
│ MySQL 8.0 │ │ AI 服务 │
│ ┌──────────┐ │ │ ┌──────────┐ │
│ │ 用户表 │ │ │ │ 通义千问 │ │
│ │ 项目表 │ │ │ │ DeepSeek │ │
│ │ 竞赛表 │ │ │ └──────────┘ │
│ │ 经费表 │ │ └─────────────────────┘
│ └──────────┘ │
└─────────────────┘
| 层级 | 技术 | 说明 |
|---|---|---|
| 前端 | React 19 + Vite 7 | 现代化 UI 框架 |
| UI 组件 | Bootstrap 5 + React Bootstrap | 响应式设计 |
| 状态管理 | React Context | 轻量级状态管理 |
| 路由 | React Router 7 | 单页应用路由 |
| 后端 | Node.js + Express 5 | RESTful API |
| 数据库 | MySQL 8.0 | 关系型数据库 |
| 认证 | JWT | 无状态认证 |
| AI 服务 | 通义千问 + DeepSeek | 智能文本润色 |
| 文件处理 | Multer | 文件上传 |
| 定时任务 | node-cron | 竞赛信息自动更新 |
gdut-dachuang-guide/
├── src/ # 前端源码
│ ├── components/ # React 组件
│ │ ├── AIField.jsx # AI 润色组件
│ │ ├── Sidebar.jsx # 侧边栏
│ │ └── ...
│ ├── pages/ # 页面组件
│ │ ├── ApplicationEditor.jsx # 申报书编辑器
│ │ ├── CompetitionDetail.jsx # 竞赛详情
│ │ └── ...
│ ├── services/ # API 服务
│ │ ├── aiService.js # AI 服务封装
│ │ └── api.js # API 请求封装
│ ├── data/ # 数据文件
│ │ └── applicationPrompts.js # AI Prompt 模板
│ └── utils/ # 工具函数
├── server/ # 后端源码
│ ├── controllers/ # 控制器
│ │ ├── aiController.js # AI 接口
│ │ ├── authController.js # 认证接口
│ │ └── ...
│ ├── routes/ # 路由定义
│ ├── middleware/ # 中间件
│ ├── config/ # 配置文件
│ └── index.js # 入口文件
├── mysql-init/ # 数据库初始化
│ └── init.sql # 建表语句
├── public/ # 静态资源
├── .env.example # 环境变量模板
├── docker-compose.yml # Docker 配置
└── README.md # 项目说明
# 配置环境变量
cp .env.example .env.docker
# 编辑 .env.docker 填入真实配置
# 启动服务
docker compose --env-file .env.docker up -d --build
# 查看状态
docker compose ps- 前端:http://localhost:8080
- 后端 API:http://localhost:5000/api
- 数据库:localhost:3307
POST /api/auth/login # 用户登录
POST /api/auth/register # 用户注册
GET /api/auth/profile # 获取用户信息GET /api/projects # 获取项目列表
POST /api/projects # 创建项目
GET /api/projects/:id # 获取项目详情
PUT /api/projects/:id # 更新项目
DELETE /api/projects/:id # 删除项目POST /api/ai/qwen # 通义千问润色
POST /api/ai/deepseek # DeepSeek 生成GET /api/competitions # 获取竞赛列表
GET /api/competitions/:id # 获取竞赛详情
POST /api/competitions/refresh # 刷新竞赛信息本项目的核心亮点之一是 精细化的 Prompt 设计,针对大创申报书的每个字段都有专门的 System Prompt:
- 角色定义 - 明确 AI 的专业身份
- 字数约束 - 精确控制输出长度
- 结构要求 - 分段落、有逻辑
- 风格指导 - 学术化、专业严谨
- 内容注入 - 动态插入用户输入
`生成一个项目简介,字数严格控制在150-450字之间。
开头用一句话点明项目名称与核心技术,
接着详细描述硬件载体与应用场景,
再说明核心功能的实现机制和技术栈,
强调创新优化的具体优势,
最后点明益处与价值,包括量化指标。
语言学术化、简洁有力、专业严谨,
符合大学创新训练项目申报书风格。`- ✅ 已服务 100+ 大创项目申报
- ✅ AI 润色准确率 95%+
- ✅ 支持 13 种申报书字段
- ✅ 集成 20+ 竞赛信息
- ✅ 获得校级创新大赛奖项
欢迎贡献代码、提交 Issue 或改进文档!
- Fork 本仓库
- 创建你的特性分支 (
git checkout -b feature/AmazingFeature) - 提交你的改动 (
git commit -m 'Add some AmazingFeature') - 推送到分支 (
git push origin feature/AmazingFeature) - 打开一个 Pull Request
- 使用 ESLint 进行代码检查
- 遵循 React Hooks 最佳实践
- 后端 API 遵循 RESTful 规范
- 提交信息使用中文,格式:
类型: 描述
- 🎉 项目初始化
- ✨ AI 智能润色功能
- ✨ 项目全生命周期管理
- ✨ 竞赛信息库
- ✨ 经费管理模块
- 📦 Docker 部署支持
本项目基于 MIT License 开源。
- 张子昂 - 项目负责人 & 全栈开发
- 飞触科技有限公司(广工孵化企业)