/**
- DEPLOYMENT_CHECKLIST.md
- Complete checklist for deploying RideCare to production */
- All TypeScript strict mode enabled
- ESLint rules passing (no warnings)
- Prettier formatting applied
- No console.log statements in production code
- Remove commented-out code
- Code review completed
- Unit tests passing (Jest) — Target: >80% coverage
- MaintenanceEngine.test.ts
- LocationService.test.ts
- BLEService.test.ts
- SyncService.test.ts
- Integration tests passing (Detox)
- Onboarding flow
- Trip recording end-to-end
- Maintenance logging
- Manual testing on physical devices
- iOS: iPhone 13+ (iOS 15+)
- Android: Pixel 6+ (Android 11+)
- BLE testing with real bikes (TVS, Royal Enfield)
- Background location testing (8+ hour trips)
- Offline mode testing (airplane mode)
- App size < 50 MB (optimized assets)
- Cold start time < 3 seconds
- Trip recording battery drain < 10% per 8 hours
- GPS accuracy ±5% over 100 km
- Memory leaks tested (Xcode Instruments, Android Profiler)
- Network calls optimized (batch sync)
- Firebase Security Rules audited
- API keys in environment variables (not hardcoded)
- SSL pinning implemented (if custom API)
- Encryption for local receipts (AES-256)
- ProGuard/R8 obfuscation enabled (Android)
- Jailbreak/root detection (optional)
- Bundle ID:
com.ridecare.app - Version:
1.0.0(CFBundleShortVersionString) - Build number:
1(CFBundleVersion) - Deployment target: iOS 13.0
- Signing: Distribution certificate + provisioning profile
- Capabilities enabled:
- Background Modes → Location updates
- Push Notifications
- Bluetooth LE
- Info.plist keys:
-
NSLocationAlwaysUsageDescription -
NSLocationWhenInUseUsageDescription -
NSBluetoothAlwaysUsageDescription -
NSPhotoLibraryUsageDescription(receipts)
-
- App Icon: 1024x1024 (App Store), all sizes generated
- App created in App Store Connect
- Screenshots uploaded (6.5", 5.5", 12.9" iPad)
- App description, keywords, subtitle finalized
- Privacy Policy URL:
https://ridecare.app/privacy - Support URL:
https://ridecare.app/support - Age rating: 4+
- Pricing: Free (with IAP)
- In-App Purchase created: RideCare Pro ($2.99/month)
- TestFlight beta testing completed (20+ testers, 2 weeks)
- App Review Information:
- Demo account credentials
- Review notes (BLE pairing instructions)
- Export compliance: No encryption (or declare Firebase)
cd mobile/ios
pod install
cd ..
# Archive build
xcodebuild -workspace ios/RideCare.xcworkspace \
-scheme RideCare \
-configuration Release \
-archivePath build/RideCare.xcarchive \
archive
# Upload to App Store Connect
xcodebuild -exportArchive \
-archivePath build/RideCare.xcarchive \
-exportPath build \
-exportOptionsPlist ExportOptions.plist
# OR use Fastlane
fastlane ios release- Submit for review
- Wait 24-48 hours for review
- Monitor App Store Connect for status
- Respond to App Review team if needed
- Application ID:
com.ridecare.app - Version name:
1.0.0 - Version code:
1 - Min SDK: 29 (Android 10)
- Target SDK: 34 (Android 14)
- Signing: Release keystore generated
keytool -genkeypair -v -storetype PKCS12 \ -keystore ridecare-release.keystore \ -alias ridecare -keyalg RSA \ -keysize 2048 -validity 10000
-
build.gradle(app):-
minifyEnabled true(ProGuard) -
shrinkResources true - Signing config added
-
- Permissions in
AndroidManifest.xml:-
ACCESS_FINE_LOCATION -
ACCESS_BACKGROUND_LOCATION(Android 10+) -
BLUETOOTH_SCAN,BLUETOOTH_CONNECT(Android 12+) -
FOREGROUND_SERVICE -
POST_NOTIFICATIONS(Android 13+)
-
-
google-services.jsonadded (Firebase)
- App created in Google Play Console
- Store listing:
- App name: RideCare - Bike Maintenance Tracker
- Short description (80 chars)
- Full description (4000 chars)
- Screenshots: Phone (4), 7" Tablet (4), 10" Tablet (4)
- Feature graphic: 1024x500
- App icon: 512x512
- Content rating questionnaire completed
- Pricing: Free (with IAP)
- In-app products: RideCare Pro (₹249/month)
- Privacy Policy URL:
https://ridecare.app/privacy - Data safety section filled
- Location data: Collected, not shared
- Personal info: Email (account creation)
cd mobile/android
# Generate release AAB
./gradlew bundleRelease
# Sign AAB (if not auto-signed)
jarsigner -verbose -sigalg SHA256withRSA \
-digestalg SHA-256 \
-keystore ridecare-release.keystore \
app/build/outputs/bundle/release/app-release.aab \
ridecare
# OR use Fastlane
fastlane android release- Upload AAB to internal testing track
- Test with internal testers (5+ users, 1 week)
- Promote to closed testing (alpha/beta) — 50+ users, 2 weeks
- Submit for production review
- Staged rollout: 10% → 25% → 50% → 100% over 7 days
- Monitor crash reports (Firebase Crashlytics)
- Firebase Analytics configured
- Key events tracked:
-
app_open -
trip_start,trip_complete -
maintenance_logged -
ble_pairing_success -
subscription_purchased
-
- Firebase Crashlytics enabled
- Set up alerts for crash rate > 1%
- App Store / Play Console reviews monitored
- Landing page live:
https://ridecare.app - Blog post announcing launch
- Social media posts (Twitter, Instagram, LinkedIn)
- Product Hunt submission (if applicable)
- Reddit posts in r/motorcycles, r/IndianBikes
- Outreach to YouTube reviewers (Powerdrift, BikeWale)
- Press release (if budget allows)
- Support email:
support@ridecare.appmonitored - Help center / FAQ page created
- In-app chat support (optional: Intercom, Zendesk)
- Community Discord/Telegram (optional)
- Terms of Service published
- Privacy Policy published
- GDPR compliance verified (EU users)
- CCPA compliance verified (California users)
- Cookie consent banner (if web app)
- Data processing agreement with Firebase/Google
- Firebase project backed up (Firestore export)
- Code repository backed up (GitHub)
- Keystore backed up securely (encrypted, offline)
- Rollback plan documented (revert to v0.9.x)
- Monitor crash-free rate (target: >99%)
- Check average session duration (target: >5 min)
- Verify GPS accuracy reports from users
- Respond to App Store/Play Store reviews
- Fix critical bugs (P0/P1) within 24 hours
- Analyze onboarding completion rate (target: >60%)
- Analyze subscription conversion rate (target: >2%)
- Gather user feedback via in-app survey
- Plan v1.1 features based on feedback
- Publish blog post: "What We Learned in Week 1"
- Downloads: 5,000+ (iOS + Android combined)
- Active Users (DAU): 1,000+
- Paid Subscribers: 100+ (2% conversion)
- Crash-Free Rate: >99.5%
- App Store Rating: >4.5 stars
- Play Store Rating: >4.5 stars
- Retention (Day 7): >40%
- Trip Accuracy: ±5% over 100 km (GPS)
- Battery Drain: <10% per 8 hours
- Feature: Multi-bike support
- Feature: Predictive maintenance (AI/ML)
- Feature: Car support (OBD-II)
- Localization: Hindi, Marathi, Tamil
- Integration: Popular service centers (Urbanclap, etc.)
- Widget: iOS home screen widget (odometer)
Deployment Lead: [Your Name]
Last Updated: January 2026
Status: 🟢 Ready for Production