Skip to content

xjellyx/gorm-gin-admin

Repository files navigation

gorm-gin-admin

English | 简体中文

Project Guidelines

Online Demo

Font Een

1. Basic Introduction

1.1 Project structure

    │  ├─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)
    

1.1.1 Generate api docs

    cd grom-gin-admin
    go get -u github.com/swaggo/swag/cmd/swag
    swag init

1.2 Environment step

1.2.1 Install golang

1.2.2 Install project Environment

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 .

1.2.3 Project configure step

  • 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.     

1.2.4 Run Service

    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

2. Technical selection

  • 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 ,using gorm2.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 implement yaml config file。
  • Log: using github.com/sirupsen/logrus record logs。

3. Features

  • Authority management: Authority management based on jwt and casbin.
  • 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.

4. To-do list

  • upload & export Excel
  • record manager actions
  • RPC
  • Cache token

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages