Case Study
Food Delivery Platform
A complete food delivery system built from scratch. Customers order food, drivers deliver it, restaurants manage their orders, and admins control everything all through one Laravel backend.
Overview
What is this?
In plain English
Think Uber Eats built from scratch for a specific business. Customers browse restaurants and order food. Drivers get assigned and tracked on a live map. Restaurants manage incoming orders through their own panel. Admins control everything from one place. It all runs on a single Laravel backend I designed and built.
The business needed a white-label delivery platform supporting both multi-vendor (multiple restaurants) and single-store setups, including food and automotive parts. Before this system existed, order coordination was fragmented no unified admin, no live driver tracking, and no structured flow between restaurant, driver, and customer.
Order Flow
From browsing to doorstep
Every step is handled automatically, removing the need for manual check-ins.
Step 1: Customer Browses & Orders
The customer selects their delivery region, views menus, updates product choices, and submits payment via card or PayPal.
Step 2: Restaurant Confirms
The store operator receives an instant popup alert via Pusher. They confirm and begin preparation right away.
Step 3: Dispatch & Pickup
The system notifies nearest drivers on the proprietary app, or immediately calls the Uber Driver API to schedule third-party collection.
Step 4: Delivery & Settlement
The driver delivers the package, closing the ticket. System logs calculations for restaurant pay outs and driver commissions.
Interface Components
Four Panels. One Backend.
Separate portals optimized for each user segment ensure maximum usability and privacy.
Browse nearby stores, build customized item bundles, choose delivery address, track orders live, and view order histories.
Accept nearby delivery runs, follow live route directions on map, change delivery step statuses, and track earnings metrics.
Receive instant order alerts, update item menus and prices, prepare items, and view detailed restaurant sales analytics.
Configure regional boundaries, onboard new shops and drivers, customize front-facing site copy, and inspect global analytics logs.
Key Engineering Challenge
200+ restaurants. Zero manual entry.
The client needed to populate the platform with real restaurant data — menus, categories, timings, product variations from UberEats. There was no API, no export, and manual data entry for 200+ restaurants was not an option.
The Problem
Restaurant data locked inside a competitor platform
UberEats renders content dynamically, uses anti-bot protection, and has inconsistent page structures between restaurant types. Scraping it isn't straightforward you can't just call a URL and parse HTML. Pop-ups, lazy loading, and rate limits break naive approaches immediately.
What I Built
Automated extraction with real-user simulation
Built a custom script that simulates real browsing to extract restaurant names, menus, categories, timings and product data. It handles pop-ups, layout differences between restaurant types, and rate limits without breaking the workflow.
- ✓ 200+ restaurants processed successfully
- ✓ Stable, reusable logic for future imports
- ✓ UberEats-style customisation replicated inside the platform
Technology
What it runs on
A robust selection of modern libraries and APIs that keep transactions fast and pages responsive.
Core backend framework managing routes, auth database, and application controller files.
Persistent database storage caching transactions, user entries, menus, and tracking tables.
Websocket connection hub broadcasting client updates and merchant kitchen orders live.
Calculates active driver routes and maps client home delivery coordinates.
Third party driver routing interface scheduled automatically upon kitchen pickup milestones.
Processes online payment cards and processes customer checks securely.
Responsive user layouts adapting portal dashboards across mobile views.
Infrastructure server configurations hosting the monolith and files cleanly.
Interface Walkthrough
Platform Screenshots
Click any screenshot to open a full-size lightbox. Use arrows or keyboard to browse.
Got a project in mind?
Tell me about your project, and I’ll get back to you as soon as possible.