Frequently Asked Questions
Answers to the most common customization and setup questions from FoodFeast buyers — click any question to expand the answer.
Branding & identity
Q How do I change the app name? ▼
Android — update the label in the manifest:
android/app/src/main/AndroidManifest.xml<application android:label="Your App Name" ...>
iOS — open ios/Runner/Info.plist and update both CFBundleDisplayName and CFBundleName.
Also update name: foodfeast in pubspec.yaml if you want the project name to match.
Q How do I change the package name / Bundle ID? ▼
The Android package name lives in android/app/build.gradle (applicationId) and build.gradle.kts (namespace). The iOS Bundle ID is PRODUCT_BUNDLE_IDENTIFIER in ios/Runner.xcodeproj/project.pbxproj.
Renaming these manually across native folders is error-prone — use the official rename tool instead. Run from the project root:
dart pub global activate rename
rename --bundleId com.yourcompany.yourapp
google-services.json / GoogleService-Info.plist files — otherwise push notifications will stop working.Q How do I change the app logo and splash screen? ▼
In-app logo: replace assets/images/app_logo.png and assets/svg/foodFeastLogo.svg.
Launcher icons: replace the images in android/app/src/main/res/mipmap-*/ic_launcher.png and ios/Runner/Assets.xcassets/AppIcon.appiconset/ — or generate all sizes automatically from one PNG using the flutter_launcher_icons package.
Splash screen: the native launch background is styled in android/app/src/main/res/drawable/launch_background.xml (@style/LaunchTheme) and ios/Runner/Assets.xcassets/LaunchImage.imageset/.
Configuration & keys
Q How do I change the API URL? ▼
Open the constants file and point both URLs to your own hosted Laravel domain:
lib/app/constants/app_constants.dartstatic const baseUrl = "https://your-domain.com/api/";
static const baseUrl1 = "https://your-domain.com/storage/";
Keep the /api/ and /storage/ endings exactly as they are. Then rebuild clean so the new endpoints take effect:
flutter clean && flutter pub get
Q How do I change the Firebase project? ▼
- Create a new project in the Firebase Console and register both your Android
applicationIdand iOSPRODUCT_BUNDLE_IDENTIFIER. - Download the new
google-services.jsonintoandroid/app/. - Drag
GoogleService-Info.plistinto the Runner folder inside Xcode (ios/Runner/) with Copy items if needed checked. - Update the Dart config automatically:
flutterfire configure
This rewrites lib/firebase_options.dart with your project's API keys and IDs.
Q How do I change the Google Maps API key? ▼
In Google Cloud Console, enable these 5 APIs, then generate a key: Maps SDK for Android, Maps SDK for iOS, Geocoding API, Geolocation API, Places API.
Android:
android/app/src/main/AndroidManifest.xml<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="YOUR_KEY"/>
iOS — in ios/Runner/AppDelegate.swift, add import GoogleMaps at the top, then inside didFinishLaunchingWithOptions:
GMSServices.provideAPIKey("YOUR_KEY")
Business & features
Q Can I use this app for a business other than food delivery? ▼
Yes. While FoodFeast is structured around restaurants and food items (Store, Product, Dine-In, Add-ons), the Clean Architecture and generic data models (stores, categories, products) make it easy to adapt for grocery delivery, pharmacy delivery, or general e-commerce.
To rebrand the experience: customize UI text strings across the app, replace category vector icons inside assets/svg/, and edit the translation dictionaries in assets/translations/en.json and ar.json.
Q Can I add new payment gateways? ▼
Yes. The app already integrates online gateways (PayPal, Stripe, Razorpay) dynamically via a secure WebView checkout (PayPalPaymentScreen at lib/pages/resturant/presentation/screen/paypal_payment_screen.dart), alongside built-in Wallet and Cash on Delivery.
- Enable an existing gateway: enter your live merchant keys in the Admin Panel → Business Settings → Payment Method Settings — no code changes needed.
- Add a brand-new regional provider: integrate the provider's PHP SDK on the backend checkout route, then add a corresponding checkout WebView redirection state in
check_out_cubit.dart.
Updates & troubleshooting
Q Why do I get a CORS or "Connection Refused" error when testing? ▼
If baseUrl points to localhost (http://127.0.0.1:8000/api/), emulators and physical devices can't reach your computer's loopback network. Fix by environment:
| Where you're testing | Use this baseUrl |
|---|---|
| Android emulator | http://10.0.2.2:8000/api/ |
| Physical device (same Wi-Fi) | http://192.168.1.X:8000/api/ (your LAN IP) |
| Production | Public HTTPS domain with a valid, trusted SSL certificate |
Still stuck?
If your question isn't answered here, we're happy to help:
- 📖 Check the Installation & Setup Guide and App Documentation included in your download
- 💬 Reach us via the CodeCanyon support tab on the item page
- 📧 Email: Support@zainclouds.com · Mon–Fri, 9am–6pm (GMT+5) · replies within 24–48 business hours