软件包管理系统,旨在让交付环节变得简单高效。
- 后端:
- Go 语言
- go-clean-architecture
- Gin Web 框架
- ent ORM(默认使用 SQLite,可扩展)
- Casbin 权限控制
- 前端:
- React + TypeScript
- Vite 构建工具
- shadcn-ui 组件库
- 部署与运维:
- Docker 支持
- docker-compose 多环境部署
- 多租户支持
- 项目管理
- 软件包管理
- 发布版本管理
- 用户与权限组管理
- 支持 CICD 上传(CLI 或 CURL)
- 客户端接入与自动更新
api/
—— OpenAPI/接口定义cmd/
—— 程序入口config/
—— 配置文件(如 RBAC、环境变量等)controller/
—— 路由控制器domain/
—— 领域模型与业务逻辑ent/
—— ORM 相关代码frontend/
—— 前端源码(见 frontend/README.md)internal/
—— 内部工具与通用逻辑logs/
—— 日志文件pkg/
—— 可复用的包repository/
—— 数据访问层script/
—— 脚本工具usecase/
—— 用例/业务流程docs/
—— 项目文档
cd frontend
npm install
npm run dev
默认访问地址为 http://localhost:5173
,可通过 vite.config.ts
配置端口和代理。
# 项目根目录
go mod tidy
# 首先编译前端资源(确保frontend/frontend.go embed dist/* 到二进制文件 )
# 生成 ent
go run -mod=mod entgo.io/ent/cmd/ent generate ./ent/schema
# 生成 swagger 文档
swag init -g cmd/main.go -o docs
# 运行
go run cmd/main.go
# 或者编译成二进制可执行文件
go build -o pkms cmd/main.go
docker-compose up -d
# 运行测试
go test ./...
- 前端详细说明见
frontend/README.md
。 - docs/ent.md 包含 ent ORM 的使用说明。