You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
Copy file name to clipboardExpand all lines: README.md
+13-13Lines changed: 13 additions & 13 deletions
Display the source diff
Display the rich diff
Original file line number
Diff line number
Diff line change
@@ -35,7 +35,7 @@ Just use the **Makefile** to do all the boring stuff for you:
35
35
make help
36
36
```
37
37
38
-
See full Makefile usage [here](#makefile-usage) — from setup to linting, testing, API, Airflow, and Terraform infra!
38
+
See full Makefile usage [here](#14-makefile-usage) — from setup to linting, testing, API, Airflow, and Terraform infra!
39
39
40
40
## 📦 Project Structure
41
41
@@ -148,7 +148,7 @@ volumes:
148
148
```
149
149
You can explore experiment runs and models in the MLflow UI.
150
150
151
-
### 🧠 Model Training
151
+
### 3. 🧠 Model Training
152
152
153
153
The model (Isolation Forest) is trained on actor-wise event features:
154
154
@@ -157,7 +157,7 @@ python scripts/train_model.py
157
157
```
158
158
The latest parquet file is used automatically. Model and scaler are saved to models/.
159
159
160
-
### 🚀 3. FastAPI Inference
160
+
### 4. 🚀 FastAPI Inference
161
161
162
162
#### Build & Run
163
163
@@ -215,7 +215,7 @@ alerts/alerting.py
215
215
216
216
These generate alert messages and send them through email and Slack if thresholds are breached.
217
217
218
-
### 4. ✅ CI/CD with GitHub Actions
218
+
### 6. ✅ CI/CD with GitHub Actions
219
219
220
220
The .github/workflows/ci.yml file runs on push:
221
221
@@ -224,7 +224,7 @@ The .github/workflows/ci.yml file runs on push:
224
224
- ✅ pytest
225
225
- ✅ (optional) Docker build
226
226
227
-
### 🔍 Code Quality
227
+
### 7. 🔍 Code Quality
228
228
229
229
Pre-commit hooks ensure style and linting:
230
230
@@ -238,7 +238,7 @@ Configured via:
238
238
- .pre-commit-config.yaml
239
239
- .flake8 (ignore = E501)
240
240
241
-
### 4. 🧪 Testing
241
+
### 8. 🧪 Testing
242
242
243
243
Run all tests:
244
244
@@ -252,7 +252,7 @@ Tests are in tests/ and cover:
252
252
- Feature engineering
253
253
- Model training logic
254
254
255
-
### 6. 📊 Streamlit Dashboard
255
+
### 9. 📊 Streamlit Dashboard
256
256
257
257
The project includes an optional interactive Streamlit dashboard to visualize:
258
258
@@ -303,7 +303,7 @@ docker run -p 8501:8501 \
303
303
304
304
Then open your browser at http://localhost:8501.
305
305
306
-
### ☁️ Infrastructure as Code (IaC): MLflow Server with Terraform
306
+
### 11. ☁️ Infrastructure as Code (IaC): MLflow Server with Terraform
307
307
308
308
This Terraform module provisions a **Docker-based MLflow tracking server**, matching the setup used in `docker-compose.yaml`, but on a **different port (5050)** to avoid conflicts.
309
309
@@ -357,19 +357,19 @@ terraform destroy
357
357
358
358
This removes the MLflow container provisioned by Terraform.
359
359
360
-
### 7. 🧭 Architecture
360
+
### 12. 🧭 Architecture
361
361
362
362

363
363
364
-
### 8. 🧹 Clean Code
364
+
### 13. 🧹 Clean Code
365
365
366
366
All code follows:
367
367
368
368
- PEP8 formatting via Black
369
369
- Linting with Flake8 + Bugbear
370
370
- Pre-commit hook enforcement
371
371
372
-
### 🛠️ Makefile Usage
372
+
### 14. 🛠️ Makefile Usage
373
373
374
374
This project includes a Makefile that simplifies formatting, testing, building Docker containers, and running Airflow or the FastAPI inference app.
375
375
@@ -434,9 +434,9 @@ make terraform-status # Show current infra state
434
434
make help# Prints a summary of all available targets and their descriptions.
435
435
```
436
436
437
-
### 10. 🙌 Credits
437
+
### 15. 🙌 Credits
438
438
439
439
Built by Rajat Gupta as part of an MLOps portfolio.
440
440
Inspired by real-time event pipelines and anomaly detection architectures used in production.
0 commit comments