QiitaのAPIを使って、IT資格の参考書を自動ランキングするサイトを作ってみた
こんにちは、暇があれば個人開発している厚木です。
今回は、エンジニアにウケそうな新規サービスを出したので、その宣伝記事です。
作成物
毎日QiitaのAPIから、IT資格試験の書籍を紹介している記事を集計して、自動的にランキングサイトを作成しました。
書籍の情報登録以外は、全て自動で行われています。
なぜ作ったのか
最近「mybest」という比較サイトをよく見ていて
「これIT分野でもできるんじゃね?」と思ったのがきっかけです。
で、エンジニアが本を買うとしたら資格本かなー、、、くらいしか考えずに作りました。
作ろう決心した30分後、Qiitaを使ってテック系の本をランキングする「テックブックランク」という同じ系統、かつ最高のサービスを見つけましたが、構わず作りました。パクる対象があって楽だな、くらいの気持ちで。
ランキングの仕方について
「最近、よく記事に引用されていて、めっちゃいいねされてる本はいい本」という思想でポイントづけをしています。
ロジックは秘密ですが、「最近の記事」に大きめのポイント配分をしています。
Qiibooksで使っている技術
以下の技術を採用しています。
なるべく無料に近い金額で運用したい!という思いがありますが、今の感じだと月300円くらいかかりそうです。
- Golang
- React (Nextjs)
- Chakra ui
- Firebase hosting
- Firestore
- Qiita API
- Cloud function
- Cloud scheduler
こだわりポイント
「毎日Qiitaからデータを取得して、自動ランキング」は絶対はずせない要件でしたが、それ以外のこだわりポイントは、「高速で動かしたい」です。
速さは正義です。
実際に「PageSpeed Insights」で確認すると、めっちゃ高速で動いているのがわかります。
この速度を実現できているのは、SSG で実行されており
デプロイ後はデータフェッチを行なっていないからです。
Cloud functions と Cloud scheduler で Golang 製のバッチを定時に自動で動かしていて、バッチが成功したら、 Nextjs が自動 builld & デプロイされるようになっています。
これによって、「エンジニアに人気のIT資格教材をランキングするナイスな速さのアプリ」が毎日全自動的でランキング更新・デプロイされるようになっています。
お願い
もし面白いと思ったら、いいねしてもらえると励みになります。
あと本買ってください(冗談です
twitterでもくだらないこと呟いてるので、よかったらフォローお待ちしてます。
Discussion