このアプリを作成するにあたって、食事のカロリーや筋トレでの消費カロリー、体重の管理など複数のものを統合したアプリを作りたいと考えました。なるべくユーザーが使いやすく、アプリを使うことが長続きすることができるというコンセプトをもとに制作を行いました。
健康管理アプリ(CalorieControllerMaster(仮))を作成しました。 実装したページ
- ダッシュボード -- このページでは、今日の摂取したカロリー、栄養素、食材とトレーニングで消費したカロリーが表示されます。さらに、最近1週間の体重の推移やハリネズミくん(ChatGPT)によるコメントのページを実装しています。必要なカロリー、栄養素はユーザーのデータから計算を行っており、ユーザーのデータがない場合には、性別は男性、体重60kg、身長170cmで計算さんされるようになっています。
- カレンダー -- カレンダーを押すことによって、その日の分の食事や運動の記録を見返すことができます。棒グラフでどれくらいの量が必要で、どのくらい摂取したかの確認ができるようになっています。
- 入力 -- あらかじめ登録された食材から、料理を登録することが可能で、食材と重さを入力することにより、カロリーや栄養素の量を計算することができるようになっています。トレーニングによって消費したカロリーも計算することができるようになっています。
- 編集 -- ユーザー情報の編集、登録された食事、トレーニングなどの削除が行うことができます。選択ボックスを押し、pushを押すことで、自分が登録したものの編集が行えます。食事や、トレーニングに関しては、日程を選ぶことでその日に食べたものや行ったトレーニングの削除ができます。ユーザーの情報は、身長、誕生日、性別は一度入力されればデータが保持されるようになっており、その日その日で体重だけを入力すればいい形になっています。
- 情報 -- アプリの使い方やアプリについての説明を記述しています。どんな計算でカロリーなどが計算されているかを記述したり、それぞれのページの使い方が記してあります。
データの見やすさ、入力のしやすさを工夫しました。棒グラフや折れ線グラフを用いることで視覚的にデータを確認することができ、料理やトレーニングでは一度登録したものを再び入力する手間をなくしている。さらに、編集の画面では、誕生日や性別、身長はほとんど変わらないので編集する時に前回入力されたものを保持するようにしている。
チームでコードを書いていく中で、特にチームの人が書いたものを活用することと、conflictに苦労しました。どのコントローラーに書かれているか、テーブルのどのカラムからデータを取得しているのかなどお互いに共有が疎かになってしまっていたため苦戦しました。conflictも同様で、なるべく同じものをいじらないようにと心がけていましたが、何度かconflictを起こしてしまい、レビューの確認に時間を要してしまいました。
ユーザーがよりアプリを使いやすくするためにはまだ改良の余地があると考えます。 食材はこちらが用意したものを使って、料理を登録する形になっているのでユーザー側が登録できるようにし、AIを用いて食材の名前を入力したらカロリーなどを計算してdatabaseに保存できるようにする。入力する食材は5つまでとなっているので、いくつでも食材を入力できるようにする。写真から、料理を読み取り、自動でカロリーを計算できるようにする。食材を選択する時に食材の分類ごとに選択したり、卵などはg数ではなく1個で入力できるようにする。このようなことを改善することで、より良いアプリになると思います。
計画的にプロジェクトを進めることができました。何を優先して作るのか、テーブルにはどんなカラムが必要かということの議論が十分にできていたと感じます。技術的にはまだまだ未熟で、デザインやChatGPTによるコメント以外のAPIの連携を行うような余裕がなかったのでフェーズ4では今回できなかった技術を使ってアプリケーション開発を行っていきたいと思います。