{"id":22354154,"url":"https://github.com/adamtyn/at-kratos","last_synced_at":"2025-03-26T12:28:47.491Z","repository":{"id":188890121,"uuid":"496065479","full_name":"AdamTyn/at-kratos","owner":"AdamTyn","description":"嗯，一个更适合开箱即用的 kratos-layout","archived":false,"fork":false,"pushed_at":"2022-06-22T06:21:50.000Z","size":85,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-01-31T13:43:43.783Z","etag":null,"topics":["golang","grpc-go","kratos"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/AdamTyn.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null}},"created_at":"2022-05-25T03:11:46.000Z","updated_at":"2022-06-22T06:29:41.000Z","dependencies_parsed_at":"2023-08-17T10:54:20.004Z","dependency_job_id":"b222229a-8fd1-4550-927c-647d50b42924","html_url":"https://github.com/AdamTyn/at-kratos","commit_stats":null,"previous_names":["adamtyn/at-kratos"],"tags_count":2,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-kratos","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-kratos/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-kratos/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/AdamTyn%2Fat-kratos/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/AdamTyn","download_url":"https://codeload.github.com/AdamTyn/at-kratos/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":245653104,"owners_count":20650630,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["golang","grpc-go","kratos"],"created_at":"2024-12-04T13:11:39.317Z","updated_at":"2025-03-26T12:28:47.467Z","avatar_url":"https://github.com/AdamTyn.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"## at-kratos\n嗯，一个更适合开箱即用的 ***kratos-layout***\n\n0. 环境\n   \n   ```txt\n   Golang v1.17+\n   Apollo\n   数据库\n   Redis\n   ```\n\n1. 文件结构梳理\n\n    ```txt\n    api/... # 提供grpc服务的proto文件\n    cmd/at-kratos/... # 程序入口文件\n    internal/biz/...\n    internal/conf/... # (解析apollo)配置的proto文件\n    internal/data/...\n    internal/data/dao/...\n    internal/data/entity/...\n    internal/pkg/cache/... # 缓存组件\n    internal/pkg/database/... # 数据库组件\n    internal/pkg/grpc_client/... # 调用外部的grpc客户端\n    internal/pkg/http_client/... # 调用外部的http客户端\n    internal/pkg/util/... # 通用组件\n    internal/server/... # 注册grpc服务\n    internal/service/...\n    migrations/v1/... # 数据库迁移\n    pkg/... # 可以暴露grpc服务的client\n    tests/v1/... # 单元测试\n    third_party/... # protobuf的官方依赖\n    Dockerfile\n    Makefile # 构建指令\n    README.md\n    ......\n    ```\n\n2. 构建指令详解\n   - 生成依赖注入相关文件\n\n     ```bash\n     make generate\n     ```\n   - 编译 *internal/conf/conf.proto* 文件\n     \n     ```bash\n     make config\n     ```\n   - 编译 **grpc服务** 的 *.proto* 文件\n     \n     ```bash\n     make api\n     ```\n   - 编译调用外部的 **grpc客户端** 的 *.proto* 文件\n     \n     ```bash\n     make grpc-client\n     ```\n   - 编译调用外部的 **http客户端** 的 *.proto* 文件\n     \n     ```bash\n     make http-client\n     ```\n   - 编译打包\n     \n     ```bash\n     make build\n     ```\n\n3. 感谢\n   - [**kratos-doc**](https://go-kratos.dev/docs/)\n   - [**proto3-doc**](https://developers.google.cn/protocol-buffers/docs/proto3)\n   - [**insomnia**](https://github.com/Kong/insomnia/releases)\n   - [**zorm**](https://gitee.com/chunanyong/zorm)\n\n4. 联系方式\n   - 邮箱：tynadam@foxmail.com\n   - 闲鱼：欧布00","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamtyn%2Fat-kratos","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fadamtyn%2Fat-kratos","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fadamtyn%2Fat-kratos/lists"}