Mobile App Delivered ✓

Bagour Delivery

Local delivery app connecting customers with nearby stores

Project Overview

A hyperlocal delivery application built specifically for the Bagour area. The project comprises three integrated products: a customer-facing Flutter app for browsing stores and placing orders, a Next.js store management panel for merchants to manage menus and incoming orders, and a driver Flutter app for accepting, navigating, and confirming deliveries — all tied together with real-time order tracking via WebSocket.

The Problem

No Local Delivery Solution

The Bagour area lacked a dedicated digital delivery platform. Customers had to call individual shops, merchants had no online presence, and local delivery riders had no structured system to manage orders and routes — resulting in inefficiency, missed orders, and poor customer experience.

The Solution

Three-Sided Delivery Marketplace

Built a complete three-sided marketplace connecting customers, stores, and delivery drivers. Each side has a dedicated, purpose-built interface. Real-time WebSocket updates keep all three parties in sync throughout the order lifecycle — from placement to delivery confirmation.

Key Features

01
Customer App — Browse, Order & Track
Flutter app for browsing nearby stores, adding items to cart, placing orders, and tracking delivery progress in real time.
02
Store Panel — Menu, Orders & Availability
Next.js web panel for store owners to manage product listings, set availability, accept or reject incoming orders, and view earnings.
03
Driver App — Accept, Navigate & Confirm
Dedicated Flutter app for delivery drivers to receive order notifications, navigate to pickup and drop-off points, and confirm deliveries.
04
Real-Time Order Tracking
WebSocket connection streams driver location and order status updates live to the customer app throughout the delivery journey.
05
Multiple Payment Options
Supports cash-on-delivery and online payment methods, giving customers flexibility at checkout.
06
Order History & Reorder
Customers can view their full order history and reorder favourite items with a single tap for a seamless repeat experience.
07
Push Notifications
Real-time push alerts for order confirmations, driver assignment, pickup, and delivery arrival sent to customer and driver apps.
08
Rating System
Post-delivery rating for both the store and the driver, enabling quality control and surfacing top-performing merchants and riders.

Tech Stack

Node.js
Backend API
REST API serving all three clients — customer app, driver app, and store panel — with shared business logic for orders and routing.
Flutter (2 apps)
Mobile — iOS & Android
Cross-platform customer and driver apps with native performance, map integration, and real-time UI updates from a single Dart codebase each.
Next.js
Store Management Panel
Web-based store panel accessible from desktop and mobile browsers, with server-side rendering for fast initial load and SEO.
MongoDB
Database
Flexible document model for storing orders, store catalogs, driver profiles, and delivery events without rigid schema constraints.
WebSocket
Real-Time Layer
Persistent bidirectional connection between server and all three clients enables live order status updates and driver location streaming.

Architecture

A single Node.js REST API serves all three clients. Orders flow through the system in distinct states: placed by the customer app, confirmed by the store panel, assigned to a driver, picked up, and delivered. State transitions trigger WebSocket broadcasts to all relevant parties keeping the customer, store, and driver in real time sync.

MongoDB stores all application data — products, stores, users, orders, and delivery events — in a flexible document model suited to the varied shape of data across the three client types. Push notifications are dispatched server-side on key order lifecycle events. The Next.js store panel consumes the same REST API as the Flutter apps, ensuring a single source of truth for all business data.

[Customer Flutter App] [Driver Flutter App] \ / \ REST + WS / [Node.js API Backend] | [MongoDB] | [Next.js Store Panel] ← REST API | WebSocket broadcast layer ├── Customer: order status ├── Driver: new order / route └── Store: order confirmed / ready

Need a Delivery or Marketplace App?

I build multi-sided marketplace platforms and delivery applications with real-time tracking for local businesses and startups. Let's discuss your idea.