# Admin Server Monorepo Architecture ## 当前结论 `hyapp-admin-server` 已迁入 `hyapp-server/server/admin`,但仍保持独立 Go module。目录合并只解决开发协作和契约共享问题,不改变服务边界。 ## Module 边界 ```text hyapp-server/ go.work api/ 独立 Go module:hyapp.local/api services/ app 后端服务实现 server/admin/ 独立 Go module:hyapp-admin-server ``` - `api` 只放 protobuf contract 和生成代码。 - `services/*` 只放 app 后端服务实现。 - `server/admin` 只放后台管理服务实现、后台权限、后台菜单、后台审计和后台 HTTP API。 ## 允许依赖 - `hyapp` app 后端服务可以依赖 `hyapp.local/api/proto/...`。 - `hyapp-admin-server` 可以依赖 `hyapp.local/api/proto/...`。 - `hyapp-admin-server` 的 app 业务访问必须收口到 `internal/integration/*` 或对应业务模块内的明确 client 接口。 ## 禁止依赖 - `hyapp-admin-server` 禁止 import `hyapp/services/*`。 - `hyapp-admin-server` 禁止 import `hyapp/internal/*`。 - `hyapp-admin-server` 禁止 import `hyapp/pkg/*`。 - 后台专属基础设施放在 `server/admin/internal/platform`,不要把 app 后端 `pkg` 当共享库使用。 ## 运行与验证 在 `hyapp-server` 根目录运行: ```bash make proto make test make build ``` 在 `hyapp-server/server/admin` 单独运行后台: ```bash go run ./cmd/server -config configs/config.yaml ```