Ansh91's picture
πŸš€ Fix: Ensure backend starts and runs Flask app
acd5ff6
# Superkart Sales Forecasting Flask API
from flask import Flask, request, jsonify
import pandas as pd
import numpy as np
import joblib
import traceback
app = Flask(__name__)
MODEL_PATH = "best_model.pkl"
try:
model = joblib.load(MODEL_PATH)
print("βœ… Model loaded successfully.")
except Exception as e:
print("❌ Model load error:", e)
traceback.print_exc()
@app.route("/", methods=["GET"])
def health_check():
return "βœ… SuperKart backend is up and running!", 200
@app.route("/v1/forecast", methods=["POST"])
def predict_single():
try:
data = request.get_json()
df = pd.DataFrame([data])
df["Store_Age"] = 2025 - df["Store_Establishment_Year"]
df["Price_per_kg"] = df["Product_MRP"] / df["Product_Weight"]
df["MRP_Band"] = pd.cut(
df["Product_MRP"], bins=[0, 100, 200, float("inf")], labels=["Low", "Mid", "High"]
)
pred_log = model.predict(df)[0]
pred = np.expm1(pred_log)
return jsonify({"Predicted_Sales": round(float(pred), 2)})
except Exception as e:
return jsonify({"error": str(e)}), 500