休止状態に陥ったLINEグループに対して、ある期間休止状態が経過すると、不定期に交流のきっかけになるようなメッセージを"猫さん"が送信してくれます。そのLINE通知をきっかけに交流の発生を促してくれるサービスになります。
Webトップページ | QRコード(Web) | LINEアプリ |
---|---|---|
![]() |
![]() |
![]() |
Webのトップ画面です。キャラクター画像の下にある友だち追加 ボタンで友だち追加画面に遷移します。 |
友だち追加 ボタンを押すと、Webの場合はこちらのページに遷移します。 |
スマートフォンで友だち追加 ボタンを押す、もしくはQRコード をスマートフォンで読み取った場合はこちらのようなページに遷移します。 |
- Ruby 3.0.2
- Rails 6.1.4.1
- RSpec 3.10.1
- LINE Messaging API
- Heroku Scheduler
- line-bot-api(LINE Messageing API)
- sorcery(管理運営のログイン)
- pundit(認可)
- Bootstrap 5
- JavaScript
エンドポイント(URL)が1つに対して、LINE Messaging API で発生する多数のイベント(リクエスト)処理をコードに書き起こすのに苦労しました。Fat Controllerにならないように、関連する記述をlinesフォルダに切り出してみたり、Rubocopの制約の中でコードを書き直してみたりと試行錯誤を行いながら開発を進めてきました。
実際にエンジニアとして働いている方々から意見をいただいたり、書籍「パーフェクトRuby on Rails」などの学習を経て、Fat Modelにならないように注意しながら、Rubocopの規約にも引っかからないようにしながら以下の図のような処理を実装しています。
- Ruby:3.0.2
- Rails:6.1.4.1
* master.key
は開発責任者が管理しております。個人で試される際は、新しいmaster.keyの用意と上記Qiitaなどを参考にして環境変数に必要な値を渡してあげてください。
# クローン後
$ bundle install
$ bin/rails db:create
$ bin/rails db:migrate
$ bin/rails db:seed
$ bin/rails s
# ルーティング確認
$ bin/rails routes