smooth-app
전 세계 식품의 성분·영양·정보를 자유롭게 협업하고 공개하는 데이터베이스
아직 감지된 업데이트가 없습니다. GitHub 릴리스가 나오면 여기에 보입니다.
개인 계정의 공개 저장소 소유자는 GitHub로 로그인해 운영자를 확인하고 소개를 직접 관리할 수 있습니다. 관리자 승인은 필요하지 않습니다.
로그인한 뒤 확인 파일을 만들어 이 저장소의 기본 브랜치에 30분 안에 커밋해 주세요. 다른 브랜치나 포크의 파일은 인정하지 않습니다. 파일을 올린 뒤 아래에서 확인하면 관리자 승인 없이 관리할 수 있습니다. 자격을 유지하려면 파일을 남겨 두세요.
로그인이 필요하면 로그인 화면으로 이동합니다. 로그인 후 이곳으로 돌아와 원하는 확인 버튼을 다시 눌러 주세요.
프로젝트 폴더에서 /nomorevibe verify를 실행하면 소유권을 확인하고 소개를 직접 관리할 수 있습니다.
1분 만에 확인하기体重管理アプリの作成
저장소 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() でブラウザに自動削除しないよう依頼します