English | 简体中文
- Web UI Framework:element-ui
- Server Framework:gin
- Grom Framework: gorm
│ ├─conf (Config file)
│ ├─docs (swagger APIs docs)
│ ├─log (log file)
│ ├─public (public static file)
│ ├─static (head icon)
├─src
│ ├─controller (Controller)
│ ├─middleware (Middleware)
│ ├─models (Model entity)
│ ├─pkg (Project private package)
│ ├─adapter (Casbin adapter)
│ ├─app (Gin service response)
│ ├─codes (Response code)
│ ├─error (Project private error)
│ ├─gredis (Redis)
│ ├─query (Songo parase to SQL line)
│ ├─setting (Project setting)
│ ├─router (Router)
│ ├─rpc (RPC)
│ ├─service (services)
│ └─utils (common utilities)
cd grom-gin-admin
go get -u github.com/swaggo/swag/cmd/swag
swag init
- If you have proxy to see olongfen.github.o
- Else to see blog.olongfen.ltd
In this project, my environment install by docker.
git clone https://github.com/olongfen/gorm-gin-admin.git
cd gorm-gin-admin
docker-compose up -d .
- admin and general user rsa key
admin.key admin.pub user.key user.pub
- casbin model
model_casbin.conf
- project config
when you run project the first that will be auto creating, and then you can run service, you can edit project config file
when project is running.
if you don't have config file . you shuold run project first auto generate config file,
then you edit config file and run again can be running.
command: go run main.go
- Frontend: using
Element-UI
based on vue,to code the page. - Backend: using
Gin
to quickly build basic RESTful API.Gin
is a web framework written in Go (Golang). - Database:
PostgreSQL
,usinggorm2.0
to implement data manipulation. - Cache: using
Redis
to implement the recording of the JWT token of the currently active user and implement the multi-login restriction. - API: using Swagger of Gin to auto generate APIs docs。
- Config: using
github.com/spf13/viper
to implementyaml
config file。 - Log: using
github.com/sirupsen/logrus
record logs。
- Authority management: Authority management based on
jwt
andcasbin
. - User management: The system administrator assigns user roles and role permissions.
- Role management: Create the main object of permission control, and then assign different API permissions to the role.
- Menu management: User dynamic menu configuration implementation, assigning different menus to different roles.
- API management: Different users can call different API permissions.
- upload & export Excel
- record manager actions
- RPC
- Cache token