# 软件授权管理平台 - 目录结构说明 ## 项目整体结构 ``` 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. 代码规范:前后端代码都要遵循各自的编码规范