127 lines
3.5 KiB
Markdown
127 lines
3.5 KiB
Markdown
# 软件授权管理平台 - 目录结构说明
|
|
|
|
## 项目整体结构
|
|
|
|
```
|
|
license-manager/
|
|
├── README.md # 项目说明文档
|
|
├── LICENSE # 开源许可证
|
|
├── .gitignore # Git忽略文件配置
|
|
├── Dockerfile # Docker构建配置
|
|
├── docker-compose.yml # Docker编排配置
|
|
├── Makefile # 构建自动化脚本
|
|
│
|
|
├── backend/ # 后端服务目录
|
|
├── frontend/ # 前端应用目录
|
|
├── docs/ # 项目文档目录
|
|
├── scripts/ # 项目级脚本目录
|
|
├── tests/ # 端到端测试目录
|
|
└── bin/ # 编译产物目录
|
|
```
|
|
|
|
## 前端目录 (frontend/)
|
|
|
|
```
|
|
frontend/
|
|
├── public/ # 静态资源目录
|
|
│ ├── index.html # HTML模板
|
|
│ └── favicon.ico # 网站图标
|
|
├── src/ # 前端源代码
|
|
│ ├── components/ # Vue组件
|
|
│ ├── views/ # 页面视图
|
|
│ ├── router/ # 路由配置
|
|
│ ├── store/ # 状态管理(Pinia)
|
|
│ ├── api/ # API请求封装
|
|
│ ├── utils/ # 工具函数
|
|
│ ├── assets/ # 资源文件
|
|
│ └── main.js # 应用入口
|
|
├── package.json # NPM依赖配置
|
|
├── vite.config.js # Vite构建配置
|
|
└── .env.example # 环境变量模板
|
|
```
|
|
|
|
## 文档目录 (docs/)
|
|
|
|
```
|
|
docs/
|
|
├── api/ # API接口文档
|
|
├── architecture/ # 架构设计文档
|
|
│ ├── 需求说明书.md # 项目需求规格
|
|
│ └── 目录结构说明.md # 本文档
|
|
└── deployment/ # 部署相关文档
|
|
```
|
|
|
|
## 脚本目录 (scripts/)
|
|
|
|
```
|
|
scripts/
|
|
├── build.sh # 项目构建脚本
|
|
├── deploy.sh # 部署脚本
|
|
└── dev.sh # 开发环境启动脚本
|
|
```
|
|
|
|
## 测试目录 (tests/)
|
|
|
|
```
|
|
tests/
|
|
├── integration/ # 集成测试
|
|
└── e2e/ # 端到端测试
|
|
```
|
|
|
|
## 编译产物目录 (bin/)
|
|
|
|
```
|
|
bin/
|
|
└── license-manager # 编译后的可执行文件
|
|
```
|
|
|
|
## 目录设计原则
|
|
|
|
### 1. 前后端分离
|
|
- backend/ 和 frontend/ 完全独立,可以分别开发和部署
|
|
- 各自拥有独立的依赖管理和构建配置
|
|
|
|
### 2. 职责清晰
|
|
- internal/ 存放内部业务逻辑,不对外暴露
|
|
- pkg/ 存放可重用的公共代码
|
|
- cmd/ 只包含应用启动代码
|
|
|
|
### 3. 标准化
|
|
- 遵循Go项目标准布局
|
|
- 遵循Vue.js项目最佳实践
|
|
- 符合开源项目规范
|
|
|
|
### 4. 易于维护
|
|
- 配置文件集中管理
|
|
- 脚本统一放置
|
|
- 文档结构清晰
|
|
|
|
## 开发流程
|
|
|
|
### 开发环境启动
|
|
```bash
|
|
# 启动开发环境(前后端同时启动)
|
|
./scripts/dev.sh
|
|
```
|
|
|
|
### 项目构建
|
|
```bash
|
|
# 构建整个项目
|
|
./scripts/build.sh
|
|
```
|
|
|
|
### Docker部署
|
|
```bash
|
|
# 构建Docker镜像
|
|
docker build -t license-manager .
|
|
|
|
# 运行容器
|
|
docker run -p 8080:8080 license-manager
|
|
```
|
|
|
|
## 注意事项
|
|
|
|
1. 权限管理:确保脚本文件具有执行权限
|
|
2. 配置文件:不要提交包含敏感信息的配置文件
|
|
3. 依赖管理:定期更新依赖版本,注意安全漏洞
|
|
4. 代码规范:前后端代码都要遵循各自的编码规范 |