🦔

QiitaのAPIを使って、IT資格の参考書を自動ランキングするサイトを作ってみた

2023/01/21に公開

こんにちは、暇があれば個人開発している厚木です。
今回は、エンジニアにウケそうな新規サービスを出したので、その宣伝記事です。

作成物

毎日QiitaのAPIから、IT資格試験の書籍を紹介している記事を集計して、自動的にランキングサイトを作成しました。
書籍の情報登録以外は、全て自動で行われています。

https://qiibooks.com/
image

なぜ作ったのか

最近「mybest」という比較サイトをよく見ていて
「これIT分野でもできるんじゃね?」と思ったのがきっかけです。
で、エンジニアが本を買うとしたら資格本かなー、、、くらいしか考えずに作りました。

作ろう決心した30分後、Qiitaを使ってテック系の本をランキングする「テックブックランク」という同じ系統、かつ最高のサービスを見つけましたが、構わず作りました。パクる対象があって楽だな、くらいの気持ちで。

ランキングの仕方について

「最近、よく記事に引用されていて、めっちゃいいねされてる本はいい本」という思想でポイントづけをしています。
ロジックは秘密ですが、「最近の記事」に大きめのポイント配分をしています。

Qiibooksで使っている技術

以下の技術を採用しています。
なるべく無料に近い金額で運用したい!という思いがありますが、今の感じだと月300円くらいかかりそうです。

  • Golang
  • React (Nextjs)
  • Chakra ui
  • Firebase hosting
  • Firestore
  • Qiita API
  • Cloud function
  • Cloud scheduler

こだわりポイント

「毎日Qiitaからデータを取得して、自動ランキング」は絶対はずせない要件でしたが、それ以外のこだわりポイントは、「高速で動かしたい」です。

速さは正義です。

実際に「PageSpeed Insights」で確認すると、めっちゃ高速で動いているのがわかります。

image

この速度を実現できているのは、SSG で実行されており
デプロイ後はデータフェッチを行なっていないからです。

Cloud functions と Cloud scheduler で Golang 製のバッチを定時に自動で動かしていて、バッチが成功したら、 Nextjs が自動 builld & デプロイされるようになっています。

これによって、「エンジニアに人気のIT資格教材をランキングするナイスな速さのアプリ」が毎日全自動的でランキング更新・デプロイされるようになっています。

お願い

もし面白いと思ったら、いいねしてもらえると励みになります。
あと本買ってください(冗談です

twitterでもくだらないこと呟いてるので、よかったらフォローお待ちしてます。

GitHubで編集を提案

Discussion