7
0

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 1 year has passed since last update.

個人開発Advent Calendar 2022

Day 21

Annictの記録したアニメ数をGitHubのプロフィールに載せるサービスを作りました

Last updated at Posted at 2022-11-14

はじめに

Githubプロフィール用のバッジを生成するサービスがあります。
例えば、
Qiitaのコントリビューション数や記事数をバッジにするサービス。

Zennの記事数をバッジにするサービス。

偉大な先人たちに感謝…!!
僕のREADMEに使わせていただくと、こんな感じになります。
スクリーンショット 2022-11-14 181152.png
僕も何かバッジ化するサービスを作りたい。

Annictとは

アニメ視聴を記録し感想を投稿できるサービスです。

開発者にも優しい仕様になっていて、APIも公開されています。

アニメ好きには素晴らしいサービスですので、おすすめです。

成果物

Annictの見たアニメやフォロワー数をバッジにするサービスを作りました!!

スクリーンショット 2022-11-14 181702.png

(色々なバッジ)
スクリーンショット 2022-11-14 184700.png

(先人と並べるとこんな感じ)
スクリーンショット 2022-11-14 181718.png

使い方

ざっとURLフォーマットを説明

https://annict.penguincabinet.com/?user_id=<user_id>&type=<type>&style=<style>

user_idにはAnnictのユーザー名(@を除くURLに記述されているもの)を入れてください。
typeに取得するものを入れます(フォロワー数とか見たアニメ数等)。
styleはshields.ioのスタイルのことです。取得されるバッジのデザインに影響を及ぼします。お好みでどうぞ。

あなたのREADMEにAnnictバッジを追加してみよう

user_idをあなたのAnnict IDに書き換えて使って下さい(PenguinCabinetの部分)。



# My Annict watched animes(「見た」アニメ数)
[![My Annict watched animes](https://annict.penguincabinet.com/?user_id=PenguinCabinet&type=watched_count)](https://annict.com/@PenguinCabinet)
# My Annict create at(Annictアカウントを作った日付)
[![My Annict create at](https://annict.penguincabinet.com/?user_id=PenguinCabinet&type=created_at)](https://annict.com/@PenguinCabinet)
# My Annict followers(フォロワー数)
[![My Annict followers](https://annict.penguincabinet.com/?user_id=PenguinCabinet&type=followers_count)](https://annict.com/@PenguinCabinet)

これをあなたのGithubのREADMEに記述して完了です!

その他

typeクエリーを変えると他にも色々バッジにできます。

typeクエリー バッジの内容
followings_count フォローしている数
followers_count フォロワー数
records_count 記録した全アニメ数
wanna_watch_count 「見たい」アニメ数
watching_count 「見ている」アニメ数
watched_count 「見た」アニメ数
on_hold_count 「一時中断した」アニメ数
stop_watching_count 「視聴中止した」アニメ数
created_at ユーザー作成日

技術的なお話

技術スタック

Google Cloud FunctionsとGoogle Cloud Runを使用しています。
言語はPythonです。
独自ドメインにする関係で、Google Cloud FunctionsからGoogle Cloud Runに変換しています。

実装方法

受け取ったクエリーをもとにAnnict APIでデータを取得します。
それをshields.ioに送り、バッジを取得しているといった感じです。

現在キャッシュは行っていないですが、トラフィックが増えると迷惑かかりそうなので、状況を見て対応します。

ソースコードについて

ソースコードを整理したら、OSSにするかもしれないです。

終わりに

ご活用いただけると幸いです。
コメントや「使ってみたよ」とコメントくれると、非常に嬉しいです。

…バグもありそうなので、何かあれば教えてください。

7
0
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
7
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?