# NEX Docus
**现代化的文档管理系统** [![License](https://img.shields.io/badge/license-MIT-blue.svg)](LICENSE) [![Docker](https://img.shields.io/badge/Docker-Ready-brightgreen.svg)](DEPLOY.md) [![Python](https://img.shields.io/badge/Python-3.9+-blue.svg)](backend/) [![React](https://img.shields.io/badge/React-18.2-61DAFB.svg)](frontend/)
## ✨ 特性 - 📝 **Markdown 编辑器** - 强大的 Markdown 实时预览和编辑 - 📁 **项目管理** - 多项目支持,灵活的文件组织结构 - 🔐 **权限控制** - 基于 RBAC 的完善权限管理 - 🔗 **文档分享** - 支持密码保护的公开分享链接 - 👥 **协作功能** - 项目成员管理和协作编辑 - 📱 **响应式设计** - 完美支持桌面和移动端 - 🐳 **Docker 部署** - 一键容器化部署 - 🚀 **高性能** - 基于 FastAPI 和 React 构建 ## 🏗️ 技术栈 ### 后端 - **框架**: FastAPI (Python 3.9+) - **数据库**: MySQL 8.0 - **缓存**: Redis 7 - **ORM**: SQLAlchemy 2.0 - **认证**: JWT (python-jose) - **异步**: Asyncio ### 前端 - **框架**: React 18 + Vite - **UI**: Ant Design 5 - **路由**: React Router 6 - **状态管理**: Zustand - **Markdown**: react-markdown + rehype - **HTTP**: Axios ## 📦 快速开始 ### 使用 Docker 部署(推荐) ```bash # 1. 克隆项目 git clone cd "NEX Docus" # 2. 配置环境变量 cp .env.example .env vim .env # 修改配置 # 3. 一键部署 ./deploy.sh init ``` 详细部署文档请查看 [DEPLOY.md](DEPLOY.md) ### 本地开发 #### 后端开发 ```bash cd backend # 创建虚拟环境 python -m venv venv source venv/bin/activate # Windows: venv\Scripts\activate # 安装依赖 pip install -r requirements.txt -i https://pypi.tuna.tsinghua.edu.cn/simple # 配置环境变量 cp .env.example .env vim .env # 初始化数据库 python scripts/init_db.py # 启动服务 python main.py ``` 后端服务将运行在 `http://localhost:8000` API 文档: `http://localhost:8000/docs` #### 前端开发 ```bash cd frontend # 安装依赖 npm install # 或使用国内镜像 npm install --registry=https://registry.npmmirror.com # 启动开发服务器 npm run dev ``` 前端服务将运行在 `http://localhost:5173` ## 📖 文档 - [部署文档](DEPLOY.md) - Docker 容器化部署指南 - [API 文档](http://localhost:8000/docs) - FastAPI 自动生成的 API 文档 - [数据库设计](DATABASE.md) - 数据库表结构说明 ## 🔑 默认账号 首次部署后,系统会自动创建管理员账号: - 用户名: `admin`(可在 .env 中配置) - 密码: `Admin@123456`(可在 .env 中配置) **⚠️ 重要提示:请在首次登录后立即修改默认密码!** ## 🛠️ 部署脚本 ```bash # 查看帮助 ./deploy.sh help # 初始化部署 ./deploy.sh init # 启动/停止/重启 ./deploy.sh start|stop|restart # 查看状态和日志 ./deploy.sh status ./deploy.sh logs [服务名] # 升级部署 ./deploy.sh upgrade # 数据库备份/恢复 ./deploy.sh backup ./deploy.sh restore ``` ## 📁 项目结构 ``` NEX Docus/ ├── backend/ # 后端服务 │ ├── app/ │ │ ├── api/ # API 路由 │ │ ├── core/ # 核心配置 │ │ ├── models/ # 数据模型 │ │ ├── schemas/ # Pydantic Schemas │ │ └── services/ # 业务逻辑 │ ├── scripts/ # 脚本文件 │ ├── Dockerfile # 后端镜像 │ └── requirements.txt # Python 依赖 ├── frontend/ # 前端应用 │ ├── src/ │ │ ├── api/ # API 请求 │ │ ├── components/ # 组件 │ │ ├── pages/ # 页面 │ │ ├── stores/ # 状态管理 │ │ └── utils/ # 工具函数 │ ├── Dockerfile # 前端镜像 │ └── package.json # npm 依赖 ├── docker-compose.yml # Docker 编排 ├── deploy.sh # 部署脚本 ├── .env.example # 环境变量示例 └── README.md # 项目文档 ``` ## 🤝 贡献 欢迎提交 Issue 和 Pull Request! ## 📄 开源协议 本项目采用 [MIT](LICENSE) 协议 ## 🙏 致谢 感谢以下开源项目: - [FastAPI](https://fastapi.tiangolo.com/) - [React](https://react.dev/) - [Ant Design](https://ant.design/) - [SQLAlchemy](https://www.sqlalchemy.org/) --- **Made with ❤️ by NEX Docus Team**