# Kra Kra 是基于 Kratos 生命周期与 Wire 依赖注入、使用 Gin 提供管理端 HTTP API 的前后端管理系统。 ## 目录 ```text cmd/ 服务入口与 Wire configs/ 运行配置 internal/biz/ 领域对象、用例和仓储接口 internal/data/ 数据库、缓存、对象存储及仓储实现 internal/server/ Gin 服务、路由、中间件和 Handler internal/service/ HTTP 输入输出与领域对象转换 internal/worker/ 定时任务调度与后台工作进程 web/ Vue 管理端 ``` ## 启动后端 先修改 `configs/config.yaml`。首次启动时,如果目标数据库不可用,服务会保留初始化接口;在管理端初始化页面完成建库、建表和种子数据写入后即可登录。 ```shell go run ./cmd -conf ./configs ``` 默认 HTTP 地址为 `http://127.0.0.1:8000`。生产环境必须替换 JWT 签名密钥和数据库凭据。 配置文件发生变化时会自动刷新内存配置;管理端“重载服务”会进一步重建数据库、Redis、对象存储连接并重新载入定时任务。路由前缀和 HTTP 监听地址需要重启进程后生效。 ## 启动前端 ```shell cd web pnpm install pnpm dev ``` 构建产物和依赖目录 `web/dist/`、`web/node_modules/` 已加入 Git 忽略规则。 ## 生成代码 修改 `internal/conf/conf.proto` 后执行: ```shell make config ``` 修改 Wire Provider 或构造函数后执行: ```shell go generate ./cmd ``` ## 检查 ```shell go test ./... go vet ./... cd web && pnpm lint && pnpm build ```