Fruitopia

Fruitopia is a two-sided farm-to-table marketplace built with Flutter — one app, two experiences. Customers browse fresh produce, add to cart and track their delivery; vendors get a seller dashboard to manage inventory, fulfil orders and read sales analytics.

It follows a clean, layered architecture (domain/data/presentation) with flutter_bloc for state, go_router for navigation and get_it for dependency injection, and swaps seamlessly from built-in mock data to a live Supabase backend. The app is fully bilingual (English/French) with a Material 3 design system.

For customers, Fruitopia is a focused storefront: a home feed of fresh picks, product pages with ratings, stock status and unit/quantity selection, a cart with a live order summary and delivery fee, and order tracking that moves from pending to confirmed to delivered. Everything is designed to make ordering produce feel as quick and trustworthy as buying it in person.

For vendors, the same app flips into a seller workspace. A dashboard surfaces daily revenue, order counts and stock levels; inventory screens let sellers create and update products; each incoming order shows the customer's delivery address; and dedicated views handle delivery-route planning, seasonal pre-orders, sales analytics and broadcast notifications back to customers — a complete two-sided marketplace inside one binary.

The codebase reflects production discipline: a clean domain / data / presentation split, flutter_bloc + get_it for state and dependency injection, go_router shells for the two navigation trees, and a mock-data layer that swaps to a live Supabase backend without touching UI code. It is fully localised in English and French with no hardcoded strings, on a Material 3 design system.

Key features:
  • Dual role-based app (customer + seller) with shell navigation
  • Product catalogue with detail pages, ratings & stock status
  • Cart with live order summary & delivery fee
  • Order tracking (pending / confirmed / delivered)
  • Seller dashboard with daily revenue, orders & stock metrics
  • Inventory management (create / edit stock)
  • Delivery route & pre-orders planning
  • Seller analytics (top products, hotspots)
  • Push & broadcast notifications
  • English / French localisation
  • Mock-data layer with a drop-in Supabase swap

Links: none — the app is not yet published.
If you need a demo access account, please contact me on my email contact@farhaan.info