Forkwell のポートフォリオ機能をリニューアルしました

こんにちは、Forkwell 開発チームの @sinsoku です。

先日 Forkwell のポートフォリオ機能を Forkwell Portfolio としてリニューアルしました。

f:id:sinsoku:20170612092551p:plain

リニューアルの大きな変更点は下記の通りです。

  1. リポジトリの解析
  2. ポートフォリオの自動更新
  3. 友達からフォロー/フォロワーに変更
  4. デザインの一新

リポジトリの解析

登録されたリポジトリのコミットログを解析し、ユーザーが普段書いているプログラミング言語やコード変更量などをグラフで表示します。

f:id:sinsoku:20170612092708p:plain

デフォルトでは公開リポジトリのみですが、プライベートリポジトリの API アクセスを許可すれば、仕事で書いているコード変更量もグラフに反映させることができます。

バッジ

リポジトリを登録すると、よく書いているプログラミング言語のバッジを取得できます。

f:id:sinsoku:20170612092721p:plain

この画像のようなバッジだと「Ruby, JS をメインで触っていて、 Elixir, Haskell は少し触って飽きた人」というのがバレます。

実装の話

解析処理は AWS Lambda 上で git log --date=iso --stat のコマンドを実行し、そのログを s3 に送って、s3 の通知を受けてアプリが DB に保存するような実装になっています。

f:id:sinsoku:20170612092733p:plain

Forkwell が保持しているのはログだけで、 コードの中身は保存していません*1

ポートフォリオの自動更新

f:id:sinsoku:20170612092747p:plain

RSS フィードを登録しておけば、定期的に自動で記事・スライドをインポートすることができるようになりました。

友達からフォロー/フォロワーに変更

f:id:sinsoku:20170612092800p:plain

リニューアル前は Facebook の友達データをそのまま参照しており、Twitter や GitHub でアカウントを作成したユーザーは友達 0 人と悲しいことになっていました。リニューアル後は Forkwell 上でフォローできるようになりました。

デザインの一新

デザインが一新され、 Forkwell のスタイルガイド を使うように変更しました。これにより jQuery を多用していた JavaScript が消え、 React.js を使うコードに置き換わりました。

ぜひリニューアルした Forkwell Portfolio にあなたのアウトプットを登録して、自分のスキルを可視化してみてください。

また、何か気づいた点などあれば 公式Twitter にフィードバック頂けると幸いです。

*1:プライベートリポジトリのコードをDBに保存するとか怖くて無理です