Zipkart Zipkart Docs v1.0.0
Updates

Upgrade to a New Version

Take a new Zipkart release without losing your settings, data or own changes.

30–60 min

Your products, orders, settings and texts live in Firebase, so an upgrade never touches them. You only update the code, then redeploy the backend with the new setup tool.

Before you start

  • Zip your whole project folder as a backup.
  • Read the Changelog for the new version.
  • If you can, try the new version on a test Firebase project first.

Keep your own files#

Never overwrite these with the files from a new release:

File (in each app folder) Holds
lib/firebase_options.dart Your Firebase project
android/app/google-services.json, ios/Runner/GoogleService-Info.plist Firebase config for Android and iOS
android/local.properties, ios/Flutter/Secrets.xcconfig Your Google Maps key
android/key.properties and your .jks Android release signing
web/firebase-messaging-sw.js Your web push config
ios/Runner/Info.plist Your sign-in values and permission texts

Also keep your app icons, names and package names.

Update the code#

  1. Commit your current project to main in GitHub Desktop or Git.
  2. Create a branch named after the version, for example v1.1.0.
  3. Unzip the new release into a separate folder. Copy its admin/lib, store/lib, customer/lib, driver/lib, each pubspec.yaml and assets/, functions/ (without node_modules) and firebase_setup/ into your project.
  4. Put back your own files from the table above, and commit.
  5. Merge the branch into main. If there are conflicts, keep the right lines between <<<<<<< and >>>>>>>.

Use this only if you never changed the code. For each app, keep your lib/firebase_options.dart, replace the lib/ folder with the new one, put the file back, and copy the new pubspec.yaml and assets/. Then replace functions/ and firebase_setup/.

Redeploy and rebuild#

Run the new setup tool#

Start the new firebase_setup tool with a fresh service account key and keep the mode Only add documents that don't exist yet. It updates the rules, indexes and Cloud Functions, and adds any new starter settings without touching your data.

Refresh each app#

flutter clean
flutter pub get

On a Mac, also run pod install --repo-update in each ios/ folder.

Check new settings#

Open the admin panel and save any new settings pages the changelog mentions.

Rebuild and publish#

Build and test every app, then upload the new websites and submit the new app versions.

Backend first, then the apps

New app versions may need new Cloud Functions or rules. Always run the setup tool from the same release before you publish the new apps.