Flutter E-Commerce App Boilerplate
Catalog, cart, and payments scaffolding for a Flutter store app — built on BLoC, Firestore, and RevenueCat so you start at a working storefront instead of an empty main.dart.
The Flutter ecommerce app boilerplate from The Flutter Kit is a $69 one-time, production-ready Dart starter that ships catalog, cart, and payments scaffolding for a store app across iOS, Android, and Web from a single codebase. Product lists, detail screens, and a cart Cubit are wired with flutter_bloc and Firestore, while RevenueCat handles entitlement-based purchases for digital goods and unlocks. It is not a full physical-goods commerce platform with shipping, tax, and inventory engines — it is the app-layer scaffolding you'd otherwise spend weeks rebuilding.
What 'catalog, cart, and payments scaffolding' actually means here
A store app is three problems stacked on top of each other, and most Flutter starters only solve zero of them. The Flutter Kit gives you the app-layer scaffolding for all three. Catalog: a Firestore-backed product collection with list and detail screens, image loading through Cloud Storage, and category filtering — driven by a ProductRepository so you can later point it at Supabase, Shopify Storefront, or your own API without touching the UI. Cart: a CartCubit holds line items, quantities, and a running subtotal as ValueObjects, so add-to-cart, quantity changes, and clear-cart are pure state transitions you can unit-test. Payments: RevenueCat wires the checkout for digital entitlements — a premium tier, a credit pack, a 'pro storefront' unlock — with restore, trials, and receipt validation already handled. You are editing real screens on day one, not scaffolding them.
Who this fits — and who should look elsewhere
This page exists for a specific kind of store. It fits if your commerce is digital or entitlement-based, or if you're building an MVP catalog-and-checkout to validate demand before committing to a heavy commerce backend. It does NOT fit if you need a full physical-goods platform on day one.
- Great fit: digital products, content unlocks, credit packs, subscription storefronts, marketplace MVPs validating product-market fit
- Great fit: teams who want BLoC + Firebase scaffolding now and will swap in a custom catalog API later
- Reach for a real commerce backend instead: complex shipping zones, sales-tax calculation, multi-warehouse inventory, and returns — pair Flutter with Shopify, Medusa, or Stripe + a server
- Not the goal: this is app-layer scaffolding, not an order-management or fulfillment system
How the store screens are wired
Every store surface follows the same repository + Cubit pattern the rest of The Flutter Kit uses, so a developer who learns the auth flow already understands the cart. Dependency injection via get_it makes the ProductRepository and CartCubit injectable and mockable, which matters when you write the inevitable 'cart total is wrong' test.
- ProductRepository abstracts Firestore reads so the catalog source is swappable
- CartCubit emits CartState with items, subtotal, and item count for badge UI
- RevenueCat Offerings drive the checkout sheet; entitlements gate purchased content
- Material 3 design tokens retheme the whole store from one file — brand colors, cards, buttons
- go_router deep links route straight to a product detail screen for share/campaign links
- GA4 events (view_item, add_to_cart, purchase) are stubbed for analytics from launch
Why start here instead of from scratch or FlutterFlow
Building a store app from an empty Flutter project means hand-rolling state management, a cart model, Firebase wiring, RevenueCat integration, and analytics before you've shown a single product — realistically two to four weeks of plumbing. FlutterFlow gets you a visual catalog fast, but a real cart with testable state, custom checkout logic, and full source ownership is where visual builders get awkward and you end up exporting anyway. The Flutter Kit's bet is that the catalog/cart/payments scaffolding is commodity work you shouldn't pay for twice: $69 once, you own every line of Dart, and you spend your weeks on the part that's actually your business — your products, your pricing, your conversion.
The Flutter Kit vs. building the store from scratch
| Feature | The Flutter Kit | Build from scratch |
|---|---|---|
| Time to a working catalog + cart | Hours — screens & CartCubit included | 2–4 weeks of plumbing |
| Cart state management | flutter_bloc CartCubit, unit-testable | You design and test it |
| Payments wiring | RevenueCat entitlements pre-integrated | Manual StoreKit 2 / Play Billing |
| Catalog backend | Firestore via swappable ProductRepository | Wire Firebase or API yourself |
| iOS + Android + Web | One Dart codebase, all three | Configure each target yourself |
| Source ownership | Full source, unlimited stores | Yours — but you wrote it all |
| Cost | $69 one-time | Your engineering time |
Frequently Asked Questions
Does this Flutter ecommerce boilerplate handle physical-goods shipping and tax?
Can I use Stripe instead of RevenueCat for the store checkout?
How is the cart state actually structured?
Is the product catalog locked to Firestore?
Can one store app target iOS, Android, and Web?
Is this a marketplace boilerplate with multiple sellers?
Keep exploring
Start at a working storefront, not an empty main.dart
Get the catalog, cart, and RevenueCat payments scaffolding for your Flutter store app — $69 one-time, full source, unlimited projects, iOS/Android/Web from one Dart codebase.
Get The Flutter Kit — $69One-time purchase · Lifetime updates · Unlimited projects