MangaRank という Web サービスを個人開発していたが、今回そのソースコードを公開することに決めた。
MangaRank は、はてなブログのマンガカテゴリの記事をクロールし集計して、レビューの多いマンガをランキングにした Web サービス。
なぜソースコードを公開する決断をしたかというと、 はてなブログの記事をクロールして良い感じのランキングは出来上がったものの、 運用を続けてもほとんどランキングに変動がなかったから、というのが一つ。
もう一つの、そして主たる理由が、商品情報の取得に使っている Amazon の PA-API の利用ポリシーが下記のように変わったから。
クローラーを動かし続けたところで、新しいマンガの商品情報を Amazon から取得できないなら、 動かすだけ無駄だなってことでクローラーは止めた。
フロントエンドは Netlify で公開していたけど、そっちはまだ残してある。 ランキング自体は自分にとって有用なので、しばらくはそのままにしておこうかなと。 他に Netlify で公開したい Web サービスができたら、 Netlify のリソースを明け渡そうと考えている。 それまで延命。
肝心のソースコードだけど、サーバーの方は .NET Core を使ったクローラーで、 技術的に大したことはやっていない。 GCP や Amazon の API を C# で使うときの参考程度にはなると思う。 フロントエンドは Gatsby を使い、 Lighthouse のスコアを重視してチューニングしたので、 Blazing fast なサクサク感に仕上げてある。 こちらも、JAMStack の一例として参考になったら嬉しい。 なお、使った技術に関しては、下記の記事に詳しく書いてある。
ソースコードの公開が、個人開発した Web サービスの、せめてもの供養になれば良いと思う。
さて、次は何を作ろうかな。