# 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 β¦