Building & Running Flutter Apps
All Ridy client-side apps — including:
- Customer App (
apps/rider-frontend/) - Driver App (
apps/driver-frontend/) - Admin Panel (Flutter Web) (
apps/admin-panel/) - Partnership App (
apps/partnership-frontend/, if licensed)
— are built using Flutter with a shared clean architecture, the same localization system, theming engine, and backend integration patterns. As such, the following setup steps apply to all of them, and should be repeated individually for each app you intend to build and deploy.
🪪 Step 0: Update App Identifier
Before integrating Firebase or building the app, update your app's identifiers to ensure compatibility with Firebase and your white-label branding.
Android
Edit the applicationId in android/app/build.gradle.kts:
defaultConfig {
applicationId = "com.yourcompany.appname"
}Also update:
AndroidManifest.xml- Kotlin package path and
MainActivity.kt - Any hardcoded references in your Dart code or CI/CD config
iOS
Update the Bundle Identifier in Xcode:
- Open
ios/Runner.xcworkspace - Select the
Runnertarget - Go to General → Identity
- Change
Bundle Identifier(e.g.,com.yourcompany.driverapp)
🔧 Firebase Integration
Ridy uses Firebase for:
- Push notifications
- Device registration
- (Optional) analytics & crash reporting
Setup (Repeat for Each App)
Create a Firebase project
Add each Flutter app (Android and iOS targets) with matching identifiers
Run the FlutterFire CLI:
bashflutterfire configure
This will generate:
google-services.json→android/app/GoogleService-Info.plist→ios/Runner/
Do this for each app (e.g.,
taxi-driver-frontend,admin-panel) separately.
🔔 Push Notifications
Push notifications are delivered using Firebase Cloud Messaging (FCM).
Each app includes:
- Token registration logic
- Notification channel setup (Android)
- Background handling for status changes and promotions
Test notifications via Firebase Console during development.
🏗️ Building and Running Locally
Run a Flutter App Locally
cd apps/your-app-folder-name/
flutter pub get
flutter runBuild for Release
flutter build apk # Android APK
flutter build appbundle # Android AAB
flutter build ios # iOS archive (requires Xcode)Replace
your-app-folder-namewithrider-frontend,admin-panel, etc.
Ensure that:
- The backend URL in
.envpoints to your running server - Your Firebase files are correctly placed
- Required API keys (e.g., for maps) are available
🎨 Customization (Branding, Maps, Theming)
Each app can be fully white-labeled:
| Area | How to Customize |
|---|---|
| Branding | Update assets and names in pubspec.yaml and native files |
| Maps | Configure via .env and PlatformMapProviderSettings |
| Languages | Edit .arb files in libs/flutter_localizations/ (32 available) |
All apps use:
libs/flutter_localizations/for multi-language support
Refer to each app’s
README.mdor its pub.dev page (if published) for more detailed customization guidance.
Repeat these steps for each frontend app you plan to build or deploy.
