FAQ
Frequently asked questions about the Bowlerplate Flutter edition.
General Questions
What are the default admin credentials?
By default, the database seeder creates an admin account with the following credentials:
- Email:
admin@example.com - Password:
password
You can access the admin panel at http://localhost:8000/admin.
How do I change the backend database?
The boilerplate uses SQLite by default. To use MySQL, PostgreSQL, or MariaDB:
- Update the
DB_CONNECTION,DB_HOST,DB_PORT,DB_DATABASE,DB_USERNAME, andDB_PASSWORDin yourbackend/.env. - Run
php artisan migrate --seed.
Why is code generation (build_runner) failing?
If you're seeing conflicts or errors during code generation, try a clean build:
dart run build_runner clean
dart run build_runner build --delete-conflicting-outputsCocoaPods issues on macOS?
If you're having trouble with iOS builds, try resetting your pods:
cd ios
rm -rf Pods
rm Podfile.lock
pod install
cd ..How do I reset everything?
If you want to start from scratch with the database:
cd backend
php artisan migrate:fresh --seed1. Setup & Configuration
How do I connect my Flutter app to a local Laravel backend?
Mobile applications cannot use localhost to access a backend running on your computer.
- Android Emulator: Use the IP
http://10.0.2.2:8000. - iOS Simulator: You can use
http://localhost:8000. - Physical Device: Use your computer's local IP address (e.g.,
http://192.168.1.5:8000). Make sure you have updated thebaseURLin thelib/constants/api_endpoints.dartfile.
How do I switch the backend from Laravel to Supabase/Pocketbase?
Bowlerplate supports multiple backends. You need to replace the service implementation at the repository layer. We provide templates for various providers in the backends/ folder.
How do I setup Google OAuth on Android and iOS?
Use the Google Cloud Console to create Client IDs for each platform. Update the google_services.json (Android) and GoogleService-Info.plist (iOS) files in your Flutter project. Details are in Authentication Features.
2. Customization & Branding
How do I change the logo, splash screen, and app icon automatically?
Use the pre-configured Flutter Launcher Icons and Flutter Native Splash packages. See the Assets Configuration guide.
How do I add a new color theme to the Design Tokens?
Edit the file at lib/themes/design_tokens.dart. Add the new color scheme within the AppTheme class. See the Customization Guide.
How do I change the Package Name (Bundle ID)?
Use the provided change_app_package_name tool:
dart run change_app_package_name:main com.yourcompany.yourappTo change the app's Display Name, update the label in AndroidManifest.xml (Android) and CFBundleDisplayName in Info.plist (iOS). Full instructions are in the Rename Package Guide.
3. Push Notifications
How do I get the correct google-services.json and GoogleService-Info.plist?
Use the FlutterFire CLI to automate this process:
flutterfire configureThis will download the required files to the correct folders. See the Push Notifications Guide.
Where should I put the FCM service-account.json in the Laravel backend?
Place it at backend/storage/app/firebase-auth.json. The filename must match the one called in NotificationSenderService.php.
Why don't push notifications appear when the app is in the background/terminated?
Ensure you have called FirebaseMessaging.onBackgroundMessage in your main() function and added the required permissions in AndroidManifest.xml and AppDelegate.swift.
4. Backend & Admin Panel
How do I add a new column to the user profile and display it in Filament Admin?
- Run
php artisan make:migrationfor the users table. - Add the field to
$fillablein theUsermodel. - Add the form/table component in
app/Filament/Resources/UserResource.php.
How do I setup an email sender (SMTP/Mailgun/SES)?
Update the environment variables in backend/.env (MAIL_* fields). This is required for the Forgot Password feature to function.
How does 'Privacy Settings' synchronization from Mobile to Database work?
The app sends Map data to the API. Laravel handles the request and saves it to the settings JSON column in the users table.
5. Deployment & Production
How do I build the app for Production?
- Android:
flutter build apk --releaseorflutter build appbundle. - iOS:
flutter build ios --releasethen archive in Xcode.
Is the draft Privacy Policy provided sufficient for the Play Store?
The Privacy Policy provided is a baseline. Ensure you replace placeholders with real information about your business and data privacy practices.
How do I use the Docker setup for deployment?
Use the Dockerfile and docker-compose.yml files available in the backend folder. Follow the Docker Ready guide.
6. Multi-Language (i18n)
How do I add a new language to the mobile app?
Add a new .arb file in the lib/l10n/ folder (e.g., app_id.arb), then run flutter gen-l10n.
Are mobile translations automatically synced with the backend?
No. You must ensure that keys or messages sent from the backend align with the localizations on the frontend if you want full multi-language support.
7. General Troubleshooting
Why doesn't my landing page appear in the documentation sidebar?
Check the meta.json file in the corresponding directory and ensure the .mdx file slug is registered there.
How do I fix 401/Unauthorized errors after logging in?
Check if the Sanctum token is being sent in the request header. If using dio, ensure the auth interceptor is correctly configured.