Skip to content
All projects
Client project Delivery & commerce

DevOra E-commerce Suite

One codebase, many brands

One white-label Flutter codebase shipped as Aleefie, Deno Store, StarMart and Irtaah, plus a store-owner admin app.

Country
Iraq
Type
Client project
Timeline
2025
Platforms
Android · iOS
DevOra E-commerce Suite
live brands from one codebase
4
app builds from the same core
10

Overview

DevOra sells ready-made, branded mobile stores to merchants, mainly in Iraq. Instead of building every store from scratch, Mahmoud built one Flutter customer app and one admin app that are re-branded per client and shipped to Google Play and the App Store as independent apps.

Name, logo, colours, copy, package ID, Firebase project and feature flags all change per brand. The same core runs a pet shop, a toy store, a fashion brand and a home-services company, while store owners run their storefront from the admin app on their phone.

Aleefie reached the App Store in October 2025.

The challenge

  1. 01

    Many clients, a small team: every merchant wanted their own app in weeks, and a codebase per store would multiply bugs and maintenance

  2. 02

    Different verticals, same plumbing: pets, toys, fashion and home services all need catalog, cart, checkout, orders, coupons, notifications and an owner dashboard

  3. 03

    Store owners are not technical and manage products, orders, banners, coupons and shipping fees from their phone

  4. 04

    Arabic-first UX: RTL layouts, Arabic copy, Iraqi phone numbers and IQD prices across every brand

Highlights

Customer app

  • Home with promo banners, categories, sub-categories, and new and featured product rails
  • Favourites and a guest cart stored locally in Hive that survives until sign-in
  • Checkout with coupons, shipping fees by area and order history
  • Phone OTP, email, Google and Facebook sign-in, plus biometric unlock
  • FCM push, an in-app notifications centre, Arabic and English, light and dark

Store-owner admin

  • Dashboard with charts built on fl_chart and Syncfusion
  • Orders board with status chips, date filters, bulk selection and status updates
  • PDF export of orders and customer lists straight from the phone
  • Products, categories, banners, coupons, shipping zones, reviews moderation, customer chat and a QR scanner
  • Permission-based access so staff only see what their role allows

White-label tooling

  • A single AppConstants file plus brand assets define each store
  • A documented 9-step rebrand checklist: name, icon, package ID, Firebase project, colours, fonts, copy and signing keys
  • Server-driven banners, categories, products, coupons and shipping, so owners change the storefront without a release

Signature feature

One codebase, many brands

  • Every store runs the same Flutter code; only configuration changes.
  • Brand config: AppConstants holds the app name, logo, colours, onboarding content, allowed phone-auth countries and content flags.
  • Brand assets and identity: icons, splash, onboarding images and translations are swapped per brand, change_app_package_name sets the package ID, and each brand gets its own Firebase project.
  • Server-driven content lets the store owner control the storefront from the admin app. A new brand is a configuration task, and a fix in the core ships to every store.

Swipe for more

Engineering notes

  1. 01

    Brand isolation without forks

    All brand-specific values live in one constants file and the assets folder; the rest of the code reads from them. A checklist at the top of the file turns a new brand into a repeatable routine.

  2. 02

    Guest-first shopping

    Shoppers browse, favourite and fill a cart before signing up. After sign-in, the Hive cart is pushed to the server once per session and only accepted items are removed locally, so nothing is lost on a weak connection.

  3. 03

    Live storefront updates

    A Socket.IO connection joins a users room. When the owner changes something in the admin app, a general event tells the customer app to refresh, with no polling.

  4. 04

    Role- and permission-based admin

    Login stores the user's role and permissions, and admin screens check hasPerm(...), so one admin build serves owners and staff with different rights.

  5. 05

    Production monitoring per brand

    Crashlytics, Performance and Analytics start at launch, Remote Config drives runtime switches, and App Check protects the Firebase backend for every brand.

Results

  • 4 brands live on Google Play from one codebase: Aleefie, Deno Store, StarMart and Irtaah
  • Aleefie also live on the App Store in the Shopping category, released October 2025
  • 10 app builds (customer and admin) maintained from the same core, including the Pets, Grocery, OCA View and Al-Wathiq storefronts

Stack

  • Flutter
  • Bloc / Cubit
  • Dio
  • Socket.IO
  • Hive
  • FCM
  • Crashlytics
  • Remote Config
  • App Check
  • Google Maps
  • easy_localization
  • fl_chart
  • pdf + printing
  • local_auth