{"id":15272411,"url":"https://github.com/tanjiancheng/gin-amis-admin","last_synced_at":"2025-04-12T09:31:41.170Z","repository":{"id":40252607,"uuid":"280349774","full_name":"tanjiancheng/gin-amis-admin","owner":"tanjiancheng","description":"A platform to help developer to build admin panel in five minutes","archived":false,"fork":false,"pushed_at":"2023-05-05T02:25:20.000Z","size":16062,"stargazers_count":30,"open_issues_count":7,"forks_count":12,"subscribers_count":2,"default_branch":"master","last_synced_at":"2024-10-31T11:51:35.822Z","etag":null,"topics":["admin","amis","gin","golang","low-code"],"latest_commit_sha":null,"homepage":"http://amis.tanjiancheng.top:10088/#/dashboard","language":"CSS","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/tanjiancheng.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}},"created_at":"2020-07-17T06:52:13.000Z","updated_at":"2024-07-08T01:15:16.000Z","dependencies_parsed_at":"2024-06-19T01:25:38.711Z","dependency_job_id":"7dd8bcd4-6e69-4236-87c3-f8642fc36370","html_url":"https://github.com/tanjiancheng/gin-amis-admin","commit_stats":null,"previous_names":[],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanjiancheng%2Fgin-amis-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanjiancheng%2Fgin-amis-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanjiancheng%2Fgin-amis-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/tanjiancheng%2Fgin-amis-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/tanjiancheng","download_url":"https://codeload.github.com/tanjiancheng/gin-amis-admin/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":223510342,"owners_count":17157306,"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","amis","gin","golang","low-code"],"created_at":"2024-09-30T09:06:33.671Z","updated_at":"2024-11-07T12:03:48.374Z","avatar_url":"https://github.com/tanjiancheng.png","language":"CSS","funding_links":[],"categories":[],"sub_categories":[],"readme":"\u003ch1 align=\"center\"\u003eGin-Amis-Admin\u003c/h1\u003e\n\n\u003cdiv align=\"center\"\u003e\n 基于 GIN + AMIS + GORM/MONGO + CASBIN + WIRE 实现的RBAC权限管理脚手架，目的是提供一套轻量的中后台开发框架，方便、快速的完成业务需求的开发。\n\u003cbr/\u003e\n\n![Language](https://img.shields.io/badge/language-goland1.4-blue.svg)\n[![License][license-image]][license-url]\n\n\u003c/div\u003e\n\n## 特性\n\n- 遵循 `RESTful API` 设计规范 \u0026 基于接口的编程规范\n- 基于 `GIN` 框架，提供了丰富的中间件支持（JWTAuth、CORS、RequestLogger、RequestRateLimiter、TraceID、CasbinEnforce、Recover、GZIP）\n- 基于 `Casbin` 的 RBAC 访问控制模型 -- **权限控制可以细粒度到按钮 \u0026 接口**\n- 基于 `Gorm/Mongo` 的数据库存储 -- 存储层抽象了标准的外部业务层调用接口，内部采用封闭式实现（为后续切换数据存储提供了较大的便利）\n- 基于 `WIRE` 的依赖注入 -- 依赖注入本身的作用是解决了各个模块间层级依赖繁琐的初始化过程\n- 基于 `Logrus \u0026 Context` 实现了日志输出，通过结合 Context 实现了统一的 TraceID/UserID 等关键字段的输出(同时支持日志钩子写入到`Gorm/Mongo`)\n- 基于 `JWT` 的用户认证 -- 基于 JWT 的黑名单验证机制\n- 基于 `Swaggo` 自动生成 `Swagger` 文档 -- 独立于接口的 mock 实现\n- 基于 `net/http/httptest` 标准包实现了 API 的单元测试\n- 基于 `go mod` 的依赖管理(国内源可使用：\u003chttps://goproxy.cn/\u003e)\n- 基于 `snowflake` 生成唯一ID\n\n## 依赖工具\n\n```\ngo get -u github.com/cosmtrek/air\ngo get -u github.com/google/wire/cmd/wire\ngo get -u github.com/swaggo/swag/cmd/swag\n```\n\n- [air](https://github.com/cosmtrek/air) -- Live reload for Go apps\n- [wire](https://github.com/google/wire) -- Compile-time Dependency Injection for Go\n- [swag](https://github.com/swaggo/swag) -- Automatically generate RESTful API documentation with Swagger 2.0 for Go.\n\n## 依赖框架\n\n- [Gin](https://gin-gonic.com/) -- The fastest full-featured web framework for Go.\n- [GORM](http://gorm.io/) -- The fantastic ORM library for Golang\n- [Mongo](https://github.com/mongodb/mongo-go-driver) -- The Go driver for MongoDB\n- [Casbin](https://casbin.org/) -- An authorization library that supports access control models like ACL, RBAC, ABAC in Golang\n- [Wire](https://github.com/google/wire) -- Compile-time Dependency Injection for Go\n\n## 快速开始\n\n[在线预览](http://amis.tanjiancheng.top:10088/#/dashboard)\n\u003e 域名已失效，请先绑定host   \n\u003e 123.207.62.203 amis.tanjiancheng.top \n\n测试用户名：root\n\n测试密码：root\n\n\u003e 二进制包执行\n\n[https://github.com/tanjiancheng/gin-amis-admin/releases](https://github.com/tanjiancheng/gin-amis-admin/releases)\n下载对应的平台版本执行启动命令\n```\n# linux/drawin\nmake start\n# windows\n双击start.bat\n```\n\n\u003e 源码执行\n```bash\n$ go get -u -v github.com/tanjiancheng/gin-amis-admin/cmd/gin-admin\n$ cd $GOPATH/src/github.com/LyricTian/gin-admin\n# 使用AIR工具运行\n$ air\n# OR 基于Makefile运行\n$ make start\n# OR 使用go命令运行\n$ go run cmd/gin-admin/main.go web -c ./configs/config.toml -m ./configs/model.conf --menu ./configs/menu.yaml --page ./configs/page_manager.yaml\n```\n\n\u003e 启动成功之后，可在浏览器中输入地址进行访问：[http://127.0.0.1:10088](http://127.0.0.1:10088)\n\n\n## 特别感谢\n\n```\n本项目主要参考了:\nhttps://github.com/baidu/amis\nhttps://github.com/LyricTian/gin-admin\n```\n\n\n## MIT License\n\n    Copyright (c) 2020\n\n[reportcard-url]: https://goreportcard.com/report/github.com/LyricTian/gin-admin\n[reportcard-image]: https://goreportcard.com/badge/github.com/LyricTian/gin-admin\n[godoc-url]: https://godoc.org/github.com/LyricTian/gin-admin\n[godoc-image]: https://godoc.org/github.com/LyricTian/gin-admin?status.svg\n[license-url]: http://opensource.org/licenses/MIT\n[license-image]: https://img.shields.io/npm/l/express.svg\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanjiancheng%2Fgin-amis-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Ftanjiancheng%2Fgin-amis-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Ftanjiancheng%2Fgin-amis-admin/lists"}