LoginSignup
2
0

More than 1 year has passed since last update.

【 React / Firebase 】Twitter API を使用しツイートを集計するBOT

Last updated at Posted at 2021-11-11

Twitter API を使用し定期的にツイートを集計し、データをランキング形式で表示するアプリを作りました。

URL: https://toptennovels.com/lists?type_id=0

Twitter: @top10novels

作ったもの

名刺代わりの小説10選というタグが付いたツイートを2日ごとに集計し、トップ500までのデータを表示するアプリを作りました。

アプリ概要

Twitter API を使用し、#名刺代わりの小説10選というタグがツイートを集計し、データをランキング形式で表示するアプリを作りました。


上のようなツイートを2日ごとに最大40個集計し、タイトルや著者名などのデータを随時データベースに追加していきます。

集計方法についてはこちら


集計後には集計したツイート数、カウントされた作品数を自動でツイートします。


検索機能もついています。
タイトルで検索をし、どれくらいの人が名刺代わりの小説10選に入れたのか確認できます。

技術スタック

こちらがインフラ構成です。

Front-end

フロントエンドは React.js 。

Back-end

バックエンド・インフラ周りは すべて Firebase で完結しています。デプロイも Firebase で。

  • Firestore: データ管理
  • Functions: 設定したトリガーでバックエンド処理を自動的に実行
  • Hosting: デプロイ

無料プランではなく、従量制の Blaze プランを使用。

Firebase の Schedule functions というものを使用し、設定されたスケジュールで処理を実行しています。

機能の紹介

  • データを登録日、票数の項目からソート
  • 検索機能 (Algoliaを使用)
  • 作品別だけではなく著者ランキングも表示
  • 集計に使用した累計ツイート数、累計作品数を月ごとに表示

ツイートからタイトルと著者名の情報を収集した後、一冊一冊、楽天ブックスAPIを使用し検索にヒットされたもののみカウントしています。

APIは1回につき1秒以上の間隔をあけて使用しています。

デザインは Material – UI を使用。

図はChart.js。

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