hexselarchieles's picture
Upload 4 files
6dd5e3c verified
# -*- coding: utf-8 -*-
"""Untitled4.ipynb
Automatically generated by Colab.
Original file is located at
https://colab.research.google.com/drive/1EXuvC4UJ8gxvo2IexM6RnsC9uktSij2N
"""
# app.py
from flask import Flask, request, jsonify
from predict import get_credit_score # Import fungsi dari predict.py
import os
app = Flask(__name__)
@app.route('/')
def home():
# Route sederhana untuk mengecek apakah server hidup
return "Credit Score API is running!"
@app.route('/credit_score', methods=['POST'])
def predict_score():
try:
# Ambil data JSON dari body request (dari aplikasi mobile)
raw_data = request.get_json()
if not raw_data:
return jsonify({"error": "No input data provided."}), 400
# Panggil fungsi prediksi
result = get_credit_score(raw_data)
# Kembalikan hasil prediksi ke aplikasi mobile
return jsonify({
"status": "success",
"score": result['score'],
"keputusan": result['decision']
})
except Exception as e:
# Handle error jika ada yang salah (misalnya, data input kurang)
print(f"An error occurred: {e}")
return jsonify({"error": f"Prediction failed due to an internal error: {str(e)}"}), 500
if __name__ == '__main__':
# Pastikan 'predict.py' dan file model/scalers berada di path yang benar
# Ganti '0.0.0.0' agar server dapat diakses dari luar (penting untuk deployment)
port = int(os.environ.get('PORT', 5000))
app.run(host='0.0.0.0', port=port)