こんにちは、Forkwell 開発チームの @sinsoku です。
先日 Forkwell のポートフォリオ機能を Forkwell Portfolio としてリニューアルしました。
リニューアルの大きな変更点は下記の通りです。
- リポジトリの解析
- ポートフォリオの自動更新
- 友達からフォロー/フォロワーに変更
- デザインの一新
リポジトリの解析
登録されたリポジトリのコミットログを解析し、ユーザーが普段書いているプログラミング言語やコード変更量などをグラフで表示します。
デフォルトでは公開リポジトリのみですが、プライベートリポジトリの API アクセスを許可すれば、仕事で書いているコード変更量もグラフに反映させることができます。
バッジ
リポジトリを登録すると、よく書いているプログラミング言語のバッジを取得できます。
この画像のようなバッジだと「Ruby, JS をメインで触っていて、 Elixir, Haskell は少し触って飽きた人」というのがバレます。
実装の話
解析処理は AWS Lambda 上で git log --date=iso --stat
のコマンドを実行し、そのログを s3 に送って、s3 の通知を受けてアプリが DB に保存するような実装になっています。
Forkwell が保持しているのはログだけで、 コードの中身は保存していません。*1
ポートフォリオの自動更新
RSS フィードを登録しておけば、定期的に自動で記事・スライドをインポートすることができるようになりました。
友達からフォロー/フォロワーに変更
リニューアル前は Facebook の友達データをそのまま参照しており、Twitter や GitHub でアカウントを作成したユーザーは友達 0 人と悲しいことになっていました。リニューアル後は Forkwell 上でフォローできるようになりました。
デザインの一新
デザインが一新され、 Forkwell のスタイルガイド を使うように変更しました。これにより jQuery を多用していた JavaScript が消え、 React.js を使うコードに置き換わりました。
ぜひリニューアルした Forkwell Portfolio にあなたのアウトプットを登録して、自分のスキルを可視化してみてください。
また、何か気づいた点などあれば 公式Twitter にフィードバック頂けると幸いです。
*1:プライベートリポジトリのコードをDBに保存するとか怖くて無理です