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.

4
User Roles
200+
Restaurants Imported
5
Integrations
Live
Real-time Tracking

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.

👤 Customer view

Browse nearby stores, build customized item bundles, choose delivery address, track orders live, and view order histories.

🚗 Driver Portal

Accept nearby delivery runs, follow live route directions on map, change delivery step statuses, and track earnings metrics.

🏪 Shop Interface

Receive instant order alerts, update item menus and prices, prepare items, and view detailed restaurant sales analytics.

⚙️ Admin Dashboard

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.

Laravel

Core backend framework managing routes, auth database, and application controller files.

MySQL

Persistent database storage caching transactions, user entries, menus, and tracking tables.

Pusher

Websocket connection hub broadcasting client updates and merchant kitchen orders live.

Google Maps API

Calculates active driver routes and maps client home delivery coordinates.

Uber Driver API

Third party driver routing interface scheduled automatically upon kitchen pickup milestones.

PayPal & Stripe

Processes online payment cards and processes customer checks securely.

Bootstrap & JS

Responsive user layouts adapting portal dashboards across mobile views.

Nginx / Linux

Infrastructure server configurations hosting the monolith and files cleanly.

Got a project in mind?

Tell me about your project, and I’ll get back to you as soon as possible.