Files
2026-04-19 14:05:40 +08:00

97 lines
2.7 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# STsystem
科技成果转化管理系统。
这是一个前后端分离的内部业务系统,用于科技成果的录入、审核、统计分析、公告通知和基础数据维护,适用于科研院所、企事业单位等成果管理场景。
## 项目概览
- 前端:React 19 + Ant Design
- 后端:Node.js + Express
- 数据库:PostgreSQL 17
- 部署:Nginx 反向代理,前后端分离部署
## 核心能力
- 成果全流程管理:录入、编辑、审核、归档、导出
- 角色权限控制:普通用户、中级用户、高级用户、管理员、维护员、超级管理员
- 数据统计分析:按部门、成果类型、年份等维度可视化分析
- 系统公告与附件分发
- 审计日志、限流、移动端拦截、附件类型校验等安全措施
- AI 统计分析接口,基于脱敏后的聚合数据生成分析结论
## 目录结构
```text
STsystem/
├─ client/ 前端项目
├─ server/ 后端项目
├─ database/ 数据库结构文件
├─ static/ 静态页面资源
├─ 配置包/ Windows 环境安装包与依赖
├─ backup_tool.py 备份恢复工具
├─ nginx.conf Nginx 配置示例
├─ PROJECT_DOCUMENTATION.md 项目综合文档
└─ 第一次升级.md 升级与上线说明
```
## 本地开发
### 1. 安装依赖
根目录仅提供快捷脚本,实际依赖分别安装在 `client/``server/`
```bash
cd server
npm install
cd ../client
npm install
```
### 2. 配置后端环境变量
复制 `server/.env.example``server/.env`,按实际环境填写数据库、JWT、上传目录和 AI 配置。
## 常用命令
在项目根目录执行:
```bash
npm run server # 启动后端
npm run client # 启动前端
npm run build # 构建前端
```
后端目录额外提供:
```bash
npm run init-db
npm run seed-500k
```
注意:生产环境上线时不要误执行初始化或造数脚本,尤其是 `init-db``setup``seed` 一类命令。
## 生产部署要点
- 前端构建产物位于 `client/build/`
- 后端入口文件为 `server/index.js`
- 生产环境通常通过 Nginx 托管前端静态资源,并反向代理 `/api/`
- 上传目录由 `UPLOAD_DIR` / `UPLOAD_FALLBACK_DIRS` 控制
- 建议保留服务器现有 `.env`,不要把本地开发环境配置直接覆盖到生产环境
## 文档
- 详细项目说明见 [PROJECT_DOCUMENTATION.md](./PROJECT_DOCUMENTATION.md)
- 升级与上线说明见 [第一次升级.md](./第一次升级.md)
## 说明
本仓库应保存源码、配置示例和文档,不应提交以下运行时内容:
- `server/.env`
- `node_modules`
- `server/uploads`
- `server/logs`
- 前端本地缓存和临时构建产物