A comprehensive Flutter-based mobile application that helps users gain, lose, or maintain body weight based on their BMI value, using offline-first, rule-based nutrition and exercise guidance.
- BMI Calculator: Automatic BMI calculation and categorization
- Calorie Engine: Personalized daily calorie targets using Mifflin-St Jeor equation
- Nutrition Guidance: 30+ food items with filtering by goal and dietary preference
- Exercise Library: 20+ exercises with BMI-based recommendations
- Habit Tracking: Daily tracking for water, exercise, meals, and sleep
- Progress Tracking: Weight and BMI history with visual trends
- Smart Tips: Contextual wellness advice based on your habits
- Gamification: Streak tracking and achievement system
- Beautiful Material 3 design
- Dark mode support
- Offline-first architecture (works without internet)
- Zero operational costs (no APIs or subscriptions)
- Educational content about BMI, calories, and wellness
- Medical disclaimers for Play Store compliance
- Flutter SDK (3.9.2 or higher)
- Dart SDK
- Android Studio / VS Code
- Android device or emulator
-
Clone or navigate to the project
cd nutriguid_app -
Install dependencies
flutter pub get
-
Run the app
flutter run
lib/
โโโ main.dart # App entry point
โโโ models/ # Data models
โ โโโ user_profile.dart
โ โโโ food_item.dart
โ โโโ exercise_item.dart
โ โโโ habit_entry.dart
โ โโโ progress_entry.dart
โ โโโ achievement.dart
โโโ services/ # Business logic
โ โโโ database_service.dart # SQLite operations
โ โโโ nutrition_service.dart # Food filtering & meal planning
โ โโโ exercise_service.dart # Workout recommendations
โ โโโ tips_service.dart # Smart tips engine
โ โโโ notification_service.dart
โโโ screens/ # UI screens
โ โโโ onboarding/
โ โโโ home/
โ โโโ nutrition/
โ โโโ exercise/
โ โโโ tracker/
โ โโโ progress/
โ โโโ education/
โ โโโ settings/
โโโ utils/ # Utilities
โ โโโ constants.dart
โ โโโ theme.dart
โ โโโ validators.dart
โโโ widgets/ # Reusable widgets
assets/
โโโ data/
โโโ nutrition_database.json # 30+ food items
โโโ exercise_library.json # 20+ exercises
- Flutter: Cross-platform mobile framework
- SQLite (sqflite): Local database for user data
- SharedPreferences: Simple key-value storage
- Provider: State management
- fl_chart: Progress charts
- flutter_local_notifications: Reminders
The app uses the standard BMI formula:
BMI = weight (kg) / heightยฒ (m)
Categories:
- < 18.5: Underweight
- 18.5 - 24.9: Normal
- 25.0 - 29.9: Overweight
- โฅ 30.0: Obese
Uses the Mifflin-St Jeor equation for BMR:
For Men:
BMR = 10 ร weight(kg) + 6.25 ร height(cm) - 5 ร age + 5
For Women:
BMR = 10 ร weight(kg) + 6.25 ร height(cm) - 5 ร age - 161
Daily Calories:
Daily Calories = BMR ร Activity Factor
Activity Factors:
- Low (little/no exercise): 1.2
- Medium (3-5 days/week): 1.55
- High (6-7 days/week): 1.9
Goal Adjustments:
- Weight Gain: +300 kcal
- Weight Loss: -400 kcal
- Maintain: No change
Exercises are filtered based on:
- BMI suitability: Each exercise has min/max BMI range
- Difficulty level: Beginner, Intermediate, Advanced
- Type: Cardio, Strength, Flexibility
Calorie burn calculation:
Calories = MET ร weight(kg) ร duration(hours)
- Welcome Screen: App introduction with medical disclaimer
- Profile Setup: Onboarding form for user details
- Dashboard: Main hub with BMI, streak, tips, and quick habits
- Nutrition: Filtered food recommendations with nutritional info
- Exercise: Workout plans with step-by-step instructions
- Habit Tracker: Daily tracking with progress indicator
- Progress: Weight logging and history
- Education: Wellness information and tips
- Settings: Profile management, dark mode, and app reset
IMPORTANT: NutriGuid provides general wellness guidance and educational information only. This app is NOT a substitute for professional medical advice, diagnosis, or treatment. Always consult with a healthcare provider before starting any new diet or exercise program.
- Daily Streaks: Track consecutive days of habit completion
- Achievements: Unlock badges for milestones
- Progress Visualization: Charts and trends
- Water reminders (every 2 hours)
- Exercise reminders (customizable time)
- Weekly weight check reminders
Full dark mode support with automatic theme switching.
flutter build apk --releaseOr for app bundle (recommended for Play Store):
flutter build appbundle --releaseflutter build ios --release- 100% Offline: All data stored locally
- No tracking: No analytics or third-party services
- No accounts: No user registration required
- Data control: Easy app reset option
- Medical disclaimers prominently displayed
- No medical claims or diagnosis features
- Educational content only
- Offline-first privacy
- Cloud sync for backup
- AI-powered meal planning
- Wearable device integration
- Social features
- Recipe suggestions
App won't start:
- Run
flutter cleanthenflutter pub get - Check Flutter version:
flutter --version
Database errors:
- Use app reset in Settings
- Reinstall the app
Notifications not working:
- Check device notification permissions
- Ensure notifications are enabled in Settings
This project is created for educational and wellness purposes.
Built with:
- Flutter 3.9.2+
- Dart 3.0+
- Material Design 3
Code Quality:
- Well-commented code
- Modular architecture
- Separation of concerns
- Reusable components
- Nutrition data compiled from USDA FoodData Central
- Exercise information from fitness research
- BMI and calorie formulas from medical standards
Made with โค๏ธ for your wellness journey