go-admin项目地址已经转移https://github.com/go-admin-team/go-admin

go-admin license donate

English | 简体中文

基于Gin + Vue + Element UI的前后端分离权限管理系统

系统初始化极度简单,只需要配置文件中,修改数据库连接,系统启动后会自动初始化数据库信息以及必须的基础数据

在线文档国际

在线文档国内

前端项目

视频教程

特性

  • 遵循 RESTful API 设计规范

  • 基于 GIN WEB API 框架,提供了丰富的中间件支持(用户认证、跨域、访问日志、追踪ID等)

  • 基于Casbin的 RBAC 访问控制模型

  • JWT 认证

  • 支持 Swagger 文档(基于swaggo)

  • 基于 GORM 的数据库存储,可扩展多种类型数据库

  • 配置文件简单的模型映射,快速能够得到想要的配置

  • 代码生成工具

  • 表单构建工具

  • 多命令模式

  • TODO: 单元测试

🎁 内置

  1. 用户管理:用户是系统操作者,该功能主要完成系统用户配置。
  2. 部门管理:配置系统组织机构(公司、部门、小组),树结构展现支持数据权限。
  3. 岗位管理:配置系统用户所属担任职务。
  4. 菜单管理:配置系统菜单,操作权限,按钮权限标识等。
  5. 角色管理:角色菜单权限分配、设置角色按机构进行数据范围权限划分。
  6. 字典管理:对系统中经常使用的一些较为固定的数据进行维护。
  7. 参数管理:对系统动态配置常用参数。
  8. 操作日志:系统正常操作日志记录和查询;系统异常信息日志记录和查询。
  9. 登录日志:系统登录日志记录查询包含登录异常。
  10. 系统接口:根据业务代码自动生成相关的api接口文档。
  11. 代码生成:根据数据表结构生成对应的增删改查相对应业务,全部可视化编程,基本业务可以0代码实现。
  12. 表单构建:自定义页面样式,拖拉拽实现页面布局。
  13. 服务监控:查看一些服务器的基本信息。

准备工作

你需要在本地安装 [go] [gin] nodegit

同时配套了系列教程包含视频和文档,如何从下载完成到熟练使用,强烈建议大家先看完这些教程再来实践本项目!!!

轻松实现go-admin写出第一个应用 - 文档教程

步骤一 - 基础内容介绍

步骤二 - 实际应用 - 编写增删改查

手把手教你从入门到放弃 - 视频教程

如何启动go-admin

使用生成工具轻松实现业务

v1.1.0版本代码生成工具-释放双手 [进阶]

多命令启动方式讲解以及IDE配置

go-admin菜单的配置说明 [必看]

如何配置菜单信息以及接口信息 [必看]

go-admin权限配置使用说明 [必看]

go-admin数据权限使用说明 [必看]

如有问题请先看上述使用文档和文章,若不能满足,欢迎 issue 和 pr ,视频教程和文档持续更新中

🗞 系统架构

📦 本地开发

开发目录创建

# 创建开发目录
mkdir goadmin
cd goadmin

获取代码

重点注意:两个项目必须放在同一文件夹下;

# 获取后端代码
git clone https://github.com/wenjianzhang/go-admin.git

# 获取前端代码
git clone https://github.com/wenjianzhang/go-admin-ui.git

启动说明

服务端启动说明

# 进入 go-admin 后端项目
cd ./go-admin

# 编译项目
go build

# 修改配置 
# 文件路径  go-admin/config/settings.yml
vi ./config/setting.yml 

# 1. 配置文件中修改数据库信息 
# 注意: settings.database 下对应的配置数据
# 2. 确认log路径

初始化数据库,以及服务启动

# 首次配置需要初始化数据库资源信息
./go-admin migrate -c config/settings.yml -m dev


# 启动项目,也可以用IDE进行调试
./go-admin server -c config/settings.yml -p 8000 -m dev

使用docker 编译启动

# 编译镜像
docker build -t go-admin .

# 启动容器,第一个go-admin是容器名字,第二个go-admin是镜像名称
docker run --name go-admin -p 8000:8000 -d go-admin

文档生成

swag init  

# 如果没有swag命令 go get安装一下即可
go get -u github.com/swaggo/swag/cmd/swag

交叉编译

env GOOS=windows GOARCH=amd64 go build main.go

# or

env GOOS=linux GOARCH=amd64 go build main.go

UI交互端启动说明

# 安装依赖
npm install

# 建议不要直接使用 cnpm 安装依赖,会有各种诡异的 bug。可以通过如下操作解决 npm 下载速度慢的问题
npm install --registry=https://registry.npm.taobao.org

# 启动服务
npm run dev

🎬 在线体验

admin / 123456

演示地址:http://www.zhangwj.com

📨 互动

微信 此群已满 go-admin技术交流乙号

🤝 特别感谢

chengxiao gin casbin spf13/viper gorm gin-swagger jwt-go vue-element-admin ruoyi-vue

🤟 打赏

如果你觉得这个项目帮助到了你,你可以帮作者买一杯果汁表示鼓励 🍹

❤️ 赞助者

有部分是微信名称

zhuqiyun LLL狐 星星之火 cjj770 Sam 唐*i 晓聪 aLong *渊 海马 魏镇坪 + 111 *哥 我的宇哥哥 *声 *节

🔑 License

MIT

Copyright (c) 2020 wenjianzhang

Similar Resources

Bot to manage team members in GitHub organizations

Team manager Team manager is a utility that allows an organization owner to add or remove people from existing teams and / or assign people for GitHub

Oct 29, 2022

Search for GitHub team posts (discussions)

go CLI to search GitHub Team Posts (Discussions) Motivation Want to search for content in GitHub team posts? Use this CLI. Usage: Get a PAT with acces

Sep 14, 2022

Go-github-actions - `go-github-actions` is a package for developing GitHub Actions

go-github-actions go-github-actions is a package for developing GitHub Actions.

Feb 6, 2022

Gaea is a mysql proxy, it's developed by xiaomi b2c-dev team.

Gaea is a mysql proxy, it's developed by xiaomi b2c-dev team.

简介 Gaea是小米中国区电商研发部研发的基于mysql协议的数据库中间件,目前在小米商城大陆和海外得到广泛使用,包括订单、社区、活动等多个业务。Gaea支持分库分表、sql路由、读写分离等基本特性,更多详细功能可以参照下面的功能列表。其中分库分表方案兼容了mycat和kingshard两个项目的路

Dec 30, 2022

An AMQP 0-9-1 Go client maintained by the RabbitMQ team. Originally by @streadway: `streadway/amqp`

Go RabbitMQ Client Library This is a Go AMQP 0.9.1 client maintained by the RabbitMQ core team. It was originally developed by Sean Treadway. Differen

Jan 1, 2023

Golang anti-vm framework for Red Team and Pentesters

Golang anti-vm framework for Red Team and Pentesters

Chacal is an anti-vm framework written in Golang in order to support Red Team and Pentesters in your assalts, in Windows environment!

Dec 28, 2022

A repository for the X-Team community to collaborate and learn solutions to most coding challenges to help prepare for their interviews.

A repository for the X-Team community to collaborate and learn solutions to most coding challenges to help prepare for their interviews.

Community Coding Challenge Handbook This repository focuses on helping X-Teamers and community members to thrive through coding challenges offering so

Sep 6, 2022

Red team tool that emulates the SolarWinds CI compromise attack vector.

Red team tool that emulates the SolarWinds CI compromise attack vector.

SolarSploit Sample malicious program that emulates the SolarWinds attack vector. Listen for processes that use the go compiler Wait for a syscall to o

Nov 9, 2022

A Kubernetes Operator, that helps DevOps team accelerate their journey into the cloud and K8s.

A Kubernetes Operator, that helps DevOps team accelerate their journey into the cloud and K8s.

A Kubernetes Operator, that helps DevOps team accelerate their journey into the cloud and K8s. OAM operator scaffolds all of the code required to create resources across various cloud provides, which includes both K8s and Non-K8s resources

Nov 30, 2021

Trello backend repo for Ladno Davayte Bez Roflov team

Trello Trello backend repository for Ladno Davayte Bez Roflov team, autumn of 2021. Team Anton Chumakov; Alexander Orletskiy; Georgij Sedojkin; Dmitri

Dec 25, 2021

A Hackathon project created by Alpha Interface team for Agri-D Food Hack

Alpha Interface A Hackathon project created by Alpha Interface team for Agri-D Food Hack Installation Downloading Wasp and wasp-cli https://wiki.iota.

Oct 16, 2022

A system written in Golang to help ops team to automate the process of mapping Vault groups to LDAP Groups.

A system written in Golang to help ops team to automate the process of mapping Vault groups to LDAP Groups. This utility automatically adds LDAP Groups' members to the corresponding Vault Groups.

Nov 12, 2021

Plan team's rotation on google calendar

google-rotation-planner Plan rota on google calendar. Usage Get a credentials.json file from GCloud and place it in the same folder as the executable.

Jul 4, 2022

It's an auxiliary tool ,and it helps the blue team track the attackers

It's an auxiliary tool ,and it helps the blue team track the attackers

pdog pdog - Threat Intelligence pdog - OSINT It's an auxiliary tool ,and it helps the blue team track the attackers Example useage: Usage: [comma

