Skip to content

Abmarne/Delivery-App

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

5 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Delivery Tracking App

A real-time delivery tracking application with live vehicle tracking, ETA calculation, and interactive maps.

Author: Abhiraj Marne

Overview

This application provides real-time tracking of delivery vehicles with features like:

  • Live location updates via WebSocket
  • ETA and speed calculations
  • Multiple simultaneous delivery tracking
  • Delivery history and analytics
  • Interactive map visualization

Quick Setup Guide

Choose your preferred deployment method:

Option 1: Docker Deployment (Recommended)

Prerequisites: Docker Desktop

# Clone/navigate to the project
cd "Delivery App"

# Deploy with Docker Compose
.\deploy-docker.ps1

# Or manually:
docker-compose up --build

Access:

Option 2: Kubernetes Deployment

Prerequisites: kubectl, Kubernetes cluster (minikube, Docker Desktop K8s, etc.)

# Deploy to Kubernetes
.\deploy-k8s.ps1

# Or manually:
docker build -t delivery-backend:latest -f Backend/Dockerfile Backend/
docker build -t delivery-frontend:latest -f Frontend/Dockerfile Frontend/
kubectl apply -f k8s/namespace.yaml
kubectl apply -f k8s/kafka/
kubectl apply -f k8s/backend/
kubectl apply -f k8s/frontend/

Access:

Option 3: Local Development

Prerequisites: Java 17+, Node.js 18+, Maven, Kafka

# Start Kafka (KRaft Mode)
cd kafka
bin/kafka-storage.sh random-uuid
bin/kafka-storage.sh format -t <UUID> -c config/kraft/server.properties
bin/kafka-server-start.sh config/kraft/server.properties

# Terminal 2: Start Backend
cd Backend
./mvnw spring-boot:run

# Terminal 3: Start Frontend
cd Frontend
npm install
npm run dev

Access:


For detailed setup including Prometheus, Grafana, and advanced configuration, see the guides below.

Project Structure

Delivery App/
├── Backend/              # Spring Boot application
│   ├── src/              # Java source code
│   ├── Dockerfile        # Backend container image
│   └── README.md         # Backend setup guide
├── Frontend/             # React application
│   ├── src/              # React source code
│   ├── Dockerfile        # Frontend container image
│   ├── nginx.conf        # Nginx configuration
│   └── README.md         # Frontend setup guide
├── k8s/                  # Kubernetes manifests
│   ├── namespace.yaml
│   ├── ingress.yaml
│   ├── backend/          # Backend deployment & HPA
│   ├── frontend/         # Frontend deployment & HPA
│   └── kafka/            # Kafka & Zookeeper manifests
├── docker-compose.yml    # Docker Compose configuration
├── deploy-docker.ps1     # Docker deployment script
├── deploy-k8s.ps1        # Kubernetes deployment script
└── README.md             # This file

Documentation

Tech Stack

Component Technology
Backend Java 17, Spring Boot 3.x, Kafka, WebSocket
Frontend React 18, Vite, Leaflet Maps
Monitoring Prometheus, Grafana
Messaging Apache Kafka (KRaft mode)

Architecture

┌─────────────┐      WebSocket       ┌──────────────┐
│   React     │ ◄──────────────────► │ Spring Boot  │
│  Frontend   │                      │   Backend    │
└─────────────┘                      └──────┬───────┘
                                            │
                                            │ Kafka
                                            ▼
                                     ┌──────────────┐
                                     │ Kafka KRaft  │
                                     └──────────────┘
                                            │
                                            ▼
                                     ┌──────────────┐
                                     │ Prometheus   │
                                     │   Grafana    │
                                     └──────────────┘

License

MIT License

About

Real-time delivery tracking application with live vehicle monitoring, ETA calculation, and interactive Leaflet maps. Built with Spring Boot 3, React 18, Apache Kafka, and WebSocket for bidirectional communication. Supports Docker & Kubernetes deployment with Prometheus/Grafana monitoring.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors