156 lines
5.0 KiB
Markdown
156 lines
5.0 KiB
Markdown
# 项目管理系统
|
||
|
||
## 项目简介
|
||
|
||
项目管理系统是一个基于BS架构的企业级项目管理平台,旨在帮助企业实现项目全生命周期的数字化管理,包括项目创建、编辑、跟踪、统计等功能。
|
||
|
||
## 功能特性
|
||
|
||
### 1. 用户管理
|
||
- **管理员**:可以创建用户,修改用户密码,权限
|
||
- **市场部**:可以创建项目
|
||
- **其他部门**:可以修改项目内容
|
||
|
||
### 2. 项目创建
|
||
- 项目只能由市场部创建
|
||
- 支持完整的项目信息录入,包括基本信息、项目描述、项目团队、项目时间、项目预算、项目里程碑、项目风险等
|
||
|
||
### 3. 项目编辑
|
||
- 所有用户可以修改项目
|
||
- 自动记录修改历史记录,便于追溯
|
||
|
||
### 4. 项目统计
|
||
- 管理员可以通过各种条件筛选和统计项目
|
||
- 支持多维度项目统计分析
|
||
|
||
## 技术栈
|
||
|
||
### 前端技术
|
||
- **框架**:Vue 3
|
||
- **状态管理**:Pinia
|
||
- **UI组件库**:Element Plus
|
||
- **路由**:Vue Router
|
||
- **网络请求**:Axios
|
||
|
||
### 后端技术
|
||
- **框架**:FastAPI 0.104.0+
|
||
- **ORM框架**:SQLAlchemy 2.0.0+
|
||
- **数据库驱动**:PyMySQL 1.1.0+
|
||
- **数据库**:MySQL 8.0+
|
||
- **认证**:JWT 2.8.0+
|
||
- **密码加密**:Passlib 1.7.4+
|
||
- **数据验证**:Pydantic 2.5.0+
|
||
- **API文档**:Swagger (FastAPI自动生成)
|
||
- **构建工具**:Poetry 1.7.0+
|
||
|
||
## 项目结构
|
||
|
||
### 前端结构
|
||
```
|
||
├── public/ # 静态资源
|
||
├── src/ # 源代码
|
||
│ ├── assets/ # 资源文件
|
||
│ ├── components/ # 公共组件
|
||
│ ├── views/ # 页面组件
|
||
│ ├── router/ # 路由配置
|
||
│ ├── store/ # 状态管理
|
||
│ ├── api/ # API请求
|
||
│ ├── utils/ # 工具函数
|
||
│ ├── constants/ # 常量定义
|
||
│ ├── hooks/ # 自定义Hooks
|
||
│ ├── App.vue # 根组件
|
||
│ └── main.js # 入口文件
|
||
├── .env # 环境变量
|
||
├── vite.config.js # Vite配置
|
||
├── package.json # 项目依赖
|
||
└── README.md # 项目说明
|
||
```
|
||
|
||
### 后端结构
|
||
```
|
||
├── app/ # 应用代码
|
||
│ ├── api/ # API路由
|
||
│ ├── models/ # 数据模型
|
||
│ ├── schemas/ # Pydantic模式
|
||
│ ├── services/ # 业务逻辑
|
||
│ ├── database/ # 数据库配置
|
||
│ ├── common/ # 公共模块
|
||
│ ├── config.py # 应用配置
|
||
│ └── main.py # 应用入口
|
||
├── tests/ # 测试代码
|
||
├── alembic/ # 数据库迁移
|
||
├── pyproject.toml # Poetry配置
|
||
├── requirements.txt # 依赖列表
|
||
└── README.md # 项目说明
|
||
```
|
||
|
||
## 开发环境搭建
|
||
|
||
### 前端环境
|
||
1. 克隆代码库: `git clone <repository-url>`
|
||
2. 安装依赖: `npm install`
|
||
3. 启动开发服务器: `npm run dev`
|
||
4. 访问: `http://localhost:5173`
|
||
|
||
### 后端环境
|
||
1. 克隆代码库: `git clone <repository-url>`
|
||
2. 安装依赖: `poetry install` 或 `pip install -r requirements.txt`
|
||
3. 配置数据库连接 (config.py)
|
||
4. 初始化数据库: `alembic upgrade head`
|
||
5. 启动应用: `uvicorn app.main:app --reload`
|
||
6. 访问: `http://localhost:8000`
|
||
7. API文档: `http://localhost:8000/docs`
|
||
|
||
##### 数据库配置
|
||
|
||
1. 创建数据库: `CREATE DATABASE project_management CHARACTER SET utf8mb4 COLLATE utf8mb4_unicode_ci;`
|
||
2. 创建用户并授权: `CREATE USER 'project_user'@'localhost' IDENTIFIED BY 'project_password'; GRANT ALL PRIVILEGES ON project_management.* TO 'project_user'@'localhost'; FLUSH PRIVILEGES;`
|
||
3. 执行数据库初始化脚本: `docs/init.sql`
|
||
4. 配置数据库连接信息
|
||
|
||
**注意**: 系统默认使用MySQL数据库,不再支持SQLite。
|
||
|
||
## 系统初始化
|
||
|
||
### 初始用户
|
||
- **管理员**:用户名: admin, 密码: 123456
|
||
- **市场部**:用户名: marketing, 密码: 123456
|
||
- **其他部门**:用户名: other, 密码: 123456
|
||
|
||
## 项目文档
|
||
|
||
- **产品需求文档**:docs/产品需求文档.md
|
||
- **功能规格说明书**:docs/功能规格说明书.md
|
||
- **数据库设计文档**:docs/数据库设计文档.md
|
||
- **技术架构文档**:docs/技术架构文档.md
|
||
- **项目示例文件**:docs/example.xsl
|
||
|
||
## 部署方案
|
||
|
||
### 前端部署
|
||
1. 构建生产版本: `npm run build`
|
||
2. 将构建产物复制到 Nginx 静态目录
|
||
3. 配置 Nginx 反向代理
|
||
|
||
### 后端部署
|
||
1. 安装依赖: `poetry install --no-dev` 或 `pip install -r requirements.txt`
|
||
2. 配置环境变量和数据库连接
|
||
3. 使用 Gunicorn 启动应用: `gunicorn app.main:app -w 4 -k uvicorn.workers.UvicornWorker`
|
||
4. 配置 Nginx 反向代理
|
||
|
||
## 安全注意事项
|
||
|
||
1. 首次登录后请修改初始密码
|
||
2. 定期备份数据库
|
||
3. 避免使用弱密码
|
||
4. 限制系统访问IP
|
||
5. 定期更新系统和依赖库版本
|
||
|
||
## 联系方式
|
||
|
||
如有问题或建议,请联系项目管理员。
|
||
|
||
---
|
||
|
||
© 2026 项目管理系统 版权所有
|