Dec 22, 2021

A robust Red Team proxy written in Go.

GoWard A robust and rapidly-deployable Red Team proxy with strong OPSEC considerations. Description Generally, Red Teams and adversary's redirect thei

Nov 9, 2022

Enforcing per team quota (sum of used resources across all their namespaces) and delegating the per namespace quota to users.

Quota Operator Enforcing per team quota (sum of used resources across all their namespaces) and delegating the per namespace quota to users. Instructi

Nov 9, 2022

Mob-code-server - Mob programming - a software development approach where the whole team works on the same thing

Mob-code-server - Mob programming - a software development approach where the whole team works on the same thing

For those times when you need a ready to use server with a little more horse pow

Feb 2, 2022

Stratus-red-team - Granular, Actionable Adversary Emulation for the Cloud

Stratus-red-team - Granular, Actionable Adversary Emulation for the Cloud

Stratus Red team Stratus Red Team is "Atomic Red Team™" for the cloud, allowing

Jan 7, 2023
快速crud开发框架,甚至于一行代码不用敲;自动根据数据库表结构自动生成crud代码;低代码开发框架;至少减少百分90%工作量;可快速把现有系统转成GfEasy版本;后端使用GoFrame开发;后台前端使用 cool-admin-vue;后台使用自适应布局,手机、PC完美使用。
快速crud开发框架,甚至于一行代码不用敲;自动根据数据库表结构自动生成crud代码;低代码开发框架;至少减少百分90%工作量;可快速把现有系统转成GfEasy版本;后端使用GoFrame开发;后台前端使用 cool-admin-vue;后台使用自适应布局,手机、PC完美使用。

GoFrame: GfEasy GfEasy So Easy 快速crud开发框架,甚至于一行代码不用敲 自动根据数据库表结构自动生成crud代码 低代码开发框架 至少减少百分90%工作量 可快速把现有系统转成GfEasy版本 后端使用GoFrame开发;后台前端使用 cool-admin-vue

Dec 28, 2022
GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app.
GoAdmin is a toolkit to help you build a data visualization admin panel for your golang app.

the missing golang data admin panel builder tool. Documentation | 中文文档 | 中文介绍 | DEMO | 中文DEMO | Twitter | Forum Inspired by laravel-admin Preface GoAd

Nov 25, 2021
A dataviz framework help gopher to build a admin panel in ten minutes
A dataviz framework help gopher to build a admin panel in ten minutes

the missing golang data admin panel builder tool. Documentation | 中文文档 | DEMO Inspired by laravel-admin Preface GoAdmin is a toolkit to help you build

Oct 17, 2022
Ares-admin - Kratos Project Template For Golang

Kratos Project Template Install Kratos go get -u github.com/go-kratos/kratos/cmd

Feb 15, 2022
Automated penetration and auxiliary systems, providing XSS, XXE, DNS log, SSRF, RCE, web netcat and other Servers,gin-vue-admin
Automated penetration and auxiliary systems, providing XSS, XXE, DNS log, SSRF, RCE, web netcat and other Servers,gin-vue-admin

Simple DNS log Server,easy to ACME DNS challenge log easy send to elasticsearch https://github.com/hktalent/DNS_Server go4Hacker Automated penetration

Dec 30, 2022
The cider is a simple tool of building GitHub pages. It's fast and easy to use.
The cider is a simple tool of building GitHub pages. It's fast and easy to use.

The cider is a simple tool of building GitHub pages. It's fast and easy to use. See example: https://www.leyafo.com Install Compiling from source code

Feb 13, 2022
A starting point for a GitHub Action based in Go

GitHub Action Using Go This is a starting point for a GitHub Action based in Go. This repo provides all the structure needed to build a robust GitHub

Dec 9, 2021
This is my personal website, hosted on GitHub Pages

astrophena.name This is my personal website, hosted on GitHub Pages. Serving locally You need the latest Go and Node.js installed.

Nov 16, 2022
red-tldr is a lightweight text search tool, which is used to help red team staff quickly find the commands and key points they want to execute, so it is more suitable for use by red team personnel with certain experience.
red-tldr is a lightweight text search tool, which is used to help red team staff quickly find the commands and key points they want to execute, so it is more suitable for use by red team personnel with certain experience.

Red Team TL;DR English | 中文简体 What is Red Team TL;DR ? red-tldr is a lightweight text search tool, which is used to help red team staff quickly find t

Jan 5, 2023
Discord bot for the CPL admin team.

Starbot This is a discord bot, written to help the CPL admin team by automating away tedious administrative tasks. Roadmap/planned features (WIP) Auto

Jan 10, 2022