LoginSignup
60
50

More than 3 years have passed since last update.

初めての個人開発でTwitterで自分と似たようなアカウントを探すWebサービスを作ってみた

Last updated at Posted at 2020-11-09

Webサービスの概要

以下のアプリを個人開発で作成しました。
https://focused-cori-f5cacd.netlify.app/

利用方法は簡単で、テキストボックスにあなたの先頭の@を除いたスクリーン名を入力してください。
10数秒待つと(Azure Functionsの一番安いプランのためです。ご承知おきください。)、検索ワードと関連づいたユーザー一覧が表示されます。

  • 検索されたユーザーには、アカウント名と検索ワードで一致したツイートが表示されます。
  • 検索されたユーザーをクリックすると、そのユーザーのタイムラインが右側に表示されます。
  • 気に入った方がいらっしゃれば上のフォローボタンからフォローすることもできます。

以下に、 sony_jpn さんのアカウントで検索し、ソニーストア 名古屋 さんをクリックした際の例を示します。
2020-11-09_11h00_23.png
sony_jpn さんでは"ブラビア"と"キャンペーン"という語句でツイートが多くなされているようでした。
(なお、形態素解析ライブラリが日本語向けのため、上手く解析できないと変な検索結果が出力されます。ご承知おきください。)

利用した技術

上記を作る上での技術要素を整理すると、全体観としては以下の通りとなります。
image.png

  • ソースコードはGitHubで管理します。
    • netlify, Azure Functionsではリポジトリと紐付けられ、ソースコードの変更(pushされる)ごとに自動でデプロイされるようにしています。
    • 私の場合はnetlify向け(フロントエンド)のリポジトリとAzureFunctions向け(バックエンド)のリポジトリの2つを用意しました。
  • フロントエンドを実現する際には、静的ホスティングサービスとしてnetlifyを利用しました。
    • Webページを配置しますので、HTML, CSS, JavaScriptを使います。JavascriptライブラリとしてはReactを利用しました。
    • ユーザーから入力を受けるとAPIリクエストをAzure Functionsに送り、ユーザー一覧を受け取ります。
  • バックエンドを実現する際には、サーバーレス コンピューティング サービスであるAzure Functionsを利用しました。
    • Azure Functionsに用意したAPIが実行されるとTwitterにAPIリクエストを送り、必要な情報を取得します。
    • Twitterの情報の取得に便利なライブラリ(CoreTweet)、Tweetの内容を形態素解析するためのライブラリ(MeCab.DotNet)を利用しました。

技術要素の採用理由にあまり深い意図はなく、紹介があったり、自分の使える技術と親和性があったりして使いやすそうだったからぐらいです。

アプリを作る上でのお役立ちURL

アプリを作る上でのチュートリアル記事が多めです。記事の通りに進めていけば、上図のライブラリ利用部分以外は大体実現できると思います。
わかりやすい記事が多く、大変助かりました。

まとめ

初めて利用する技術を調べながらではありましたが、個人開発でもそれなりに形にすることができました。
外部APIを利用したり、既にあるライブラリを利用したりすることで自分で自作すると大変そうなところも、割と簡単につくれます。
本記事がなにかWebサービスを作ろうと思った際に参考になると幸いです。

60
50
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
60
50