尚未偵測到更新。GitHub 發布版本後會顯示在這裡。
個人 GitHub 帳號下公開儲存庫的擁有者可以登入並驗證所有權,自行管理介紹,無需管理員核准。
登入並產生驗證檔案,在 30 分鐘內將其提交至此儲存庫的預設分支。其他分支或分叉儲存庫中的檔案無效。然後在下方檢查檔案,即可無需管理員核准直接管理專案。請保留檔案以維持管理權限。
如需登入,將前往登入頁面。登入後請回到此處,再次點擊所選的驗證按鈕。
在專案資料夾中執行 /nomorevibe verify,即可驗證所有權並自行管理介紹。
一分鐘完成驗證体重管理アプリの作成
翻譯準備中
取自儲存庫 README
正在載入完整 README。 以下為已儲存的摘錄。
体重・体脂肪率・骨格筋率・腹囲を毎日記録し、目標までの進み具合をグラフで確認する減量記録アプリです。 トレーニング(筋トレ・有酸素・スポーツ)もあわせて記録できます。 スマートフォン向けの PWA で、データは端末のブラウザ(localStorage)にだけ保存されます。 • ホーム: 現在の体重・体脂肪率・骨格筋率・腹囲、目標日までの残り日数、開始からの体重変化、目標体重までの差、今日のトレーニング • 推移グラフ: 体重 / 体脂肪率 / 骨格筋率 / 腹囲の切り替え、7日・30日・90日・全期間、目標値の水平線と目標日の縦線、タップで日付と数値を表示 • 記録する: 日付(初期値は今日)・体重(必須)・体脂肪率と骨格筋率と腹囲(任意)。同じ日付は更新確認 • トレーニング: 種目ごとの記録(筋トレは重量×回数×セット数、有酸素とスポーツは時間・距離)とメモ。日付ごとの一覧から編集・削除。よく行う種目は「マイメニュー」に登録して選ぶだけで記録できます • 履歴: 新しい順の一覧、編集・削除(削除は確認あり) • 設定: 開始日・目標日・目標体重・目標体脂肪率・目標骨格筋率・目標腹囲 開発サーバーでは、初回画面と設定画面に「サンプルデータ」ボタンが表示されます。本番ビルドには表示されず、空の状態から始まります。檢視完整 README ↗
体重・体脂肪率・骨格筋率・腹囲を毎日記録し、目標までの進み具合をグラフで確認する減量記録アプリです。 トレーニング(筋トレ・有酸素・スポーツ)もあわせて記録できます。 スマートフォン向けの PWA で、データは端末のブラウザ(localStorage)にだけ保存されます。
npm install
npm run dev # 開発サーバー
npm test # テスト(Vitest)
npm run typecheck # 型チェック
npm run build # 本番ビルド(dist/)
npm run preview # ビルド結果の確認(Service Worker も動作)
開発サーバーでは、初回画面と設定画面に「サンプルデータ」ボタンが表示されます。本番ビルドには表示されず、空の状態から始まります。
アイコンを作り直すときは npm run icons を実行します(public/ に出力)。
| 項目 | エラー(明らかな入力ミス) | 確認を表示 |
|---|---|---|
| 体重 | 20kg 未満 / 300kg 超 | 30kg 未満 / 200kg 超、前回から 5kg 以上の変化 |
| 体脂肪率 | 1% 未満 / 75% 超 | 3% 未満 / 60% 超、前回から 8pt 以上の変化 |
| 骨格筋率 | 5% 未満 / 70% 超 | 15% 未満 / 60% 超、前回から 8pt 以上の変化 |
| 腹囲 | 30cm 未満 / 200cm 超 | 50cm 未満 / 150cm 超、前回から 10cm 以上の変化 |
数値は小数点第1位まで。全角数字や「,」の小数点も受け付けます。未来の日付は記録できません。
トレーニングは、種目の種類で使う項目だけを入力します(すべて任意ですが、1つ以上は必要)。
| 項目 | 使う種類 | エラー(明らかな入力ミス) | 確認を表示 |
|---|---|---|---|
| 重量 | 筋トレ | 0.5kg 未満 / 500kg 超 | 250kg 超 |
| 回数 | 筋トレ | 1 未満 / 1000 超、整数でない | 100 超 |
| セット数 | 筋トレ | 1 未満 / 100 超、整数でない | 20 超 |
| 時間 | 有酸素・スポーツ | 1分 未満 / 1440分 超、整数でない | 360分 超 |
| 距離 | 有酸素・スポーツ | 0.1km 未満 / 1000km 超 | 100km 超 |
main ブランチへの push で .github/workflows/deploy.yml がテスト・ビルド・公開を行いますvite.config.ts の base は相対パス(./)なので、リポジトリ名に関係なく動作します。
localStorage の metabolic.records.v1(記録)、metabolic.goal.v1(目標)、metabolic.trainings.v1(トレーニング)、metabolic.exercises.v1(マイメニュー)、metabolic.meta.v1(最終バックアップ日時)<キー名>.broken に退避しますnavigator.storage.persist() でブラウザに自動削除しないよう依頼します