Goに基づくコンパクトなAPI開発の枠組みは、急速に業務開発が可能で、SOLID設計の原則に従います.


スネーク
高速開発業務に適したGoフレームワークは、主にAPIサービスを提供する.
プロジェクト住所:https://github.com/1024casts/snake
技術倉庫
  • フレームのルーティングはginを使用して
  • をルーティングする.
  • ミドルウェアginフレームを使用したミドルウェア
  • データベースコンポーネントgorm
  • 文書はスワッグを用いて
  • を生成する.
  • ファイル解析ライブラリviper
  • を構成する.
  • は、JWTを用いて認証を行う
  • .
  • 検証器validatorも、ginフレームのデフォルトの検証器であり、現在の最新バージョンはv 9バージョン
  • である.
  • タスクスケジュールクロン
  • パッケージ管理ツールgo module
  • テストフレームgoConvey
  • CI/CD Githubアクション
  • 特性
  • は、RESTful API設計規範
  • に従う.
  • は、GIN WEBフレームワークに基づいて、豊富なミドルウェアサポート(ユーザ認証、クロスドメイン、アクセスログ、要求周波数制限、追跡IDなど)を提供しています.
  • GORMベースのデータベース記憶
  • JWT認証
  • は、Swaggar文書(スワッグベース)
  • をサポートしています.
  • makeを使用してGoプロジェクトを管理する
  • は、shell(admin.sh)スクリプトを使用してプロセスを管理する
  • .
  • は、多環境構成
  • をサポートする.
    ディレクトリ構造
    ├── Makefile                     #       
    ├── conf                         #           
    ├── config                       #               Go package           
    ├── db.sql                       #        ,    MySQL   ,  source db.sql       
    ├── docs                         # swagger  ,   swag init    
    ├── handler                      #   MVC    C,      ,                ,      
    ├── log                          #        
    ├── main.go                      #       
    ├── model                        #    model
    ├── pkg                          #       package
    ├── repository                   #      
    ├── router                       #         
    ├── service                      #       
    ├── schedule                     #         
    └── scripts                      #           ,  ,        
    ダウンロード
    #           ,      ,      GOPATH
    git clone https://github.com/1024casts/snake
    クイックスタート
    TIPS:データベースとredisをローカルにインストールする必要があります.
    //        
    cd snake
    
    //           
    cp config.sample.yaml config.local.yaml
    
    //   
    make build
    
    //   
    ./scripts/admin.sh start
    常用コマンド
  • make helpビューア
  • make depダウンロードgo依存パケット
  • make buildコンパイルプロジェクト
  • make swag-nit生成インターフェースドキュメント
  • make test-coverge生成テストカバー
  • make lintチェックコード規範
  • モジュール
  • ユーザ(例)
  • インターフェース・ドキュメントhttp://localhost:8080/swagger/index.html開発規約
  • 設定の説明
  • エラーコード設計
  • サービスの利用ルール
  • repositoryの使用規則
  • cache使用説明
  • 配置
    単独配置
    サーバーにアップロードしたら、直接コマンドを実行すればいいです.
    ./scripts/admin.sh start
    Docker部署
    もしdockerをインストールしたら、以下のコマンドでアプリケーションを起動できます.
    //   
    docker-compose up -d
    
    //   
    http://127.0.0.1/health
    Supervisord
    Supervisordがインストールされている場合、設定ファイルに以下の内容を追加することができます.
    [program:snake]
    # environment=
    directory=/home/go/src/snake/
    command=/home/go/bin_snake
    autostart=true
    autorestart=true
    user=root
    stdout_logfile=/home/log/snake_std.log
    startsecs = 2
    startretries = 2
    stdout_logfile_maxbytes=10MB
    stdout_logfile_backups=10
    stderr_logfile=/home/log/snake_err.log
    stderr_logfile_maxbytes=10MB
    stderr_logfile_backups=10
    Supervisordを再起動します
    supervisorctl restart
    CHANGELOG
  • ログを更新
  • 皆さん、一緒に討論したり、交流したり、PRしたりしてください.好きなら、スターをあげてもいいです.