{"id":13416653,"url":"https://github.com/flipped-aurora/gin-vue-admin","last_synced_at":"2025-05-12T16:24:20.155Z","repository":{"id":36979899,"uuid":"205679232","full_name":"flipped-aurora/gin-vue-admin","owner":"flipped-aurora","description":"🚀Vite+Vue3+Gin拥有AI辅助的基础开发平台，支持TS和JS混用。它集成了JWT鉴权、权限管理、动态路由、显隐可控组件、分页封装、多点登录拦截、资源权限、上传下载、代码生成器、表单生成器和可配置的导入导出等开发必备功能。","archived":false,"fork":false,"pushed_at":"2025-05-12T03:26:00.000Z","size":15894,"stargazers_count":22819,"open_issues_count":27,"forks_count":6678,"subscribers_count":299,"default_branch":"main","last_synced_at":"2025-05-12T16:24:04.508Z","etag":null,"topics":["admin","casbin","element-ui","gin","gin-admin","gin-vue-admin","go","go-admin","golang","gorm","i18n","jwt","llm","pinia","swagger","vite","vue","vue-admin","vue3"],"latest_commit_sha":null,"homepage":"http://demo.gin-vue-admin.com/","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/flipped-aurora.png","metadata":{"files":{"readme":"README-en.md","changelog":null,"contributing":"CONTRIBUTING.md","funding":".github/FUNDING.yml","license":"LICENSE","code_of_conduct":"CODE_OF_CONDUCT.md","threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":"SECURITY.md","support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null},"funding":{"github":null,"patreon":null,"open_collective":"gin-vue-admin","ko_fi":null,"tidelift":null,"community_bridge":null,"liberapay":null,"issuehunt":null,"otechie":null,"custom":"https://www.gin-vue-admin.com/docs/coffee"}},"created_at":"2019-09-01T13:22:35.000Z","updated_at":"2025-05-12T16:00:37.000Z","dependencies_parsed_at":"2023-08-14T00:23:08.524Z","dependency_job_id":"34402d2c-ea54-4d62-919f-7c3c601c7bb4","html_url":"https://github.com/flipped-aurora/gin-vue-admin","commit_stats":{"total_commits":2356,"total_committers":231,"mean_commits":10.1991341991342,"dds":0.5420203735144312,"last_synced_commit":"03330537fcbc8e1955f7b0e052b46a5f1412c3d0"},"previous_names":["piexlmax/gin-vue-admin"],"tags_count":67,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipped-aurora%2Fgin-vue-admin","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipped-aurora%2Fgin-vue-admin/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipped-aurora%2Fgin-vue-admin/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/flipped-aurora%2Fgin-vue-admin/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/flipped-aurora","download_url":"https://codeload.github.com/flipped-aurora/gin-vue-admin/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":253774734,"owners_count":21962222,"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","casbin","element-ui","gin","gin-admin","gin-vue-admin","go","go-admin","golang","gorm","i18n","jwt","llm","pinia","swagger","vite","vue","vue-admin","vue3"],"created_at":"2024-07-30T22:00:18.356Z","updated_at":"2025-05-12T16:24:20.136Z","avatar_url":"https://github.com/flipped-aurora.png","language":"Go","funding_links":["https://opencollective.com/gin-vue-admin","https://www.gin-vue-admin.com/docs/coffee"],"categories":["Popular","Go","开源类库","Components \u0026 Libraries","Open source library","Repositories","语言资源库","前端开发框架及项目","Others","前端中后台框架","Go (531)","💻 项目实战","开发工具\u0026框架","Vue"],"sub_categories":["业务框架","Frameworks","Business Framework","go","管理面板","💾 Redis"],"readme":"\n\u003cdiv align=center\u003e\n\u003cimg src=\"http://qmplusimg.henrongyi.top/gvalogo.jpg\" width=\"300\" height=\"300\" /\u003e\n\u003c/div\u003e\n\u003cdiv align=center\u003e\n\u003cimg src=\"https://img.shields.io/badge/golang-1.18-blue\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/gin-1.9.1-lightBlue\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/vue-3.3.4-brightgreen\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/element--plus-2.3.8-green\"/\u003e\n\u003cimg src=\"https://img.shields.io/badge/gorm-1.25.2-red\"/\u003e\n\u003c/div\u003e\n\nEnglish | [简体中文](./README.md)\n\n[gitee](https://gitee.com/pixelmax/gin-vue-admin): https://gitee.com/pixelmax/gin-vue-admin\n\n[github](https://github.com/flipped-aurora/gin-vue-admin): https://github.com/flipped-aurora/gin-vue-admin\n\n# Project Guidelines\n[Online Documentation](https://www.gin-vue-admin.com/) : https://www.gin-vue-admin.com/\n\n[From the environment to the deployment of teaching videos](https://www.bilibili.com/video/BV1fV411y7dT)\n\n[Development Steps](https://www.gin-vue-admin.com/guide/start-quickly/env.html) (Contributor:  \u003ca href=\"https://github.com/LLemonGreen\"\u003eLLemonGreen\u003c/a\u003e And \u003ca href=\"https://github.com/fkk0509\"\u003eFann\u003c/a\u003e)\n\n## 1. Basic Introduction\n\n### 1.1 Project Introduction\n\n\u003e Gin-vue-admin is a backstage management system based on [vue](https://vuejs.org) and [gin](https://gin-gonic.com), which separates the front and rear of the full stack. It integrates jwt authentication, dynamic routing, dynamic menu, casbin authentication, form generator, code generator and other functions. It provides a variety of sample files, allowing you to focus more time on business development.\n\n[Online Demo](http://demo.gin-vue-admin.com): http://demo.gin-vue-admin.com\n\nusername：admin\n\npassword：123456\n\n### 1.2 Contributing Guide\n\nHi! Thank you for choosing gin-vue-admin.\n\nGin-vue-admin is a full-stack (frontend and backend separation) framework for developers, designers and product managers.\n\nWe are excited that you are interested in contributing to gin-vue-admin. Before submitting your contribution though, please make sure to take a moment and read through the following guidelines.\n\n#### 1.2.1 Issue Guidelines\n\n- Issues are exclusively for bug reports, feature requests and design-related topics. Other questions may be closed directly. If any questions come up when you are using Element, please hit [Gitter](https://gitter.im/element-en/Lobby) for help.\n\n- Before submitting an issue, please check if similar problems have already been issued.\n\n#### 1.2.2 Pull Request Guidelines\n\n- Fork this repository to your own account. Do not create branches here.\n\n- Commit info should be formatted as `[File Name]: Info about commit.` (e.g. `README.md: Fix xxx bug`)\n\n- \u003cfont color=red\u003eMake sure PRs are created to `develop` branch instead of `master` branch.\u003c/font\u003e\n\n- If your PR fixes a bug, please provide a description about the related bug.\n\n- Merging a PR takes two maintainers: one approves the changes after reviewing, and then the other reviews and merges.\n\n### 1.3 Version list\n\n- master: 2.0 code, for prod\n- develop: 2.0 dev code, for test\n- [gin-vue-admin_v2_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gin-vue-admin_v2_dev) (v2.0 [GormV1](https://v1.gorm.io) Stable branch)\n- [gva_gormv2_dev](https://github.com/flipped-aurora/gin-vue-admin/tree/gva_gormv2_dev) (v2.0 [GormV2](https://v2.gorm.io) Development branch)\n\n## 2. Getting started\n\n```\n- node version \u003e v8.6.0\n- golang version \u003e= v1.14\n- IDE recommendation: Goland\n- initialization project: different versions of the database are not initialized. See synonyms at initialization https://www.gin-vue-admin.com/docs/first\n- Replace the Qiniuyun public key, private key, warehouse name and default url address in the project to avoid data confusion in the test file.\n```\n\n### 2.1 server project\n\nuse `Goland` And other editing tools，open server catalogue，You can't open it. `gin-vue-admin` root directory\n\n```bash\n# clone the project\ngit clone https://github.com/flipped-aurora/gin-vue-admin.git\n\n# open server catalogue\ncd server\n\n# use go mod And install the go dependency package\ngo generate\n\n# Compile \ngo build -o server main.go (windows the compile command is go build -o server.exe main.go )\n\n# Run binary\n./server (windows The run command is server.exe)\n```\n\n### 2.1 web project\n\n```bash\n# enter the project directory\ncd web\n\n# install dependency\nnpm install\n\n# develop\nnpm run serve\n```\n\n### 2.2 Server\n\n```bash\n# using go.mod\n\n# install go modules\ngo list (go mod tidy)\n\n# build the server\ngo build\n```\n\n### 2.3 API docs auto-generation using swagger\n\n#### 2.3.1 install swagger \n\n##### (1) Using VPN or outside mainland China\n````\ngo get -u github.com/swaggo/swag/cmd/swag\n````\n\n##### (2) In mainland China\n\nIn mainland China, access to go.org/x is prohibited，we recommend [goproxy.io](https://goproxy.io/zh/) or [goproxy.cn](https://goproxy.cn)\n\n````bash\n# If you are using a version of Go 1.13 - 1.15 Need to set up manually GO111MODULE=on, The opening mode is as follows, If your Go version is 1.16 ~ Latest edition You can ignore the following step one\n# Step one、Enable Go Modules Function\ngo env -w GO111MODULE=on \n# Step two、Configuration GOPROXY Environment variable\ngo env -w GOPROXY=https://goproxy.cn,https://goproxy.io,direct\n\n# If you dislike trouble,You can use the go generate Automatically execute code before compilation, But this can't be used command line terminal of `Goland` or `Vscode` \ncd server\ngo generate -run \"go env -w .*?\"\n\n# 使用如下命令下载swag\ngo get -u github.com/swaggo/swag/cmd/swag\n````\n\n#### 2.3.2 API docs generation\n\n````\ncd server\nswag init\n````\n\n\u003e After executing the above command，server directory will appear in the docs folder `docs.go`, `swagger.json`, `swagger.yaml` Three file updates，After starting the go service, type in the browser [http://localhost:8888/swagger/index.html](http://localhost:8888/swagger/index.html) You can view swagger document\n\n\n## 3. Technical selection\n\n- Frontend: using [Element](https://github.com/ElemeFE/element) based on [Vue](https://vuejs.org)，to code the page.\n- Backend: using [Gin](https://gin-gonic.com/) to quickly build basic RESTful API. [Gin](https://gin-gonic.com/)is a web framework written in Go (Golang).\n- DB: `MySql`(5.6.44)，using [gorm](http://gorm.io)` to implement data manipulation, added support for SQLite databases.\n- Cache: using `Redis` to implement the recording of the JWT token of the currently active user and implement the multi-login restriction.\n- API: using Swagger to auto generate APIs docs。\n- Config: using [fsnotify](https://github.com/fsnotify/fsnotify) and [viper](https://github.com/spf13/viper) to implement `yaml` config file。\n- Log: using [zap](https://github.com/uber-go/zap) record logs。\n\n## 4. Project Architecture\n\n### 4.1 Architecture Diagram\n\n![Architecture diagram](http://qmplusimg.henrongyi.top/gva/gin-vue-admin.png)\n\n### 4.2 Front-end Detailed Design Diagram (Contributor: \u003ca href=\"https://github.com/baobeisuper\"\u003ebaobeisuper\u003c/a\u003e)\n\n![Front-end Detailed Design Diagram](http://qmplusimg.henrongyi.top/naotu.png)\n\n### 4.3 Project Layout\n\n```\n    ├── server\n        ├── api             (api entrance)\n        │   └── v1          (v1 version interface)\n        ├── config          (configuration package)\n        ├── core            (core document)\n        ├── docs            (swagger document directory)\n        ├── global          (global object)                    \n        ├── initialize      (initialization)                        \n        │   └── internal    (initialize internal function)                            \n        ├── middleware      (middleware layer)                        \n        ├── model           (model layer)                    \n        │   ├── request     (input parameter structure)                        \n        │   └── response    (out-of-parameter structure)                            \n        ├── packfile        (static file packaging)                        \n        ├── resource        (static resource folder)                        \n        │   ├── excel       (excel import and export default path)                        \n        │   ├── page        (form generator)                        \n        │   └── template    (template)                            \n        ├── router          (routing layer)                    \n        ├── service         (service layer)                    \n        ├── source          (source layer)                    \n        └── utils           (tool kit)                    \n            ├── timer       (timer interface encapsulation)                        \n            └── upload      (oss interface encapsulation)  \n            \n    └─web            （frontend）\n        ├─public        （deploy templates）\n        └─src           （source code）\n            ├─api       （frontend APIs）\n            ├─assets\t（static files）\n            ├─components（components）\n            ├─router\t（frontend routers）\n            ├─store     （vuex state management）\n            ├─style     （common styles）\n            ├─utils     （frontend common utilitie）\n            └─view      （pages）\n\n```\n\n## 5. Features\n\n- Authority management: Authority management based on `jwt` and `casbin`. \n- File upload and download: implement file upload operations based on `Qiniuyun', `Aliyun 'and `Tencent Cloud` (please develop your own application for each platform corresponding to `token` or `key` ).\n- Pagination Encapsulation：The frontend uses `mixins` to encapsulate paging, and the paging method can call `mixins` .\n- User management: The system administrator assigns user roles and role permissions.\n- Role management: Create the main object of permission control, and then assign different API permissions and menu permissions to the role.\n- Menu management: User dynamic menu configuration implementation, assigning different menus to different roles.\n- API management: Different users can call different API permissions.\n- Configuration management: the configuration file can be modified in the foreground (this feature is not available in the online experience site).\n- Conditional search: Add an example of conditional search.\n- Restful example: You can see sample APIs in user management module.\n  - Front-end file reference: [web/src/view/superAdmin/api/api.vue](https://github.com/flipped-aurora/gin-vue-admin/blob/master/web/src/view/superAdmin/api/api.vue).\n  - Stage reference: [server/router/sys_api.go](https://github.com/flipped-aurora/gin-vue-admin/blob/master/server/router/sys_api.go).\n- Multi-login restriction: Change `user-multipoint` to true in `system` in `config.yaml` (You need to configure redis and redis parameters yourself. During the test period, please report in time if there is a bug).\n- Upload file by chunk：Provides examples of file upload and large file upload by chunk.\n- Form Builder：With the help of [@form-generator](https://github.com/JakHuang/form-generator).\n- Code generator: Providing backend with basic logic and simple curd code generator.\n\n## 6. Knowledge base\n\n### 6.1 Team blog\n\n\u003e https://www.yuque.com/flipped-aurora\n\u003e\n\u003eThere are video courses about frontend framework in our blo. If you think the project is helpful to you, you can add my personal WeChat:shouzi_1994，your comments is welcomed。\n\n### 6.2 Video courses\n\n(1) Development environment course\n\n\u003e Bilibili：https://www.bilibili.com/video/BV1Fg4y187Bw/\n\n(2) Template course\n\n\u003e Bilibili：https://www.bilibili.com/video/BV16K4y1r7BD/\n\n(3) 2.0 version introduction and development experience\n\n\u003e Bilibili：https://www.bilibili.com/video/BV1aV411d7Gm#reply2831798461\n\n(4) Golang basic course\n\n\u003e https://space.bilibili.com/322210472/channel/detail?cid=108884\n\n(5) gin frame basic teaching\n\n\u003e bilibili：https://space.bilibili.com/322210472/channel/detail?cid=126418\u0026ctype=0\n\n(6) gin-vue-admin version update introduction video\n\u003e bilibili：https://space.bilibili.com/322210472/channel/detail?cid=126418\u0026ctype=0\n\n## 7.Contacts\n\n### 7.1 Groups\n\n#### QQ group: 622360840\n\n| QQ group |d\n|  :---:  |\n| \u003cimg src=\"http://qmplusimg.henrongyi.top/qq.jpg\" width=\"180\"/\u003e |\n\n\n#### Wechat group: comment \"加入gin-vue-admin交流群\"\n\n| Wechat |\n|  :---:  | \n| \u003cimg width=\"150\" src=\"http://qmplusimg.henrongyi.top/qrjjz.png\"\u003e \n\n#### [About Us](https://www.gin-vue-admin.com/about/join.html)\n\n## 8. Contributors\n\nThank you for considering your contribution to gin-vue-admin!\n\n\u003ca href=\"https://github.com/flipped-aurora/gin-vue-admin/graphs/contributors\"\u003e\n  \u003cimg src=\"https://contrib.rocks/image?repo=flipped-aurora/gin-vue-admin\" /\u003e\n\u003c/a\u003e\n\n## 9. Donate\n\nIf you find this project useful, you can buy author a glass of juice :tropical_drink: [here](https://www.gin-vue-admin.com/coffee/index.html)\n\n## 10. Commercial considerations\n\nIf you use this project for commercial purposes, please comply with the Apache2.0 agreement and retain the author's technical support statement.\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipped-aurora%2Fgin-vue-admin","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fflipped-aurora%2Fgin-vue-admin","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fflipped-aurora%2Fgin-vue-admin/lists"}