Documentation
Everything you need to customize and deploy your app
Features
What's included
Requirements
System prerequisites
Installation
Quick start guide
Configuration
App name & package ID
Customization
Icons, colors & themes
In-App Purchases
iOS & Android setup
Building
Release builds
Project Structure
Code organization
Languages
Multi-language support
Support
Get help
Features
Everything included in BMI Calculator Pro
BMI Calculation
Accurate BMI calculation with category classification including underweight, normal, overweight, and obese categories.
Pediatric Support
Special BMI calculations for ages 0-18 with age and gender-specific percentile charts.
History Tracking
Save and view past BMI calculations with timestamps and full details stored locally.
Dark & Light Themes
Beautiful Apple-inspired themes with smooth transitions and golden accents in dark mode.
10 Languages
Multi-language support including English, Arabic, German, Spanish, French, and more.
In-App Purchases
Ready-to-use monetization with yearly subscription and lifetime purchase options.
Requirements
System prerequisites to build and run the app
Use Exact Versions to Avoid Issues
Run flutter --version to check. Recommended: Flutter 3.19.0 - 3.24.x with Dart 3.3.0 - 3.5.x
| Requirement | Minimum Version | Notes |
|---|---|---|
| Flutter SDK | 3.19.0 - 3.24.x | Tested & recommended version |
| Dart SDK | 3.3.0 - 3.5.x | Included with Flutter |
| iOS Target | iOS 12.0+ | iPhone & iPad supported |
| Android Target | API 21+ | Android 5.0 (Lollipop) |
| Xcode | 15.0+ | Required for iOS builds |
| Android Studio | Hedgehog or newer | Required for Android builds |
Installation
Get up and running in minutes
First Time with Flutter?
Visit flutter.dev/get-started for the official installation guide.
Verify Flutter Installation
Open your terminal and check your version:
# Check Flutter & Dart version
flutter --version
# Expected output (example):
# Flutter 3.19.6 • Dart 3.3.4
# Run doctor to verify setup
flutter doctor
Ensure Flutter version is 3.19.0 - 3.24.x and all checkmarks are green (✓).
Extract the Project
Extract the downloaded ZIP file to your desired location.
Install Dependencies
Navigate to the project folder and run:
# Navigate to project
cd bmi_calculator
# Install dependencies
flutter pub get
Run the App
Start the app on your connected device or emulator:
# Run on default device
flutter run
# Run on specific platform
flutter run -d chrome # Web
flutter run -d ios # iOS Simulator
flutter run -d android # Android Emulator
Success!
The app should now be running on your device or emulator.
Configuration
Change app name and package identifier
Change App Name
Android
Edit android/app/src/main/AndroidManifest.xml:
<application
android:label="Your App Name"
...>
iOS
Edit ios/Runner/Info.plist:
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
Change Package ID / Bundle Identifier
Android
Edit android/app/build.gradle.kts:
android {
namespace = "com.yourcompany.appname"
defaultConfig {
applicationId = "com.yourcompany.appname"
}
}
iOS
- Open
ios/Runner.xcworkspacein Xcode - Select Runner in the Project Navigator
- Under "Signing & Capabilities", change the Bundle Identifier
Important
After changing the package ID, run flutter clean and rebuild the project.
Customization
Make the app your own
Change App Icon
Android Icons
Replace the following files with your icons:
| File Path | Size |
|---|---|
android/app/src/main/res/mipmap-mdpi/ic_launcher.png | 48×48 |
android/app/src/main/res/mipmap-hdpi/ic_launcher.png | 72×72 |
android/app/src/main/res/mipmap-xhdpi/ic_launcher.png | 96×96 |
android/app/src/main/res/mipmap-xxhdpi/ic_launcher.png | 144×144 |
android/app/src/main/res/mipmap-xxxhdpi/ic_launcher.png | 192×192 |
iOS Icons
Replace icons in ios/Runner/Assets.xcassets/AppIcon.appiconset/
Customize Colors
Edit lib/theme/app_theme.dart to change the app's color scheme:
// Dark Theme Colors
static const Color golden = Color(0xFFD4AF37);
static const Color darkScreen = Color(0xFF1C1C1E);
// Light Theme Colors
static const Color lightPrimaryBlue = Color(0xFF007AFF);
static const Color lightScreen = Color(0xFFF2F2F7);
Customize Fonts
Edit lib/theme/app_fonts.dart to customize typography and font styles.
In-App Purchases Setup
Configure monetization for iOS and Android
Note
In-App Purchases require real App Store / Play Store accounts and won't work in debug mode without additional configuration.
iOS Setup (App Store Connect)
- Log in to App Store Connect
- Create your app if not already created
- Go to Features → In-App Purchases
- Create two products:
- Yearly Subscription: Auto-Renewable Subscription
- Lifetime Purchase: Non-Consumable
- Note down the Product IDs
- Update
lib/services/premium_purchase_service.dart:
class ProductIds {
static const String yearly = 'your_yearly_product_id';
static const String lifetime = 'your_lifetime_product_id';
}
Android Setup (Google Play Console)
- Log in to Google Play Console
- Select your app
- Go to Monetize → Products → In-app products
- Create two products with the same IDs used for iOS
- Upload your app to Internal Testing track first
- Add your test account as a License Tester
Building for Release
Create production-ready builds
Android Release Build
# Build APK
flutter build apk --release
# Build App Bundle (recommended for Play Store)
flutter build appbundle --release
Output: build/app/outputs/
iOS Release Build
flutter build ios --release
Then open Xcode and archive for App Store submission.
Web Build
flutter build web --release
Output: build/web/
Before Release
Update version in pubspec.yaml, test thoroughly on real devices, and configure signing keys.
Project Structure
Understanding the codebase organization
Adding New Languages
Extend multi-language support
Create Translation File
Copy lib/localization/app_strings_en.dart and rename to your language code.
Translate All Strings
Translate all string values while keeping property names unchanged.
Register the Language
Edit lib/models/app_language.dart and add your language to the list.
Update App Strings Factory
Edit lib/localization/app_strings.dart to include your new language.
Support
We're here to help
Email Support
Contact us at getcityoos@gmail.com for any questions or issues.
Response Time
We typically respond within 24-48 hours on business days.
Before Contacting Support
- Read this documentation thoroughly
- Check Flutter installation with
flutter doctor - Make sure you're using Flutter 3.0 or higher
- Try running
flutter clean && flutter pub get
When Contacting Support
Please include:
- Your purchase code from CodeCanyon
- Flutter version (
flutter --version) - Error messages or screenshots
- Steps to reproduce the issue
Changelog
Version history and updates
Version 1.0.0 Current
Initial Release
- BMI calculation with category classification
- Pediatric BMI support (ages 0-18)
- History tracking with local storage
- Light/Dark theme support
- 10 language translations
- In-app purchase integration
- Metric/Imperial unit switching
- iOS, Android, and Web support