How mohtasim01/loan-default-app works
This is a full-stack loan-default risk checker: a borrower enters 25 application features in the Angular form, which validates and submits them to Flask; Flask checks the schema, runs the saved preprocessing-plus-XGBoost pipeline, and returns a default prediction and probability. Separately, the training notebook compares five models and produces the deployable bundle and frontend feature schema. The README documents health and schema endpoints and a static GitHub Pages mode that cannot make predictions. Unsampled template, proxy, and deployment wiring is represented only where the README or excerpts support it.
Main entry points: train_and_compare.py Training and comparison · app.py Flask API · app.ts Application form · prediction.service.ts Prediction service
Components 13
Borrower interface
- Application form
frontend/src/app/app.ts - Feature schema
frontend/src/app/feature-schema.ts - Prediction service
frontend/src/app/prediction.service.ts
Prediction API
- Flask API
backend/app.py - Model bundle
backend/models/model_bundle.joblib - Prediction pipeline
backend/models/model_bundle.joblib
Model development
- Training and comparison
notebooks/train_and_compare.py - Loan dataset
data - Metrics and reports
docs - Generated form schema
frontend/src/app/feature-schema.ts - Sample input row
data/sample_inputs.csv
Other components
- Borrower
- GitHub Pages visitor
Connections 14
- Borrower → Application form: enters application
README.md - Feature schema → Application form: defines fields
frontend/src/app/app.ts - Application form → Prediction service: submits payload
frontend/src/app/app.ts - Prediction service → Flask API: POST /predict
README.md - Flask API → Model bundle: loads model data
backend/app.py - Flask API → Prediction pipeline: predicts probability
backend/app.py - Prediction pipeline → Flask API: returns prediction
backend/app.py - Flask API → Application form: returns result
- Loan dataset → Training and comparison: trains from
notebooks/train_and_compare.py - Training and comparison → Model bundle: saves pipeline
notebooks/train_and_compare.py - Training and comparison → Metrics and reports: writes metrics
notebooks/train_and_compare.py - Training and comparison → Generated form schema: generates schema
notebooks/train_and_compare.py - Training and comparison → Sample input row: writes sample row
notebooks/train_and_compare.py - GitHub Pages visitor → Application form: views static app
README.md