What problem does it solve?
Building a robust food ordering experience requires coordinating listings, complex menu option selection, a global cart with persistence, checkout flows, real-time order tracking, and order lifecycle management; this Skill consolidates architecture and implementation guidance so teams can implement that feature consistently and reliably.
Core Features & Use Cases
- Global Cart & Persistence: Singleton CartCubit provided at app root with Hive-backed persistence to survive restarts and handle restaurant conflicts.
- Domain-Driven Use Cases: Clear use cases for listing restaurants, retrieving menus, placing orders, cancelling, reordering, and fetching order history.
- Presentation & Real-time Flow: Cubits/BLoCs and pages for restaurant lists, menu grouping, cart, checkout, and food tracking with shipper location updates.
- Developer Guidance: Models, data sources (remote/local), repository implementations, and widget/cubit scaffolding are specified for deterministic implementation and testing.
Quick Start
Implement the Food feature by following the SKILL.md guidance to scaffold entities, use cases, data sources, a singleton CartCubit with Hive persistence, presentation cubits/blocs and pages, then run the Flutter app to verify the end-to-end ordering and tracking flow.