Skip to content

saisudheer-18/react-native-delivery-tracker

Folders and files

NameName
Last commit message
Last commit date

Latest commit

Β 

History

9 Commits
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 
Β 

Repository files navigation

πŸš€ TrackFlow – Delivery Tracking App

A React Native application that simulates a real-time delivery tracking system with two roles:

  • 🚚 Delivery Driver
  • 🏒 Operations Dashboard

Built using Expo, React Navigation, and Context API, with mock data and simulated live tracking.


πŸ“±Demo & Installation

πŸ”— Live Build (Android APK)

πŸ‘‰ https://expo.dev/accounts/saisudheer09/projects/trackflow/builds/28ac7531-99b0-4c65-bfe1-4092c6d8b6df

πŸ“¦ How to Install

Open the link on your Android device

Download the APK

Enable installation from unknown sources:

Android 8+: Settings β†’ Apps β†’ Browser β†’ Allow "Install unknown apps"

Older versions: Settings β†’ Security β†’ Enable "Unknown sources"

Install and launch the app πŸŽ‰

🎯 Objective

To build a mini delivery system that demonstrates:

  • Order lifecycle management
  • Real-time tracking simulation
  • Role-based application flow
  • Clean UI with structured architecture

πŸ† What We Achieved

This project successfully implements:

βœ… Functional Achievements

  • Complete order lifecycle flow
  • Real-time location tracking simulation
  • Proper start/stop tracking logic
  • Accurate timeline updates
  • Role-based navigation (Driver & Operations)

πŸ› οΈ Technical Implementation

This project was developed using the following technologies and concepts:

πŸ“± React Native (Expo)

Used Expo to build and run the application across both Android and Web platforms efficiently without complex native setup.

🧭 React Navigation

Implemented stack-based navigation to manage screen transitions between Login, Driver Dashboard, Operations Dashboard, and Order Details.

βš›οΈ Functional Components

All components are built using modern functional components for better readability and maintainability.

πŸ”„ useState

Used for managing local state such as:

  • Form inputs (login)
  • UI updates
  • Temporary component states

βš™οΈ useEffect

Used for handling side effects such as:

  • Initial data loading
  • Triggering tracking logic
  • Running interval-based location updates

πŸ“‹ FlatList

Used to efficiently render lists such as:

  • Orders list (Driver & Operations)
  • Timeline updates

FlatList ensures better performance compared to traditional loops.

🧠 Technical Achievements

  • Centralized state using Context API

  • Separation of concerns:

    • UI β†’ components/screens
    • Logic β†’ services
    • Data β†’ context
  • Scalable and maintainable architecture

  • Clean and reusable components


🎨 UI/UX Achievements

  • Status-based color system
  • Clean card-based layout
  • Timeline visualization
  • Live tracking indicator
  • Responsive design (Web + Android)

πŸ” Login Credentials

Role Email Password
Driver driver@test.com 123456
Operations ops@test.com 123456

πŸ” Application Flow

🚚 Driver Flow

  1. Login as Driver
  2. View open orders
  3. Accept order
  4. Update order status:
Accepted β†’ Picked Up β†’ In Transit β†’ Delivered
  1. After Picked Up:

    • πŸš€ Tracking starts
    • πŸ“ Location updates every 5 seconds
  2. After Delivered:

    • πŸ›‘ Tracking stops
    • πŸ“ Last location is saved

🏒 Operations Flow

  1. Login as Operations

  2. View all orders

  3. Monitor:

    • Status updates
    • Driver location
    • Timeline

πŸ‘‰ Operations acts as a monitoring dashboard


πŸ“ Location Tracking Logic

Tracking is simulated using:

const mockRoute = [
  { latitude: 17.385044, longitude: 78.486671 },
  { latitude: 17.395044, longitude: 78.496671 },
  { latitude: 17.405044, longitude: 78.506671 },
  { latitude: 17.415044, longitude: 78.516671 }
];

Behavior:

  • Starts after Picked Up
  • Updates every 5 seconds
  • Stops after Delivered
  • Final location remains visible

🧠 Architecture Overview

State Management

Managed using:

OrderContext.js

Handles:

  • Orders state
  • Status updates
  • Location updates
  • Tracking control

Business Logic

Located in:

services/
  • orderService.js β†’ order updates
  • trackingService.js β†’ tracking logic

πŸ“‚ Folder Structure

src/
β”‚
β”œβ”€β”€ components/        # Reusable UI components
β”œβ”€β”€ context/           # Global state management
β”œβ”€β”€ navigation/        # Navigation setup
β”œβ”€β”€ screens/           # App screens
β”œβ”€β”€ services/          # Business logic
β”œβ”€β”€ styles/            # Styling
└── utils/             # Mock data

βš™οΈ Setup Instructions

1. Install dependencies

npm install

2. Run Web

npm run web

3. Run Android

npm run android

Requires emulator or Expo Go


πŸ“Έ Screenshots

🌐 Web

πŸ” Login

image

🏒 Operations Dashboard

image image image image image image image

πŸ“± Android

image image image image image image image

πŸŽ₯ Demo Video

https://drive.google.com/file/d/17hCIMyG3gIHDhN3-1rQN6ANT5xkzasvY/view?usp=sharing


---

## ✨ Key Features

* Role-based login system
* Order lifecycle management
* Real-time tracking simulation
* Timeline tracking
* Cross-platform support
* Clean UI and navigation

---

## ⚠️ Notes

* Uses mock data only
* Tracking is simulated (not real GPS)
* Designed for technical evaluation

---

## πŸ‘¨β€πŸ’» Author

Sai Sudheer

---

## πŸ”— Repository

```text id="https://github.com/saisudheer-18/react-native-delivery-tracker"


🏁 Conclusion

This project demonstrates:

  • Strong understanding of React Native
  • Real-time simulation logic
  • Scalable architecture
  • Clean UI/UX practices

✨ Built as a mini real-world delivery tracking system.

About

React Native (Expo) delivery tracking app with Driver and Operations roles, simulating real-time order tracking and status workflow using mock data.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors