A real-time delivery tracking application with live vehicle tracking, ETA calculation, and interactive maps.
Author: Abhiraj Marne
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
Choose your preferred deployment method:
Prerequisites: Docker Desktop
# Clone/navigate to the project
cd "Delivery App"
# Deploy with Docker Compose
.\deploy-docker.ps1
# Or manually:
docker-compose up --buildAccess:
- Frontend: http://localhost
- Backend: http://localhost:8080
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:
- Frontend: http://localhost:30081
- Backend: http://localhost:30080
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 devAccess:
- Frontend: http://localhost:5173
- Backend: http://localhost:8080
For detailed setup including Prometheus, Grafana, and advanced configuration, see the guides below.
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
- Backend Setup Guide - Complete backend setup with Kafka KRaft, Prometheus, and Grafana
- Frontend Setup Guide - Frontend setup and development
| 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) |
┌─────────────┐ WebSocket ┌──────────────┐
│ React │ ◄──────────────────► │ Spring Boot │
│ Frontend │ │ Backend │
└─────────────┘ └──────┬───────┘
│
│ Kafka
▼
┌──────────────┐
│ Kafka KRaft │
└──────────────┘
│
▼
┌──────────────┐
│ Prometheus │
│ Grafana │
└──────────────┘
MIT License