Logo Lanfrica

yousef-mohamed32/egypt-house-price-predictor

Domain:

socioeconomic

Record type:

softwaremodel
Creator:
you
Host:
# Egypt House Price Predictor 🏠 An end-to-end MLOps project β€” a trained Machine Learning model served via a REST API, fully containerized with Docker, monitored with Prometheus & Grafana, and deployed through a CI/CD pipeline on GitHub Actions. --- ## 🧠 What it does Predicts apartment/villa prices (in EGP) across 10 Egyptian cities based on: - Area (Cairo, New Cairo, Maadi, Zamalek, etc.) - Property type (Apartment, Villa, Duplex, Studio, Penthouse) - Size, bedrooms, bathrooms, floor, age - Amenities (garage, elevator, pool) **Model:** Random Forest Regressor | **RΒ² score:** 0.856 --- ## πŸ—οΈ Architecture ``` β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ GitHub Actions β”‚ β”‚ push β†’ test (pytest) β†’ build β†’ smoke test β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”¬β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β–Όβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ Docker Compose β”‚ β”‚ β”‚ β”‚ β”Œβ”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β” β”‚ β”‚ β”‚ price-predictor :5000 β”‚ β”‚ β”‚ β”‚ POST /predict β”‚ β”‚ β”‚ β”‚ GET /health β”‚ β”‚ β”‚ β”‚ GET /metrics ─────────────┼──┼──► Prometheus :9090 β”‚ β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ β”‚ β”‚ β”‚ β”‚ β–Ό β”‚ β”‚ Grafana :3000 β””β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”€β”˜ ``` --- ## πŸš€ Quick Start ```bash git clone github.com cd egypt-house-price-predictor docker compose up --build ``` | Service | URL | |------------|--------------------------| | API | localhost | | Prometheus | localhost | | Grafana | localhost | --- ## πŸ“‘ API Usage ### `GET /health` ```json { "status": "healthy", "model_loaded": true } ``` ### `GET /info` Returns all valid areas, property types, and a sample request body. ### `POST /predict` **Request:** ```j …