Current limitations
These gaps are real in the current product. Do not treat them as finished features.
Blocking for production
| Area | Reality |
|---|---|
| SMS sign-in | The one-time-code flow works, but in development the code is logged (and may be shown) instead of sent by SMS. |
| Online payments | Place-order accepts only cash on delivery and wallet. Card / KNET / Apple Pay are not wired. |
Config exists, runtime incomplete
- Payment method toggles in settings are not enforced at checkout (except the cash-on-delivery and wallet allow-list).
- A branch-level cash-on-delivery switch is not used; placement reads the global payment setting.
- Feature flags are a placeholder with no write UI.
Dashboard stubs
- Customer → Payments tab shows example rows, not live history.
- Customer → Communications tab is example SMS / WhatsApp / push history.
- Feature flags page is “coming soon”.
- Stories have no admin module (mobile mocks only).
Storefront polish
- Newsletter footer does not subscribe anyone.
- Footer payment badges (KNET, Tabby, and similar) are decorative.
- App download banner has no store links.
Mobile app
A Flutter client is expected, but it is not in this repository. Until a client is wired, use the developer docs as the contract.
Media
Uploads go to local disk. There is no CDN or cloud object storage yet.
Fulfillment clients
Picker and driver production mobile apps are not in this repo. Use the fulfillment demo and the staff fulfillment APIs to build them.