Skip to main content

DPM Delivery Mobile Documentation

Build powerful delivery management experiences for riders with React Native, Expo Router, and real-time order tracking.

Quick start

Get your delivery rider app running in minutes

1

Clone and install dependencies

Start by cloning the repository and installing all required packages:
git clone https://github.com/Felix-Asante/dpm-delivery-mobile.git
cd dpm-delivery-mobile
npm install
2

Configure environment variables

Create a .env.local file in the project root with your API configuration:
EXPO_PUBLIC_API_BASE_URL=https://your-api.example.com
EXPO_PUBLIC_ENCRYPTION_KEY=your-encryption-key
EXPO_PUBLIC_WEB_CRYPTO_KEY=your-web-crypto-key
All three environment variables are required. Missing variables will throw runtime errors.
3

Start the development server

Launch the Expo development server:
npm start
Then press:
  • i for iOS simulator
  • a for Android emulator
  • w for web browser
4

Sign in and test

The app opens to the sign-in screen. Use your backend credentials to authenticate and explore the rider dashboard, delivery lists, and payout requests.

Key features

Everything delivery riders need to manage their work

Phone Authentication

Secure sign-in with phone and password, with token storage using SecureStore on native and encrypted storage on web.

Real-time Dashboard

View wallet balance, total earnings, quick actions, and account stats at a glance.

Delivery Management

Browse and accept delivery requests with status filters (Assigned, In Transit, Delivered).

Shipment Tracking

Update shipment status with optional notes and photos, view routes and contact info.

Transaction History

Complete list of wallet transactions with pagination and filtering.

Payout Requests

Request payouts via mobile money or bank transfer with Paystack-style verification.

Explore by topic

Deep dive into specific areas of the app

Architecture

Learn how the app is structured with Expo Router, TanStack Query, and MMKV storage.

Development Setup

Set up your local environment with Node.js, Expo CLI, and platform-specific tools.

API Services

Explore authentication, shipments, payments, and user services with full API reference.

Styling System

Work with HeroUI Native, Uniwind, and Tailwind CSS for consistent design.

State Management

Understand data fetching, caching, and mutations with TanStack Query.

Deployment

Build and deploy your app to iOS, Android, and web platforms.

Tech stack

Built with modern, production-ready technologies

Framework & Language

  • • Expo ~54 + React Native 0.81
  • • TypeScript for type safety
  • • Expo Router for file-based routing

UI & Styling

  • • HeroUI Native component library
  • • Uniwind for Tailwind-style classes
  • • FlashList for optimized lists

Data & Forms

  • • TanStack Query for data fetching
  • • React Hook Form + Zod validation
  • • Axios for HTTP requests

Storage & Security

  • • MMKV for fast native storage
  • • SecureStore for sensitive tokens
  • • Web crypto for browser encryption

Ready to get started?

Follow our quickstart guide to have your delivery rider app running in less than 5 minutes.

Get Started Now