The mobile app depended on a large external API surface without backend ownership in the repository.
Kept API access isolated in infrastructure repositories for auth, shops, products, carts, orders, addresses, payments, settings, and notifications.
Food Ordering Marketplace
GrubHouse connects customers with restaurants and shops through discovery, product catalogs, saved addresses, carts, checkout, order history, and delivery or pickup flows.
Stack depth
11+
tools and integrations
Product scope
Email, phone/OTP, Google, Apple, and Facebook authentication support. Home feed with banners, shop listings, categories, product listing, and product details.
Stack
Features
Architecture
Followed a layered Flutter structure with presentation, application, domain, and infrastructure layers.
Used repository-driven API integration against `https://api.grubhouse.co.uk`.
Managed feature state with Riverpod providers/notifiers and generated immutable state classes.
Used Codemagic configuration for iOS TestFlight publishing workflows.
Problem solving
Kept API access isolated in infrastructure repositories for auth, shops, products, carts, orders, addresses, payments, settings, and notifications.
Built mobile-first UI flows for discovery, product details, cart persistence, checkout, address selection, and order history.
Screenshots / video
Media shown here comes from the project source folders in this workspace.