Frequently Asked Questions
General Questions
What is Martfury Flutter App?
Martfury Flutter App is a feature-rich mobile application designed to work seamlessly with Botble E-commerce backend. It provides a complete e-commerce experience with modern UI, secure authentication, advanced product browsing, shopping cart management, and comprehensive order tracking capabilities.
What are the system requirements for Martfury Flutter App?
Development Requirements:
- Flutter SDK 3.7.2 or higher
- Dart SDK 3.0.0 or higher
- Android Studio / VS Code
- Git for version control
Backend Requirements:
- Botble E-commerce backend with API access
- Martfury Laravel E-commerce System
Platform Requirements:
- Android: API level 21+ (Android 5.0+)
- iOS: iOS 12.0+
How does the app connect to the backend?
The app connects to your Botble E-commerce backend through RESTful API endpoints. You configure the API base URL in the .env
file, and the app handles authentication, data synchronization, and all e-commerce operations through secure API calls.
Is the app available on app stores?
The Martfury Flutter app is provided as source code that you can customize and publish to the App Store and Google Play Store under your own developer account and branding.
Features and Functionality
What payment methods are supported?
The app supports multiple payment gateways:
- Credit/Debit Cards via Stripe
- PayPal for PayPal account payments
- Razorpay for Indian customers
- Mollie for European customers
- SSLCommerz for Bangladesh customers
- Cash on Delivery (COD) where available
Can customers track their orders?
Yes, the app provides comprehensive order tracking features:
- Real-time order status updates
- Detailed order history
- Order tracking with email/order code
- Push notifications for status changes
- Delivery timeline and carrier information
Does the app support multiple languages?
Yes, the app supports multiple languages including:
- English
- Vietnamese
- Spanish
- French
- Arabic
- Hindi
- Bengali
- Indonesian
You can easily add more languages by creating additional translation files.
Does the app support social login?
Yes, the app supports multiple social login options:
- Google Sign-In: Login with Google account
- Facebook Login: Login with Facebook account
- Apple Sign-In: Login with Apple ID (iOS only)
- Social accounts are automatically linked to user profiles
- Users can still use email/password login if preferred
Can customers save products for later?
Yes, the app includes a comprehensive wishlist feature where customers can:
- Save favorite products
- Manage wishlist items
- Add items to cart from wishlist
- Share wishlist items
Does the app support product comparison?
Yes, the app includes a powerful product comparison feature:
- Compare up to 4 products side-by-side
- Detailed comparison tables with specifications and features
- Smart filtering to highlight differences
- Add from any listing or product detail page
- AI-powered recommendations for best value
- Price and feature comparison with visual indicators
- Save and share comparison results
How does the shopping cart work?
The shopping cart includes advanced features:
- Add products with variations (color, size, etc.)
- Update quantities and remove items
- Apply coupon codes and discounts
- Calculate shipping and taxes
- Save cart items between sessions
Technical Questions
How do I customize the app's appearance?
You can customize the app by modifying:
- Theme settings in
lib/src/theme/app_theme.dart
- Colors and styling throughout the app
- App icons and branding in the assets folder
- Splash screen and onboarding screens
Can I add new features to the app?
Yes, the app follows a clean architecture that makes it easy to add new features:
- Create data models in the
model
directory - Add API services in the
service
directory - Implement business logic in the
controller
directory - Build UI components in the
view
directory
How do I update the app to the latest version?
To update the app:
- Download the latest version
- Compare your customizations with the new version
- Merge your changes carefully
- Test thoroughly before deploying
- Update dependencies with
flutter pub get
Is the app compatible with the latest Flutter version?
The app is built with Flutter 3.7.2+ and is regularly updated to support the latest stable Flutter versions. Check the release notes for compatibility information.
Can I integrate analytics and tracking?
Yes, you can integrate various analytics services:
- Google Analytics for user behavior tracking
- Firebase Analytics for mobile-specific insights
- Custom tracking for business-specific metrics
- Crash reporting with Firebase Crashlytics
How do I configure push notifications?
Push notifications are configured through Firebase Cloud Messaging (FCM):
Setup Requirements:
- Firebase project with Cloud Messaging enabled
- Platform-specific configuration files
- Proper permissions and capabilities
- Backend integration for sending notifications
Supported Notification Types:
- Order status updates and shipping notifications
- Promotional offers and special deals
- Product alerts (new arrivals, back in stock)
- Wishlist notifications (price drops, availability)
- Account security and profile updates
Key Features:
- Real-time message delivery
- Background and foreground handling
- Custom notification channels (Android)
- Rich notifications with images and actions
- Topic-based messaging for user segments
For complete setup instructions, see the FCM Setup Guide.
Do push notifications work on both Android and iOS?
Yes, FCM supports both platforms with platform-specific features:
Android Features:
- Custom notification channels and categories
- Notification grouping and bundling
- Custom sounds and vibration patterns
- Notification actions and replies
- Background app restrictions handling
iOS Features:
- Rich notifications with media attachments
- Notification categories and actions
- Critical alerts (with special permission)
- Notification grouping and threading
- Silent notifications for background updates
Cross-Platform Features:
- Topic subscriptions for user segments
- Data messages for app-specific handling
- Notification analytics and delivery reports
- A/B testing for notification content
Backend Integration
What API endpoints are required?
The app requires the following API endpoints from your Botble backend:
- Authentication: Login, register, logout, password reset
- Products: Product listings, details, search, categories
- Cart: Add, update, remove cart items
- Orders: Create orders, order history, tracking
- User: Profile management, addresses, preferences
How do I configure CORS for the mobile app?
Configure CORS in your Laravel backend to allow mobile app requests:
'paths' => ['api/*'],
'allowed_methods' => ['*'],
'allowed_origins' => ['*'], // Configure specific origins for production
'allowed_headers' => ['*'],
'supports_credentials' => true,
Can I use the app with a custom backend?
While the app is designed for Botble E-commerce, you can adapt it to work with other backends by:
- Modifying the API service layer
- Updating data models to match your API
- Adjusting authentication flow
- Testing all functionality thoroughly
Troubleshooting
The app won't connect to my backend
If the app can't connect to your backend:
- Verify the
API_BASE_URL
in your.env
file is correct - Check that your backend is running and accessible
- Ensure CORS is properly configured
- Test API endpoints with a tool like Postman
- Check for SSL certificate issues with HTTPS
Products are not loading
If products aren't loading:
- Check your internet connection
- Verify the products API endpoint is working
- Check for authentication token issues
- Look for error messages in the app logs
- Ensure the backend has products data
Payment processing fails
If payments are failing:
- Verify payment gateway configuration in the backend
- Check API keys and credentials
- Test in sandbox mode first
- Ensure the payment gateway supports your region
- Check for network connectivity issues
App crashes on startup
If the app crashes on startup:
- Check for missing environment variables
- Verify all dependencies are installed (
flutter pub get
) - Look for error messages in the console
- Try running
flutter clean
and rebuilding - Check device compatibility
Push notifications not working
If push notifications aren't working:
- Verify Firebase configuration files are added correctly
- Check Firebase project settings
- Ensure proper permissions are requested
- Test notification sending from Firebase console
- Check device notification settings
Best Practices
How should I test the app before release?
Follow these testing practices:
- Unit Testing: Test individual components and functions
- Integration Testing: Test API integration and data flow
- UI Testing: Test user interface and user experience
- Device Testing: Test on various devices and screen sizes
- Performance Testing: Check app performance and memory usage
- Security Testing: Verify secure data handling and API communication
What should I consider for production deployment?
For production deployment:
- Environment Configuration: Use production API URLs and keys
- Security: Enable certificate pinning and secure storage
- Performance: Optimize images and enable caching
- Analytics: Set up crash reporting and user analytics
- App Store Guidelines: Follow platform-specific guidelines
- Testing: Thoroughly test all features in production environment
How do I maintain the app after launch?
Post-launch maintenance includes:
- Regular Updates: Keep Flutter and dependencies updated
- Bug Fixes: Monitor crash reports and user feedback
- Feature Updates: Add new features based on user needs
- Security Updates: Apply security patches promptly
- Performance Monitoring: Track app performance metrics
- User Support: Provide customer support for app issues
For additional questions or support, please contact our support team or visit our documentation.