{"id":19581565,"url":"https://github.com/gjing1st/hertz-admin","last_synced_at":"2025-05-12T14:24:49.063Z","repository":{"id":205557222,"uuid":"620304047","full_name":"gjing1st/hertz-admin","owner":"gjing1st","description":"基于字节跳动CloudWeGo开源的hertz搭建的后台管理框架","archived":false,"fork":false,"pushed_at":"2025-04-22T06:26:48.000Z","size":5658,"stargazers_count":10,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-05-12T14:24:18.430Z","etag":null,"topics":["admin","backend","go","golang","hertz"],"latest_commit_sha":null,"homepage":"","language":"Go","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/gjing1st.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,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2023-03-28T12:26:12.000Z","updated_at":"2025-04-22T06:26:51.000Z","dependencies_parsed_at":null,"dependency_job_id":"45f42bc4-3708-4668-847a-57e241a8ce34","html_url":"https://github.com/gjing1st/hertz-admin","commit_stats":null,"previous_names":["gjing1st/hertz-admin"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjing1st%2Fhertz-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjing1st%2Fhertz-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjing1st%2Fhertz-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/gjing1st%2Fhertz-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/gjing1st","download_url":"https://codeload.github.com/gjing1st/hertz-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253754379,"owners_count":21958852,"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":["admin","backend","go","golang","hertz"],"created_at":"2024-11-11T07:37:04.207Z","updated_at":"2025-05-12T14:24:49.055Z","avatar_url":"https://github.com/gjing1st.png","language":"Go","funding_links":[],"categories":[],"sub_categories":[],"readme":"#\n## 🌱1 基本介绍\n### 1.1 项目简介\n基于`Golang`最强`http`框架：字节跳动`hertz` 开发的项目，本项目不单单是一个后台管理框架，更是一个`Golang`项目基础框架。  \n整体架构布局采用 `51k` Star的 [Go项目标准布局](https://github.com/golang-standards/project-layout) 规范。\n\n## 📝2. 使用说明\n### 2.1 目录结构\n```shell\n├── build # 接口文档\n|   ├── ci # 持续集成打包脚本\n|   └── docker # Dockerfile\n├── cmd \n|   └── ha # 主程序入口\n├── configs # 配置文件\n├── deployments # 项目部署文件\n|   ├── docker-compose  # 以docker-compose形式部署相关配置文件\n|   ├── jenkins # Jenkins-DevOps相关配置文件\n|   └── k8s # 以k8s运行deployment配置文件\n├── docs # 文档\n├── internal # 项目核心内部模块\n|   ├── apiserver # api接口：MVCSS结构,路由、模型、数据库、缓存、控制器、服务等\n|   └── pkg # 内部公共模块：中间件、日志、配置等\n├── pkg # 公共模块：错误、工具等\n├── scripts # 脚本\n├── version # 版本信息\n|    └── version.sh # 版本信息脚本\n└── Makefile # 项目构建脚本\n```\n### 2.2 关于error处理\n所有error转换为可观测的错误码，统一处理\n具体可参考`pkg/errorcode`目录下的错误码定义\n### 2.3 关于日志\n所有日志使用`github.com/sirupsen/logrus`封装日志处理\n具体可参考`internal/pkg/functions`目录下的日志处理\n### 2.4 关于版本控制\n- 版本控制定义在`version/version.go`文件中\n- 版本信息在打包时将git版本信息通过传参形式构建到二进制文件中，方便后续版本控制，具体可查看`Makefile`\n- 本项目使用`git tag`进行版本控制，若需要使用git分支版本，请修改`version/version.sh`和`Makefile`中`GIT_VERSION`。\n### 3.5 Docker打包\n- 采用当下最新`Docker`打包技术，利于缓存加速减少层级，在i5 13600kf下，打包时间为10s左右\n- 支持多架构打包、具体可查看`build/docker/Dockerfile`\n\n## ⚡️3. 打包方式\n建议直接使用Makefile进行打包，具体可查看`Makefile`\n### 运行程序\n```shell\nmake run\n```\n借鉴k8s版本控制，在编译时将git版本信息写入二进制文件，方便后续版本控制\n### 编译为二进制可执行程序\n```shell\nmake build\n```\n### 打包为docker并导出镜像\n```shell\nmake docker\n```\n### 推送到镜像仓库\n```shell\nmake push_docker\n```\n## 📖4. 其他说明\n### 4.1 生成swag \n```shell\nswag init -g ./cmd/ha/main.go\n```\n## 📞5. 关于我\n- 代码如诗，优雅编码。主要从事后端开发，兼具前端、运维及全栈工程师，热爱`Golang`、`Docker`、`kubernetes`、`KubeSphere`。\n- 信创服务器`k8s`\u0026`KubeSphere`布道者、`KubeSphere`离线部署布道者\n- 公众号：`编码如写诗`，作者：`天行1st`，微信：`sd_zdhr`\n\n可扫描下方二维码，添加我微信或关注公众号，添加好友请备注 **`ha`**\n\n| \u003cimg src=\"https://s21.ax1x.com/2025/04/22/pE55UBR.png\" width=\"600px\" align=\"left\"/\u003e |\n| ------------------------------------------------------------ |\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjing1st%2Fhertz-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fgjing1st%2Fhertz-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fgjing1st%2Fhertz-admin/lists"}