BowlerPlate

FAQ

2/19/2026

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:

  1. Update the DB_CONNECTION, DB_HOST, DB_PORT, DB_DATABASE, DB_USERNAME, and DB_PASSWORD in your backend/.env.
  2. 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-outputs

CocoaPods 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 --seed

1. 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 the baseURL in the lib/constants/api_endpoints.dart file.

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.yourapp

To 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 configure

This 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?

  1. Run php artisan make:migration for the users table.
  2. Add the field to $fillable in the User model.
  3. 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 --release or flutter build appbundle.
  • iOS: flutter build ios --release then 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.


On this page

General Questions
What are the default admin credentials?
How do I change the backend database?
Why is code generation (build_runner) failing?
CocoaPods issues on macOS?
How do I reset everything?
1. Setup & Configuration
How do I connect my Flutter app to a local Laravel backend?
How do I switch the backend from Laravel to Supabase/Pocketbase?
How do I setup Google OAuth on Android and iOS?
2. Customization & Branding
How do I change the logo, splash screen, and app icon automatically?
How do I add a new color theme to the Design Tokens?
How do I change the Package Name (Bundle ID)?
3. Push Notifications
How do I get the correct google-services.json and GoogleService-Info.plist?
Where should I put the FCM service-account.json in the Laravel backend?
Why don't push notifications appear when the app is in the background/terminated?
4. Backend & Admin Panel
How do I add a new column to the user profile and display it in Filament Admin?
How do I setup an email sender (SMTP/Mailgun/SES)?
How does 'Privacy Settings' synchronization from Mobile to Database work?
5. Deployment & Production
How do I build the app for Production?
Is the draft Privacy Policy provided sufficient for the Play Store?
How do I use the Docker setup for deployment?
6. Multi-Language (i18n)
How do I add a new language to the mobile app?
Are mobile translations automatically synced with the backend?
7. General Troubleshooting
Why doesn't my landing page appear in the documentation sidebar?
How do I fix 401/Unauthorized errors after logging in?
Helpful Links