見出し画像

ダイエットアプリ作ってみた

はじめに

こんにちは。荒武です。この記事は作成したダイエットアプリの紹介記事になります。
作成したアプリは下記のURLから利用できるのでダイエット中の方は是非触ってみてください。
URL: https://diet-pal.vercel.app

そもそもなぜ巷に溢れているダイエットアプリを今更自分でつくろうと思ったかというと理由は2つあり、一つは何かしらのアプリをNext.jsで作ってみたかった、というのともう一つは作り始めた当時ダイエットをしていたからという単純な理由になります。

どんなアプリなのか

今回作成したのはダイエットを応援するためのアプリです。

アプリは以下の項目で構成されています。

  • 基礎情報

  • ダイエット目標

  • 分析結果

  • 体重減少予想

  • 実摂取・目標摂取カロリー比較

  • 体重入力フォーム

  • カロリー入力フォーム

  • 摂取カロリー記録

基礎情報とダイエット目標を入力すると分析結果に目標体重を目標日までに達成するために必要なカロリーが出力されます。また体重入力とカロリー入力を行うことで体重減少予想とカロリー比較で目標と実際の数値を視覚的に比較することができます。

カロリー摂取上限の決定の仕方について

このアプリでは、「体重の減少=脂肪の減少」と定義しています。人間の体は、摂取カロリーより消費カロリーが多い場合、不足分を脂肪から補うため脂肪が減少します。これを利用して、消費カロリーが摂取カロリーを上回るように管理することで、効果的に体重を減らすことが可能です。
このアプリでは、1kgの脂肪を燃焼するために必要なカロリーを7700kcalと設定しています。この数値は、1kgの脂肪が持つエネルギー量として一般的に7000から7700kcalと言われていることに基づいています。
消費カロリーは、個人の基礎代謝と活動レベルによって計算されます。基礎代謝は身長、体重、年齢、性別から算出され、日常の活動量に応じて係数が加味されます。参考: https://www.inchcalculator.com/harris-benedict-calculator/

例えば、ある人の1日の消費カロリーが7700kcalである場合、その人が1日何も食べないと理論上1kgの脂肪を減らすことができます。
ダイエットの目標設定においては、「目標減量体重 × 7700 ÷ ダイエット日数」で求めた1日あたりの目標減少カロリーを計算します。この計算結果を1日の消費カロリーから引くことで、その日のカロリー摂取上限を設定します。

利用した技術

Next.jsを使用して開発されており、データの永続化にはIndexDBを利用しています。デプロイには、使いやすさを重視してVercelを選択しました。ほぼ何も設定せずにmainブランチへのコミットの度にデプロイされてとても楽で感動しました。データの視覚化には、直感的で使いやすいrechartsを採用しています。rechartsはReactに最適化されているため、Next.jsとの組み合わせでこれまた楽にグラフを表示することができました。

おわりに

このアプリ開発を通じて最も有意義だったのは、ダイエットの基本原理を理解できたことです。もちろん、Next.jsの使い方にも慣れることができましたが、何よりも大きな収穫でした。自分自身はあまりアプリを使っていませんが、家族が使ってくれていて、数キロの減量に成功したとかなんとか…その成果がアプリのおかげかは定かではありませんが😇。
夏に向けて、私もこのアプリを活用してシックスパックを目指す予定です。頑張ります。


この記事が気に入ったらサポートをしてみませんか?