Skip to content

sora-ichigo/portfolio-proto

Repository files navigation

igsr5's Portfolio Protocol Buffers 🐃

Auto release Release gem Release npm Lint Code Base

@igsr5 のポートフォリオサイトに関するProtobufスキーマ。protoの定義と各言語実装のライブラリ配信を行う。

Swagger UI - https://igsr5.github.io/portfolio-proto/

Frontend Repo - https://github.com/igsr5/portfolio-frontend
Backend Repo - https://github.com/igsr5/portfolio-backend

Installation

Ruby

https://rubygems.org/gems/igsr5-portfolio-proto

$ gem install igsr5-portfolio-proto

Nodejs

https://www.npmjs.com/package/igsr5-portfolio-proto

$ npm i igsr5-portfolio-proto

Golang

$ go get github.com/igsr5/portfolio-proto/go

Design

.
├── proto # proto定義を配置する。新しいスキーマを追加したいときはこのディレクトリを更新してPRを出す
├── ruby # proto定義のRuby実装。自動生成コードで構成される
├── golang # proto定義のGolang実装。自動生成コードで構成される
└── nodejs # proto定義のNodejs実装。自動生成コードで構成される
└── swagger # proto定義から生成された swagger 定義

Development

新しいスキーマを定義したくなった際は /proto ディレクトリ配下にproto定義を実装する。 参考) #6

  1. /proto配下にスキーマを定義
  2. PR を出す
  3. proto定義に問題がなければ各言語実装が生成され、自動でPRを作成する(PRにURLがコメントされる)
  4. レビューOKならPRをマージする
  5. 各言語実装がmasterにマージされると自動GitHub Releaseが生成され gem, npmなどにもnew versionがリリースされる
  6. リリース 🎉

Contributing

https://github.com/igsr5/protosum

GitHub Action x Protocol Buffers is an attempt to develop a miracle schema experience!