Requirements
The computer, software and accounts you need before you start. Install everything once and every later step goes smoothly.
Your computer#
| You want to build | You need |
|---|---|
| Android apps, the admin panel, the store panel and the customer website | Windows 10/11, macOS or Linux, 8 GB RAM (16 GB recommended), 20 GB free disk |
| iPhone apps | A Mac with a recent macOS and the latest Xcode. Apple allows iOS builds only on a Mac. |
No Mac?
You can do everything else on Windows or Linux and build the iPhone apps later, or on a borrowed or rented Mac. Nothing in the backend depends on it.
Software to install#
| Software | Version | What it is for | Get it |
|---|---|---|---|
| Flutter SDK | Latest stable (Dart 3.13 or newer) | Builds all four apps and the websites | flutter.dev |
| Android Studio | Latest | Android SDK, emulator and Java (JDK 17 is included) | developer.android.com |
| Xcode (Mac only) | Latest | iPhone builds, simulator and App Store upload | Mac App Store |
| CocoaPods (Mac only) | Latest | iOS libraries | sudo gem install cocoapods or brew install cocoapods |
| Node.js | 20 or newer, 22 LTS recommended | Runs the setup tool and the Firebase CLI | nodejs.org |
| Firebase CLI | Latest | Connects the apps to Firebase, hosting deploys | npm install -g firebase-tools |
| FlutterFire CLI | Latest | Writes each app's Firebase settings for you | dart pub global activate flutterfire_cli |
| Google Chrome | Latest | Runs the admin panel and websites while you test | google.com/chrome |
| VS Code or Android Studio | Latest | Code editor, with the Flutter and Dart plugins | code.visualstudio.com |
| Git / GitHub Desktop | Optional | Keeping your changes safe during upgrades | desktop.github.com |
Check your setup#
Open a new terminal and run:
flutter doctor
node -v
flutter doctor lists what is still missing. Install what it reports until Flutter, Android toolchain and Chrome show a green tick (and Xcode on a Mac). node -v must print v20 or higher.
Doctor summary (to see all details, run flutter doctor -v):
[✓] Flutter (Channel stable)
[✓] Android toolchain - develop for Android devices
[✓] Xcode - develop for iOS and macOS (Mac only)
[✓] Chrome - develop for the web
[✓] Android Studio
[✓] VS Code
[✓] Connected device
Android licences
If flutter doctor says the Android licences are not accepted, run flutter doctor --android-licenses and answer y to each question.
Accounts you need#
| Account | Cost | Needed for |
|---|---|---|
| Google account with a Firebase project on the Blaze plan | Pay as you go, with a free monthly amount | The whole backend: database, sign-in, storage, Cloud Functions, push |
| Google Play Console | One-time registration fee | Publishing the Android apps |
| Apple Developer Program | Yearly fee | iPhone builds on real devices, push notifications, the App Store |
| Payment gateway (Stripe, Razorpay, PayPal…) | Per-transaction fees | Online payments. Cash on delivery works without one. |
| Email (SMTP) service | Free tiers available | Order and account emails |
| Google Cloud billing (same as Firebase) | Free monthly amount per API | Only if you choose Google Maps instead of free OpenStreetMap |
| Domain + hosting | Varies | The admin panel, store panel and website. Firebase Hosting is free to start. |
See Third-Party Services & Costs for what each one costs and what is free.
What the apps run on#
| App | Runs on |
|---|---|
| Customer app, store app, delivery boy app | Android 7.0 (API 24) and newer, iPhone with iOS 15.0 and newer |
| Admin panel, store panel, customer website | Current Chrome, Edge, Safari and Firefox, on desktop and mobile |
Ready?
With the tools installed and flutter doctor green, continue with How the Backend Works.