テックキャンプ 8週目の振り返り(2020/11/9〜11/15)
総論
オリジナルアプリ(掃除提案アプリ)に掃除提案機能を実装し、必要機能要件を満足した。オプションの位置付けとなるラズベリーパイ+AIカメラの動作確認を計画通り推進できた。
オリジナルアプリ(掃除アプリ)
計画通りmust機能を満足した。具体的には掃除箇所の提案機能である。
はじめに掃除箇所の情報(詳細は後述する)を登録する。その後、今日掃除する場所を提案(表示)する。そして掃除完了後、提案された掃除箇所が非表示になる。
提案機能の詳細を説明する。掃除箇所の情報は下記カラムで構成されるテーブル(suggestions)に保存される。掃除すべきかどうかの状態を表すstatusカラムはフォームからの入力で直接保存はされない。
・掃除場所(place)
・適切な掃除期間(period_cleaning )
・最後に掃除した日付(last_cleaned_date)
・状態(status)
status以外の情報をフォームで送信するとcreateアクションが実行される。このアクションでは送られたフォーム情報の保存の他、status値を決定し保存もする。status値は「適切な掃除期間」と経過日数を比較して決定する。
しかしここで問題がある。掃除すべきかどうかの状態を表すstatus値の更新である。現状では新規登録時から更新されない仕様である。これを解決するため、掃除提案ページと対応するindexアクションに更新機能を追加した。但し、indexページが読み込まれる度に更新されてしまいサーバーへ負荷が掛かると予想される。今後は24時間1回自動で更新される仕組みに変更する。