398 lines
9.1 KiB
Markdown
398 lines
9.1 KiB
Markdown
# 🚀 Quick Start Guide - Calorie Tracker App
|
|
|
|
## What You Have
|
|
|
|
A complete **Flask web application** for tracking calories, macros, water intake, and weight with focus on Filipino foods!
|
|
|
|
### ✅ Features Implemented
|
|
|
|
1. **User Authentication** - Register/Login system
|
|
2. **Dashboard** - Beautiful overview with cards, charts, and progress bars
|
|
3. **Macro Tracking** - Calories, Protein, Carbs, Fat
|
|
4. **Filipino Food Database** - 25+ pre-loaded foods (Adobo, Sinigang, Tapsilog, etc.)
|
|
5. **Food Search** - Search Filipino and international foods
|
|
6. **API Integration** - API Ninjas for 1M+ foods
|
|
7. **Water Tracking** - Quick-add buttons (250ml, 500ml)
|
|
8. **Weight Tracking** - Daily logs with trends
|
|
9. **Smart Suggestions** - AI recommendations based on remaining macros
|
|
10. **Charts & Trends** - 7-day calorie and weight trends
|
|
11. **Meal Logging** - Add meals with multiple foods
|
|
12. **Responsive Design** - Works on mobile and desktop
|
|
13. **Filipino Flag Colors** - Red/Blue theme
|
|
|
|
---
|
|
|
|
## 🏃 How to Run It
|
|
|
|
### Option 1: Quick Start (5 minutes)
|
|
|
|
```bash
|
|
# 1. Open terminal in the calorie_tracker_app folder
|
|
cd calorie_tracker_app
|
|
|
|
# 2. Create virtual environment
|
|
python -m venv venv
|
|
|
|
# 3. Activate it
|
|
# On Mac/Linux:
|
|
source venv/bin/activate
|
|
# On Windows:
|
|
venv\Scripts\activate
|
|
|
|
# 4. Install packages
|
|
pip install -r requirements.txt
|
|
|
|
# 5. Run the app
|
|
# Windows (Double click run_app.bat OR run):
|
|
venv\Scripts\python app.py
|
|
|
|
# Mac/Linux:
|
|
./venv/bin/python app.py
|
|
```
|
|
|
|
## ❓ Troubleshooting
|
|
|
|
### "pip: command not found"
|
|
If you see this error, it means the virtual environment is not activated.
|
|
1. Make sure you are in the `calorie_tracker_app` folder.
|
|
2. Run `venv\Scripts\activate` (Windows) or `source venv/bin/activate` (Mac/Linux).
|
|
3. Try `python -m pip install -r requirements.txt` instead.
|
|
|
|
### "ModuleNotFoundError"
|
|
If Python can't find modules (Flask, etc.), make sure you activated the virtual environment before running the app.
|
|
|
|
The app will:
|
|
- Create the database automatically
|
|
- Start on http://localhost:5001
|
|
|
|
### Option 2: With API Key (Recommended)
|
|
|
|
```bash
|
|
# Do steps 1-4 from above, then:
|
|
|
|
# 5. Get free API key
|
|
# Go to: https://api-ninjas.com/api/nutrition
|
|
# Sign up (free)
|
|
# Copy your API key
|
|
|
|
# 6. Create .env file
|
|
cp .env.example .env
|
|
|
|
# 7. Edit .env and add your key
|
|
# API_NINJAS_KEY=your_key_here
|
|
|
|
# 8. Seed Filipino foods
|
|
# Windows (Double click seed_db.bat OR run):
|
|
venv\Scripts\python seed_data.py
|
|
|
|
# Mac/Linux:
|
|
./venv/bin/python seed_data.py
|
|
|
|
# 9. Run the app
|
|
python app.py
|
|
```
|
|
|
|
---
|
|
|
|
## 📱 Using the App
|
|
|
|
### First Time
|
|
|
|
1. Go to http://localhost:5000
|
|
2. Click "Register"
|
|
3. Create account (username + password)
|
|
4. Login
|
|
5. Go to "Goals" page
|
|
6. Enter:
|
|
- Age: 25
|
|
- Gender: Male/Female
|
|
- Height: 170 cm
|
|
- Weight: 70 kg
|
|
- Activity: Moderate
|
|
- Goal: Recomp (for weight loss + muscle gain)
|
|
- Target weight: 65 kg
|
|
7. Click Save
|
|
|
|
**The app automatically calculates:**
|
|
- Your BMR (Basal Metabolic Rate)
|
|
- Your TDEE (Total Daily Energy Expenditure)
|
|
- Calorie target (TDEE - 500 for weight loss)
|
|
- Macro targets (Protein: 154g, Carbs: 175g, Fat: 63g)
|
|
|
|
### Daily Use
|
|
|
|
#### Morning Routine
|
|
1. **Log Weight** - Enter on dashboard
|
|
2. **Log Water** - Click +250ml or +500ml
|
|
|
|
#### Adding Meals
|
|
1. Click "Add Meal"
|
|
2. Select breakfast/lunch/dinner/snack
|
|
3. Search for food (e.g., "adobo", "kanin", "sinigang")
|
|
4. Click food to add
|
|
5. Adjust servings (0.5, 1, 1.5, 2, etc.)
|
|
6. See real-time nutrition summary
|
|
7. Click "Save Meal"
|
|
|
|
#### Dashboard Shows
|
|
- Calories consumed vs target
|
|
- Macros (protein/carbs/fat) with progress bars
|
|
- Water intake (glass icons)
|
|
- Today's weight
|
|
- All meals logged
|
|
- Charts showing trends
|
|
|
|
---
|
|
|
|
## 🍛 Filipino Foods Available
|
|
|
|
### Search these (English or Tagalog):
|
|
|
|
**Breakfast**
|
|
- Tapsilog (beef tapa + rice + egg)
|
|
- Longsilog (longganisa + rice + egg)
|
|
- Tocilog (tocino + rice + egg)
|
|
|
|
**Main Dishes**
|
|
- Chicken Adobo / Adobong Manok
|
|
- Pork Sinigang / Sinigang na Baboy
|
|
- Chicken Tinola / Tinolang Manok
|
|
- Bicol Express
|
|
- Sisig
|
|
- Menudo
|
|
- Kare-Kare
|
|
- Lechon Kawali
|
|
|
|
**Soups**
|
|
- Bulalo
|
|
- Nilaga
|
|
|
|
**Vegetables**
|
|
- Pinakbet
|
|
- Laing
|
|
- Ginisang Monggo
|
|
|
|
**Snacks**
|
|
- Pandesal
|
|
- Turon
|
|
- Bibingka
|
|
- Puto
|
|
- Lumpia
|
|
|
|
**Rice**
|
|
- White Rice / Kanin
|
|
- Fried Rice / Sinangag
|
|
|
|
---
|
|
|
|
## 💡 Tips for Success
|
|
|
|
### Body Recomposition Strategy
|
|
|
|
**Your goals: Weight loss + Muscle gain**
|
|
|
|
1. **Protein Priority**
|
|
- Eat 2.2g protein per kg body weight
|
|
- Example: 70kg = 154g protein daily
|
|
- Spread across 4-5 meals
|
|
|
|
2. **Calorie Deficit**
|
|
- 300-500 calories below TDEE
|
|
- App calculates this automatically
|
|
- Lose 0.5-1 kg per week
|
|
|
|
3. **Track Daily**
|
|
- Weight: Same time every morning
|
|
- Food: Log everything (even snacks)
|
|
- Water: Aim for 2+ liters
|
|
|
|
4. **Weekly Check-in**
|
|
- Look at 7-day average weight
|
|
- Adjust calories if needed
|
|
- Progress page shows trends
|
|
|
|
### Food Search Tips
|
|
|
|
1. **Try Filipino first** (no API needed):
|
|
- "adobo", "sinigang", "sisig"
|
|
- "kanin", "pandesal", "lumpia"
|
|
|
|
2. **Search Tagalog names**:
|
|
- Works for Filipino foods
|
|
- "Adobong Manok", "Sinigang na Baboy"
|
|
|
|
3. **International foods** (needs API):
|
|
- "chicken breast", "brown rice"
|
|
- "protein shake", "banana"
|
|
|
|
4. **Be specific**:
|
|
- Instead of "lunch", search "chicken rice"
|
|
- Instead of "food", search actual dish
|
|
|
|
### Maximize Free API Tier
|
|
|
|
API Ninjas free tier: 50 requests/day
|
|
|
|
**The app helps you save API calls:**
|
|
- Filipino foods = 0 API calls (local database)
|
|
- Cached foods = 0 API calls (saved from previous searches)
|
|
- Only new international foods use API
|
|
|
|
**Tips:**
|
|
- Use Filipino foods when possible
|
|
- Foods are cached after first search
|
|
- Mark favorites to find them quickly
|
|
|
|
---
|
|
|
|
## 📊 Understanding Your Dashboard
|
|
|
|
### Calorie Card
|
|
- **Green progress bar** = On track
|
|
- **Red progress bar** = Over target
|
|
- Shows remaining calories
|
|
|
|
### Protein Card
|
|
- Goal: Hit target every day
|
|
- Important for muscle building
|
|
- Prevents muscle loss during deficit
|
|
|
|
### Carbs & Fat Cards
|
|
- Carbs = Energy for workouts
|
|
- Fat = Hormones & satiety
|
|
- Both important, don't eliminate
|
|
|
|
### Water Tracking
|
|
- 8 glasses = 2 liters (goal)
|
|
- Blue drops fill up
|
|
- Quick add: +250ml, +500ml buttons
|
|
|
|
### Weight Card
|
|
- Log daily for best results
|
|
- Shows change from yesterday
|
|
- Green ⬇ = weight down (good for weight loss)
|
|
- Red ⬆ = weight up
|
|
|
|
### Smart Suggestions
|
|
Based on what you've eaten:
|
|
- Need protein? → Suggests Tinola, Grilled Fish
|
|
- Need carbs? → Suggests Rice, Pandesal
|
|
- Need fat? → Suggests Sisig, Bicol Express
|
|
- Balanced? → No suggestions (you're good!)
|
|
|
|
### Charts
|
|
- **Calorie Trend**: Shows if you're consistent
|
|
- **Weight Trend**: Shows if you're losing weight
|
|
- Both use 7-day data
|
|
|
|
---
|
|
|
|
## 🔧 Troubleshooting
|
|
|
|
### "No module named flask"
|
|
```bash
|
|
pip install -r requirements.txt
|
|
```
|
|
|
|
### "Database is locked"
|
|
```bash
|
|
# Stop the app, delete database, restart
|
|
rm calorie_tracker.db
|
|
python app.py
|
|
python seed_data.py
|
|
```
|
|
|
|
### Filipino foods not showing
|
|
```bash
|
|
python seed_data.py
|
|
```
|
|
|
|
### API not working
|
|
- Check .env file has API key
|
|
- App still works without API (Filipino foods + manual entry)
|
|
|
|
### Port 5000 in use
|
|
Edit app.py, last line:
|
|
```python
|
|
app.run(debug=True, host='0.0.0.0', port=5001) # Change to 5001
|
|
```
|
|
|
|
---
|
|
|
|
## 📁 Project Files
|
|
|
|
```
|
|
calorie_tracker_app/
|
|
├── app.py # Main application (Flask routes)
|
|
├── models.py # Database tables
|
|
├── api_client.py # API integration
|
|
├── utils.py # Helper functions (BMR, TDEE calculations)
|
|
├── seed_data.py # Filipino foods data
|
|
├── config.py # Settings
|
|
├── requirements.txt # Python packages
|
|
├── .env.example # API key template
|
|
├── README.md # Full documentation
|
|
└── templates/ # HTML pages
|
|
├── dashboard.html # Main page ✅
|
|
├── add_meal.html # Add meals ✅
|
|
├── login.html # Login page ✅
|
|
├── register.html # Register page ✅
|
|
├── foods.html # Food database (basic)
|
|
├── goals.html # Goals/settings (basic)
|
|
├── progress.html # Charts (placeholder)
|
|
└── meal_planner.html # Future feature
|
|
```
|
|
|
|
---
|
|
|
|
## 🎯 What's Working Now
|
|
|
|
✅ Full user system (register/login)
|
|
✅ Dashboard with all stats
|
|
✅ Add meals with multiple foods
|
|
✅ Food search (Filipino + API)
|
|
✅ Water tracking
|
|
✅ Weight tracking
|
|
✅ Macro calculations
|
|
✅ Smart suggestions
|
|
✅ Charts and trends
|
|
✅ Responsive design
|
|
|
|
## 🚧 To Be Enhanced
|
|
|
|
These are basic but functional:
|
|
- Foods page (shows foods, can be enhanced with filters)
|
|
- Goals page (works but could be prettier)
|
|
- Progress page (placeholder, can add more charts)
|
|
- Meal planner (not implemented yet)
|
|
|
|
---
|
|
|
|
## 🎉 You're Ready!
|
|
|
|
### Next Steps:
|
|
|
|
1. **Run the app** (see instructions above)
|
|
2. **Register** an account
|
|
3. **Set your goals** (Goals page)
|
|
4. **Add your first meal** (try searching "tapsilog"!)
|
|
5. **Track for a week** to see trends
|
|
|
|
### Pro Tip:
|
|
Log your meals right after eating. It's easier to remember and takes only 30 seconds!
|
|
|
|
---
|
|
|
|
## 📞 Need Help?
|
|
|
|
1. Check README.md for detailed docs
|
|
2. Check this Quick Start guide
|
|
3. Look at the code comments
|
|
4. All functions are documented
|
|
|
|
---
|
|
|
|
**Enjoy tracking your journey to better health! 💪🇵🇭**
|
|
|
|
Made with ❤️ for Filipino food lovers!
|