Case study · 02 · On-demand · Saudi Arabia
Professional ProjectMegathy — multi-vendor grocery & food delivery ops
Production project — source code private. Laravel APIs power companion iOS and Android apps; the mobile clients are not claimed as React Native work.
01 Overview
Megathy needed one operations core for grocery stores and restaurants in Eastern Saudi Arabia — not a pair of disconnected apps. Customers browse catalogues, book delivery slots, pay by cash or card, track drivers, redeem rewards and chat with support. Ops staff assign collectors and drivers behind the scenes, while companion iOS and Android apps stay in sync with the same backend.
02 Project Context
The local codebase is a Laravel 6 backend with Vue/jQuery/Bootstrap admin and storefront surfaces, JSON APIs for mobile clients, Payfort payments, FCM/Pushwoosh push and Twilio verification.
03 My Role
As full-stack developer I owned end-to-end delivery across backend, admin tooling and client APIs used by the production apps.
- Built Laravel APIs and admin for catalogue, carts, orders, schedule sessions, rewards and chat.
- Shipped a multi-store grocery model (cities, areas, stores, categories, products, favourites, coupons) plus restaurant / food ordering with add-ons and open hours.
- Implemented ops roles: collector picking, dispatcher assignment of collectors/drivers, driver location updates and status changes.
- Integrated Payfort card flows, dual/cash payment handling, reward history, OTP/SMS via Twilio and mobile push via FCM / Pushwoosh.
- Delivered admin reporting surfaces with Datatables, Excel exports, DomPDF invoices and Spatie roles/permissions.
04 Technical Challenges
Multi-store catalogue
Grocery stores and restaurants share one catalogue surface but not the same fulfilment rules. Stocked SKUs, categories and coupons sit beside restaurant add-ons, open hours and food-only carts. The Laravel core had to keep cities, areas, stores and restaurants consistent without splitting into two products.
Scheduled slots and Payfort checkout
Delivery sessions must book, expire and convert into live orders through cron/queue work, while checkout supports cash, card and dual payment plus rewards. Payfort transactions, coupons and reward history had to stay consistent when a scheduled slot became a collector assignment.
Live chat and multi-role ops
Customer, collector, dispatcher and driver flows all mutate the same order. Live chat, FCM/Pushwoosh and Twilio OTP had to stay attached to that lifecycle so support and field staff were looking at the same status as the customer app.
05 What I Built
Backend
A role-separated API surface on Laravel: customer endpoints for catalogue, slots, checkout, schedule orders, rewards and chat; collector and dispatcher endpoints for pick/assign; driver endpoints for location and delivery status; admin web for day-to-day operations.
Payments
Payfort card flows, dual/cash payment handling and reward history stay consistent when a scheduled slot becomes a collector assignment.
Background Jobs
Delivery sessions book, expire and convert into live orders through cron/queue work.
Performance
Admin reporting uses server-side DataTables with Excel exports and DomPDF invoices rather than loading full tables in the browser.
Order lifecycle
Verified flow from codebase APIs: browse → book session → place/schedule order → collector/dispatcher → driver location & status.
Capability map
06 Architecture
SVG companion diagram for the architecture mockup above.
07 Integrations & Infrastructure
Payfort handles card checkout; FCM and Pushwoosh push order and driver updates; Twilio covers OTP/SMS; Spatie roles/permissions gate admin ops. Companion iOS and Android apps consume the same JSON APIs.
08 Results / Impact
Delivered a production multi-vendor delivery stack with 5 role-specific workflows (customer, collector, driver, dispatcher, admin) spanning catalogue, scheduling, payments, loyalty, chat and operations APIs — plus companion iOS and Android apps for Eastern Saudi Arabia.
Impact: one Laravel core powers live grocery and restaurant orders across multiple vendor stores, with scheduled slots, Payfort checkout, and realtime driver/ops coordination.
- One Laravel core powering live grocery and restaurant ordering across multiple vendor stores.
- Companion iOS and Android apps published for Eastern Saudi Arabia (App Store listing + Android distribution).
- Role-separated APIs covering customer, collector, dispatcher, driver and admin flows.
09 Screenshots
Illustrative 4:3 mockups of the ops surfaces verified in the codebase — catalogue, scheduling/payments, order-flow chart and system architecture.
10 Technology
- Backend / admin: Laravel 6, MySQL, JSON APIs, Vue.js, jQuery, Bootstrap, Laravel Mix, Spatie permissions, Swagger
- Integrations: Payfort, FCM, Pushwoosh, Twilio, DomPDF, Maatwebsite Excel, Datatables
- Domain: multi-store grocery, restaurants, schedule sessions, collectors, dispatchers, drivers, rewards, live chat
- Clients: production web storefront plus iOS/Android companion apps
11 Links
Production project — source code private.
Need Laravel + mobile/API development?
Discuss a similar project