# 在线文档后端 **Repository Path**: mwdb996/online-document-backend ## Basic Information - **Project Name**: 在线文档后端 - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-01-25 - **Last Updated**: 2025-01-28 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # 在线文档平台 一个现代化的在线文档协作平台,支持富文本编辑、实时协作、文档分享等功能。 ## 技术栈 ### 后端技术栈 - **运行环境**: Node.js v18.x - **Web框架**: Express.js - **数据库**: MongoDB - **认证**: JWT (JSON Web Tokens) - **文件处理**: - multer (文件上传) - sharp (图片处理) - **HTML处理**: - cheerio (HTML解析) - DOMPurify (HTML清理) - **其他工具**: - cors (跨域处理) - dotenv (环境变量) - winston (日志) ### 前端技术栈 - **前端框架**: React 18 + TypeScript - **UI 组件**: Material-UI (MUI) v5 - **编辑器**: Tiptap + ProseMirror - **样式**: TailwindCSS - **HTTP 客户端**: Axios - **路由**: React Router v6 - **认证**: JWT (JSON Web Token) ## 主要功能 1. **用户系统** - 注册/登录 - JWT认证 - 用户信息管理 2. **文档管理** - 富文本编辑 - 文档版本控制 - 文档大纲生成 - 文档分享 3. **文件处理** - 图片上传 - 文件类型验证 - 大小限制 - CDN支持 4. **协作功能** - 文档协作者管理 - 权限控制 - 分享链接 ## 项目结构 ``` backend/ ├── src/ │ ├── config/ # 配置文件 │ ├── controllers/ # 控制器 │ ├── middleware/ # 中间件 │ ├── models/ # 数据模型 │ ├── routes/ # 路由 │ ├── utils/ # 工具函数 │ └── app.js # 应用入口 ├── uploads/ # 文件上传目录 ├── scripts/ # 脚本文件 └── API.md # API文档 frontend/ ├── src/ │ ├── api/ # API请求 │ ├── components/ # 组件 │ ├── hooks/ # 自定义Hooks │ ├── pages/ # 页面 │ ├── store/ # Redux store │ ├── styles/ # 样式文件 │ └── utils/ # 工具函数 └── public/ # 静态资源 ``` ## 开发指南 ### 环境要求 - Node.js v18.x - MongoDB v4.x - npm 或 yarn ### 安装和运行 1. 克隆项目 ```bash git clone <项目地址> ``` 2. 安装依赖 ```bash # 后端 cd backend npm install # 前端 cd frontend npm install ``` 3. 配置环境变量 ```bash # 后端 (.env) PORT=3000 MONGODB_URI=你的MongoDB连接地址 JWT_SECRET=你的JWT密钥 ``` 4. 运行项目 ```bash # 后端 npm run dev # 前端 npm start ``` ### Git 操作 ```bash # 添加更改的文件 git add . # 提交更改 git commit -m "你的提交信息" # 推送到远程仓库 git push ``` ## API 文档 详细的 API 文档请参考 [API.md](backend/API.md) ## 部署 项目使用 Docker 进行容器化部署: ```bash # 构建镜像 docker build -t doc-platform . # 运行容器 docker run -p 3000:3000 doc-platform ``` ## 注意事项 1. 文件上传 - 支持的文件类型:jpeg, png, gif, pdf - 单文件大小限制:10MB - 多文件上传限制:最多5个文件 2. 安全性 - 所有上传的文件都会经过安全检查 - HTML内容会被清理,移除不安全的标签和属性 - API请求需要有效的JWT令牌 3. 性能优化 - 使用缓存减少数据库查询 - 图片自动压缩和优化 - API响应数据精简 ## 贡献指南 1. Fork 项目 2. 创建特性分支 (`git checkout -b feature/AmazingFeature`) 3. 提交更改 (`git commit -m 'Add some AmazingFeature'`) 4. 推送到分支 (`git push origin feature/AmazingFeature`) 5. 提交 Pull Request ## 许可证 MIT License - 详见 [LICENSE](LICENSE) 文件