以下中文版本的內容。
- 依據使用者個人數據規劃目標
- 記錄每日食物攝取
- 統計紀錄數據並視覺化圖表
- 使用 CoreML 技術辨識食物,以及 Vision 框架進行營養標示的文字辨識
-
下載應用程式(可直接開始使用,不需以下配置)
-
克隆此專案
git clone https://github.com/Eva0306/CalControl.git
-
配置 API Key
-
在 CalControl 專案中,
APIKey的資料夾裡可以看到一個APIKey-Sample.plist,這是範例檔。 -
第一次開啟專案直接 Build 專案會自動建立
APIKey.plist至該資料夾。 -
手動將此
APIKey.plist放進專案中並將對應 value 中 Demo 字樣改為YOUR-API-KEY。 -
或使用 Soruce Code 進行更改
APIKey.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>translationAPIKey</key> <string>YOUR_GOOGLE_TRANSLATION_API_KEY</string> <key>nutritionAPIKey</key> <string>YOUR_EDAMAM_API_KEY</string> </dict> </plist>
請將 YOUR_GOOGLE_TRANSLATION_API_KEY 替換成你從 Google Cloud Translation 獲得的 API Key。 將 YOUR_EDAMAM_API_KEY 替換成你從 EDAMAM API 獲得的 API Key。
-
-
專案使用 Google Firebase 上傳資料
- 本專案使用 Firebase Firestore 來存儲數據,因此需要配置
GoogleService-Info.plist檔案。 - 登入 Firebase Console,選擇你的專案(如果還沒有專案,請創建一個新的專案)。
- 進入「專案設定」並選擇「iOS 應用程式」,然後按照提示添加應用程式(如果還未添加)。
- 下載生成的
GoogleService-Info.plist檔案,並將其放置在你的 Xcode 專案目錄中。
- 本專案使用 Firebase Firestore 來存儲數據,因此需要配置
-
開啟應用程式後,使用
Sign in with Apple進行登入,並填入基本資料。 -
點擊畫面下方正中間「+」新增飲食紀錄。
-
三種方式簡單紀錄飲食:
-
拍攝/選擇完照片可選擇要辨識食物或是營養標示。
-
系統會自動同步主畫面數據及紀錄會呈現於對應餐期欄位中。
-
注意:首次使用應用程式時,請確保允許應用程式訪問健康數據 (Apple Health),才能自動同步你的運動紀錄。
- 主畫面為日分析數據呈現, Dashboard 則是週分析數據統計
- 飲食紀錄:選擇餐期、紀錄方式、營養分析呈現
- 好友及個人設置頁面
本專案採用 MIT License 授權。
有任何問題,請聯絡我們:eva890306@gmail.com
CalControl+ is a health management application that helps you easily track daily calorie intake, manage your health, and visualize data through charts.
- Plan goals based on user's personal data
- Record daily food intake
- Generate statistical reports and visualize data in charts
- Use CoreML for food recognition and Vision framework for nutritional label text recognition
-
Download the app (can be used directly, no configuration required)
-
Clone this project
git clone https://github.com/Eva0306/CalControl.git
-
Configure the API Key
- In the CalControl project, you will find an
APIKey-Sample.plistfile in theAPIKeyfolder, which serves as a sample. - When you first open the project and build it, an
APIKey.plistfile will automatically be created in that folder. - Manually place this
APIKey.plistin the project and replace the Demo strings in the value fields withYOUR-API-KEY. - Alternatively, modify the source code.
APIKey.plist
<?xml version="1.0" encoding="UTF-8"?> <!DOCTYPE plist PUBLIC "-//Apple//DTD PLIST 1.0//EN" "http://www.apple.com/DTDs/PropertyList-1.0.dtd"> <plist version="1.0"> <dict> <key>translationAPIKey</key> <string>YOUR_GOOGLE_TRANSLATION_API_KEY</string> <key>nutritionAPIKey</key> <string>YOUR_EDAMAM_API_KEY</string> </dict> </plist>
Please replace YOUR_GOOGLE_TRANSLATION_API_KEY with your own API key obtained from Google Cloud Translation. Replace YOUR_EDAMAM_API_KEY with your API key from EDAMAM API.
- In the CalControl project, you will find an
-
The project uses Google Firebase to upload data
- This project uses Firebase Firestore to store data, so you need to configure the
GoogleService-Info.plistfile. - Log in to Firebase Console, select your project (or create a new one if you don't have one).
- Go to "Project Settings" and select "iOS App", then follow the prompts to add the app (if not added already).
- Download the generated
GoogleService-Info.plistfile and place it in your Xcode project directory.
- This project uses Firebase Firestore to store data, so you need to configure the
-
After launching the app, sign in using
Sign in with Appleand fill in the basic information. -
Tap the "+" button in the center of the screen to add a new food record.
-
Three simple ways to record your meals:
-
After capturing/selecting a photo, choose to recognize the food or the nutritional label.
-
The system will automatically sync the data on the main screen, and the records will be displayed in the appropriate meal section.
-
Note: When using the app for the first time, ensure that you allow the app to access Health data (Apple Health) so that your activity records can be synced automatically.
- The main screen displays daily analysis data, while the Dashboard shows weekly analysis statistics
- Meal records: Choose meal time, record method, and nutritional analysis display
- Friends and personal settings pages
This project is licensed under the MIT License.
If you have any questions, please contact us at: eva890306@gmail.com








