10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

GitHubのプロフィールREADMEをオシャレにするサービスを作ってみた

Posted at

プロフィールREADME

GitHubには、アイコンやbioなどの基本情報とは別にプロフィール機能があります。
自分のユーザー名と同じリポジトリを作成してREADMEを作るだけで、あとは自由にMarkdown形式で記述すればOK。
公式:プロフィールの README を管理する

オシャレにするサービスたち

「GitHub Profile」と検索すると、設定の方法や便利なサービスなど色々と出てきます。

↑この辺りは常連ですね。
GitHub Readme StatsとGithub Profile Trophyは私も利用させていただいております🙇‍♂️

作ってみた

で、それらに便乗して自分も作ってみました。
リポジトリ

github-chart

GitHub Profile Summary Cardsのチャートを前年と比較できる形にしつつ、GitHubActionsなどを利用せずにURL形式で手軽に利用できる形を目指しました。

使い方は下記のuser=***部分にご自身のGitHubユーザー名を指定するだけです。

[![github-chart](https://github-chart.vercel.app/api?user=rokumura7)](https://github.com/rokumura7/github-chart)

技術的なお話

TypeScriptのnpmプロジェクトでGitHubのGraphQL APIを利用しVercelにデプロイをしています。

TypeScript良き

最近、実務でもTypeScriptを少しずつ使うようになってきた段階で、まだまだ経験は浅く調べながらでしたが、型安全と補完はやはり非常に強力で捗りました。
Javaから入ってる身としては「これだよ、これ」と言う感覚が強かったです😌

GraphQL

今回は利用するだけでしたが、RESTに慣れきっていたので考え方自体とても面白さを感じました。
公式:GitHubのGraphQL API

GraphQLの理解に関しては下記の記事がとても参考になりました🙇‍♂️
GraphQLの全体像とWebApp開発のこれから
アプリ開発の流れを変える「GraphQL」はRESTとどう違うのか比較してみた

Vercelにハマった

image.png

Vercelのデプロイ自体は多くの人が述べているように、「え?こんだけ?」と言う感じで終わったのですが、開発を進める中で上記のエラーが突然発生するようになりました。

Serverless Functions Created per Deployment

VercelのHobbyプラン(=無料プラン)ではサーバレスファンクションをデプロイ毎に12個までと言う制限があります。
公式:Limits
Vercelのデフォルトの設定だとapi/配下に置かれたファイルでexportされたものがサーバレスファンクションとしてカウントされるようです。
リファクタリングをして処理を小分けにしていたらいつの間にやら超えてしまっていました😇
結局、api/にはindex.tsのみを残して他のファイル群はlib/などに切り出すことで解決しました。

さいごに

是非利用してみてください!
IssueでもPull Requestでも何かしらフィードバックもらえるととても嬉しいです。
(特にデザイン周りはボロボロなので誰か助けて欲しい。。w)

開発に際して、GitHub Readme StatsとGithub Profile Trophyを大いに参考にさせていただきました🙇‍♂️🙇‍♂️🙇‍♂️

10
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
10
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?