LaravelとVue.jsの理解を深めるためにTwitterAPIを利用した自動運用サービスを開発しました。 TwitterAPIの仕様を考慮し、可能な限りAPI制限に引っかからないように設計しています。 Laravel側は主にAPIサーバとして機能させ、Vue.js側からURLを叩くことで各種処理を行うようにしています。
- HTML
- CSS
- プリプロセッサ:sass(scss記法を使用)
- ビルドツール:webpack(+babel)
- javascript(Vue.js)
- PHP(Laravel)
- MySQL
- PHPStorm
- ユーザ登録
- ログイン
- ログアウト
- 退会
- パスワード変更
- パスワードリマインダー
- Twitterアカウント認証
- Twitterアカウント連携(1サービスアカウントごとに10個のTwitterアカウントを紐付け可能)
- 自動フォロー機能
- フォロワーサーチ機能
- フォロワーサーチキーワード機能
- 自動アンフォロー機能
- 自動いいね機能
- いいねキーワード機能
- 予約ツイート機能
- 指定のTwitterアカウントにおいて「フォロワーサーチ機能」で作られた「フォロワーターゲットリスト」を元にフォローしていく
- フォローしたTwitterアカウントは「フォロー済みリスト」に保存する
- 自動フォローが開始された最初に実行される
- 事前に登録した「ターゲットアカウント」の上から順に、そのTwitterアカウントのフォロワーの中で「フォロワーサーチキーワードリスト」に合致するツイッターアカウントを抽出する
- 抽出したTwitterアカウントは「フォロワーターゲットリスト」に保存する
- 「自動アンフォローリスト」に含まれるTwitterアカウントは含めない
- 「フォロー済リスト」の中で、フォローから30日以内のアカウントは含めない
- 対象は日本人のみとする(日本語の50音がプロフィールに含まれているかで判断)
- キーワードをAND,OR,NOTで指定する
- フォローした日時から7日経過してもフォロー返しがないTwitterアカウントをアンフォロー
- アンフォローしたTwitterアカウントを「アンフォローリスト」に追加する
- キーワードをAND,OR,NOTで指定する
- 「いいねキーワード登録機能」で登録されたキーワードに合致するツイートにいいねをする
- 予約日を指定し、ツイートを登録しておくと自動で指定時刻にツイートを行う
- 予約を複数登録可能
- サーバのcronで実装
合計 300H
開発にあたっては、MVCフレームワークを意識し、FATコントローラにならないよう気をつけました。
ユーザー登録周りの一部の希望はLaravel標準のクラスを利用したため、どのようにオーバーライドするかを考えるにあたり、フレームワークがどういう実装をしているかを学ぶことができました。 フレームワーク自体は便利ではあるものの、中身もある程度理解しておかなければなにかトラブルがあった際の対応に手を焼くだろうなと感じました。 よく言われることではありますが、実際に自分で開発してみて身を持って体感することができたのは良い経験でした。