SQLite3を使用した個人向け栄養・食事管理アプリケーションです。
- 食事レコードの追加(食品名、カロリー、タンパク質量)
- 食事レコードの一覧表示(最新順)
- 日次サマリー(総カロリー、総タンパク質、記録数)
- 週次サマリー(指定日数分の集計)
- CSVファイルからのインポート
- CSVファイルへのエクスポート
- 入力検証(空の食品名不可、カロリー >= 0)
- C11対応のCコンパイラ(GCC、Clangなど)
- CMake 3.10以上
- SQLite3ライブラリ
方法1: vcpkgを使用(推奨 - 完全自動)
# PowerShellで実行
.\setup.ps1このスクリプトは以下を自動的に実行します:
- 必要なツール(CMake、Git、コンパイラ)の確認
- vcpkgのクローンとセットアップ
- SQLite3のインストール
- プロジェクトのビルド
必要な前提条件:
- Git (https://git-scm.com/)
- CMake (https://cmake.org/download/ または
choco install cmake) - コンパイラ (MSVC または MinGW)
方法2: MSYS2/MinGWを使用
# PowerShellで実行(ガイドを表示)
.\setup-msys2.ps1このスクリプトは、MSYS2のインストールと設定をガイドします。
# 依存関係のインストール
# Ubuntu/Debian:
sudo apt-get install build-essential cmake libsqlite3-dev
# macOS:
brew install cmake sqlite3
# ビルド
./build.sh自動セットアップスクリプトを使用しない場合は、以下の手順で環境を構築できます。
Linux (Ubuntu/Debian):
sudo apt-get install libsqlite3-devmacOS:
brew install sqlite3Windows: 以下のいずれかの方法でSQLite3をインストールしてください:
- MSYS2/MinGW-w64を使用する場合:
pacman -S mingw-w64-x86_64-sqlite3 mingw-w64-x86_64-cmake mingw-w64-x86_64-gcc- vcpkgを使用する場合:
vcpkg install sqlite3:x64-windows
cmake -DCMAKE_TOOLCHAIN_FILE=[vcpkg root]/scripts/buildsystems/vcpkg.cmake ..- 手動でSQLite3をセットアップする場合:
- SQLite Download Pageから以下をダウンロード:
sqlite-amalgamation-*.zip(ソースコード)sqlite-dll-*.zip(DLL、任意)
- プロジェクトの
externalフォルダに展開 - CMakeLists.txtで手動パスを設定
- SQLite Download Pageから以下をダウンロード:
注意: Windows環境では、MSYS2/MinGW-w64またはWSL(Windows Subsystem for Linux)の使用を推奨します。
# ビルドディレクトリの作成
mkdir build
cd build
# CMakeの設定
cmake ..
# ビルド
cmake --build .# MSYS2 MinGW64ターミナルを開く
mkdir build
cd build
# CMakeの設定
cmake -G "MinGW Makefiles" ..
# ビルド
cmake --build .SQLite3を手動でセットアップするか、vcpkgを使用してください。
mkdir build
cd build
cmake ..
cmake --build . --config Release# 食事の追加
./meal_tracker add "鶏胸肉" 165 31.0
# 食事一覧の表示(最新10件)
./meal_tracker list
# 全ての食事一覧の表示
./meal_tracker list all
# 今日のサマリー
./meal_tracker summary daily
# 特定の日のサマリー
./meal_tracker summary daily 2025-10-31
# 週次サマリー(過去7日間)
./meal_tracker summary weekly
# 週次サマリー(過去14日間)
./meal_tracker summary weekly 14
# CSVエクスポート
./meal_tracker export meals.csv
# CSVインポート
./meal_tracker import meals.csvCSVファイルは以下の形式で作成してください:
date,food,kcal,protein
2025-10-31,鶏胸肉,165,31.0
2025-10-31,ブロッコリー,55,4.3
2025-10-30,サーモン,208,20.0.
├── CMakeLists.txt # CMakeビルド設定
├── README.md # このファイル
├── src/
│ ├── main.c # エントリーポイント
│ ├── db.c # データベース初期化
│ ├── db.h # データベースヘッダー
│ ├── commands.c # コマンド実装
│ └── commands.h # コマンドヘッダー
└── .github/
└── copilot-instructions.md # プロジェクト設定
CREATE TABLE meal (
id INTEGER PRIMARY KEY AUTOINCREMENT,
date TEXT NOT NULL,
food TEXT NOT NULL,
kcal INTEGER NOT NULL CHECK(kcal >= 0),
protein REAL NOT NULL CHECK(protein >= 0)
);MIT License