Configuration_guide.md
Bagisto Flutter App Configuration Guide
File: lib/core/constants/api_constants.dart
Configure the Bagisto GraphQL API endpoint and storefront key:
/// Bagisto API endpoint
const String bagistoEndpoint = 'https://your-bagisto-domain.com/graphql';
/// Storefront key for Bagisto API
const String storefrontKey = 'your_storefront_key';
/// Company name
const String companyName = 'Your Company Name';
lib/core/constants/api_constants.dartbagistoEndpoint with your Bagisto GraphQL endpoint URLstorefrontKey with your storefront API key from Bagisto Admin PanelcompanyName to your company name (default: "Webkul Software (Registered in India)")File: lib/core/theme/app_theme.dart
Change primary colors in the AppColors class:
class AppColors {
// Primary Colors
static const Color primary500 = Color(0xFFFF6900); // Main primary color (Orange)
static const Color primary600 = Color(0xFFF54900); // Darker variant for pressed states
// Neutral Colors (Light Theme)
static const Color neutral50 = Color(0xFFFAFAFA);
static const Color neutral100 = Color(0xFFF5F5F5);
static const Color neutral200 = Color(0xFFE5E5E5);
static const Color neutral300 = Color(0xFFD4D4D4);
static const Color neutral400 = Color(0xFFA1A1A1);
static const Color neutral500 = Color(0xFF737373);
static const Color neutral600 = Color(0xFF525252);
static const Color neutral700 = Color(0xFF404040);
static const Color neutral800 = Color(0xFF262626);
static const Color neutral900 = Color(0xFF171717);
// Status Colors
static const Color successGreen = Color(0xFF00A63E);
static const Color success50 = Color(0xFFF0FDF4);
static const Color success500 = Color(0xFF00C950);
static const Color success700 = Color(0xFF008236);
// Process / Info Colors
static const Color process600 = Color(0xFF155DFC);
static const Color process700 = Color(0xFF1447E6);
// Static Colors
static const Color white = Color(0xFFFFFFFF);
static const Color black = Color(0xFF000000);
}
The app supports both Light and Dark themes configured in the AppTheme class:
Both themes use Material3 design with Roboto font family.
For detailed color customization, see Docs/ColorSetUp.md.
File: android/app/src/main/AndroidManifest.xml
Change the app name by modifying the android:label attribute:
<application
android:label="Your App Name"
android:name="${applicationName}"
android:icon="@mipmap/ic_launcher">
Current default: Mobikul Bagisto Laravel App
File: ios/Runner/Info.plist
Find the key CFBundleDisplayName and replace the string value:
<key>CFBundleDisplayName</key>
<string>Your App Name</string>
Current default: Mobikul Bagisto Laravel App
File: assets/images/splash.png
Replace the existing splash.png file with your custom splash screen image.
File: android/app/src/main/res/drawable-v21/launch_background.xml
Files:
Replace the following files:
LaunchImage.png (1x)[email protected] (2x)[email protected] (3x)android folder in Android Studioapp → New → Image AssetIcon Location: android/app/src/main/res/mipmap-xxxhdpi/
File: ios/Runner/Assets.xcassets/AppIcon.appiconset/
Replace the existing app icon images with your custom icons. Use Xcode's AppIcon template for proper sizing.
File: android/app/google-services.json
Replace this file with your Firebase configuration file from the Firebase Console.
Note: The current file contains dummy values and must be replaced with your actual Firebase project configuration.
File: ios/Runner/GoogleService-Info.plist
Replace this file with your Firebase configuration file from the Firebase Console.
Note: The current file contains dummy values and must be replaced with your actual Firebase project configuration.
The app requires several permissions for full functionality:
File: android/app/src/main/AndroidManifest.xml
<!-- Camera permissions for image search -->
<uses-feature android:name="android.hardware.camera" android:required="false" />
<uses-permission android:name="android.permission.CAMERA"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.READ_MEDIA_IMAGES"/>
<!-- Microphone permission for speech recognition -->
<uses-permission android:name="android.permission.RECORD_AUDIO"/>
<!-- Internet permission -->
<uses-permission android:name="android.permission.INTERNET"/>
File: ios/Runner/Info.plist
<!-- Camera for image search -->
<key>NSCameraUsageDescription</key>
<string>This app needs camera access to capture photos for image-based product search.</string>
<!-- Microphone for voice search -->
<key>NSMicrophoneUsageDescription</key>
<string>This app needs microphone access for voice search functionality.</string>
<!-- Photo Library -->
<key>NSPhotoLibraryUsageDescription</key>
<string>This app needs access to your photo library to select images for product search.</string>
<key>NSPhotoLibraryAddOnlyUsageDescription</key>
<string>This app needs permission to save photos from your camera.</string>
<!-- Speech Recognition -->
<key>NSSpeechRecognitionUsageDescription</key>
<string>This app uses speech recognition for voice search.</string>
| Configuration | File Path |
|---|---|
| API Endpoint & Keys | lib/core/constants/api_constants.dart |
| Theme/Colors | lib/core/theme/app_theme.dart |
| Android App Name | android/app/src/main/AndroidManifest.xml |
| iOS App Name | ios/Runner/Info.plist |
| Android Icons | android/app/src/main/res/mipmap-xxxhdpi/ |
| iOS Icons | ios/Runner/Assets.xcassets/AppIcon.appiconset/ |
| Splash Screen Image | assets/images/splash.png |
| Android Firebase Config | android/app/google-services.json |
| iOS Firebase Config | ios/Runner/GoogleService-Info.plist |
| GraphQL Client | lib/core/graphql/graphql_client.dart |
| Dependencies | pubspec.yaml |
Docs/ConfigGuide.md - Alternative detailed configuration guideDocs/ColorSetUp.md - Detailed color customization guideDocs/ServerConfig.md - Server-side configurationDocs/installationGuide.md - App installation instructionsDocs/PlaceholderSetup.md - Placeholder image configuration