Editor's Notes
- チーム留年プログラマーです。よろしくお願いします。
- 皆様!ではなく、
寮生の皆さん!
- こんな会話したことありませんか?
今日の昼飯何か知ってる?
知らね。ラーメンとかじゃね
- そこで作りました!
暁寮寮食BOT!!
- このBOTはTwitterBOTで、朝・昼・晩飯の1時間ほど前にメニューを自動でツイートするというものです。
- 大まかな構成としてはこんな感じで、
Heroku上にBOTのスクリプトが置いてあるのでそれを先程言った時間に定期的に実行します。
そうするとサーバーにその日のその時間に応じたメニューデータをリクエストするので、
そのリクエストを元にサーバー内のデータベースからメニューデータを取得し、レスポンスとしてそのデータを返すので、その情報を元に
ツイートします。
サーバー内のことは今から話します。
- 次に、サーバーとデータベース登録についてです。
サーバーに関してはgcpのcompute engineを使っています。データベースには利用が簡単なSQLiteを使用しています。
データベースに関してです。まず専用のWebサイトに寮の寮食のメニュー表のプリントを撮ったものをアップロードします。
そしたら、サーバー内でOpenCVを用いて、表部分のみを抽出し、さらにその表を分割し、GoogleのCloud Vision APIを使いテキストデータにし、
それをデータベースに登録します。
- つぎにAPIについてです。
このAPIはURLにGETリクエストを送ることでメニューデータがJSON形式で返ってくるシンプルなRESTAPIです。
さらに、このURLにスラッシュ区切りで年、月、日の情報を加えることでその年ごとや、その月ごと、またその日のメニューデータが返ってきます。
- 最後に意識した点や工夫した点です。
初心者などがアプリ開発の練習などに使ってもらえればいいかなとなるべくシンプルなAPIを目指しました。
更には、仮に卒業後にこのBOTやAPIに需要があった際に後輩に運営を任せられるようシンプル且つ簡単にデータの管理やデータの追加が出来るようにしました。
そして、データベースでデータが重複するのを防ぐために既にデータが登録された月は画像がアップロード出来ないようにしました。
以上で発表を終わります。