Production-ready machine learning system for real-time delivery ETA prediction with API, deployment, UI, authentication, and analytics.
- 🔮 Frontend (Streamlit UI): https://eta-engine.streamlit.app/
- ⚙️ API Docs (FastAPI): https://eta-prediction-api.onrender.com/
This project simulates a real-world food delivery ETA prediction system similar to Swiggy/Zomato.
It goes beyond model building by implementing a complete ML system:
- Model training
- API serving
- Docker containerization
- Cloud deployment
- Interactive frontend
- Logging & analytics
Predict the Estimated Time of Arrival (ETA) for a delivery based on:
- Distance
- Order time
- Traffic conditions
- Preparation time
- Weather
- Delivery partner rating
User → Streamlit UI → FastAPI → ML Model → Prediction
↓
Logging → Analytics Dashboard
- Python, Pandas, Scikit-learn
- FastAPI (REST API)
- Uvicorn
- Streamlit (interactive UI)
- Docker (containerization)
- Render (deployment)
- JSON logging
- Pandas analytics dashboard
- ✅ Real-time ETA prediction API
- ✅ Interactive UI (Streamlit)
- ✅ User authentication (session-based)
- ✅ Input validation & structured requests
- ✅ Dockerized application
- ✅ Cloud deployment (public access)
- ✅ Logging of predictions
- ✅ Analytics dashboard (trends & insights)
{
"distance_km": 3.5,
"order_hour": 13,
"traffic_level": 4,
"prep_time": 20,
"weather": 1,
"delivery_rating": 4.5
}{
"predicted_eta": 29.7
}ml-eta-project/
│
├── app/ # FastAPI app
├── src/ # ML training & prediction logic
├── model/ # Saved model
├── logs/ # Prediction logs
├── ui_app.py # Streamlit UI
├── Dockerfile
├── requirements.txt
└── README.md
git clone https://github.com/RajeshKumar3451/ETA-Engine.git
cd your-repopip install -r requirements.txtuvicorn app.main:app --reloadstreamlit run ui_app.pydocker build -t eta-app .
docker run -p 8000:8000 eta-appTracks:
- Total predictions
- Average ETA
- Traffic distribution
- Prediction trends
Simple session-based login system implemented in Streamlit UI.
- End-to-end ML system design
- API development & deployment
- Handling semi-structured data (JSON logs)
- Building user-facing ML applications
- Monitoring & analytics
- Real-time traffic (Google Maps API)
- Database integration (PostgreSQL)
- CI/CD pipeline
- Model versioning
- Scalable microservices architecture
Rajesh Kumar
If you found this useful, consider starring ⭐ the repo!