from flask import Flask, render_template, request import os # Îi spunem clar că templates este în același folder cu main.py template_dir = os.path.abspath(os.path.join(os.path.dirname(__file__), 'templates')) app = Flask(__name__, template_folder=template_dir) # Funcția care calculează caloriile (Formula Mifflin-St Jeor) def calculeaza_target(data): w = float(data.get('weight')) h = float(data.get('height')) a = int(data.get('age')) gen = data.get('gender') act = float(data.get('activity')) scop = data.get('goal') # Calcul BMR (Basal Metabolic Rate) if gen == 'masculin': bmr = (10 * w) + (6.25 * h) - (5 * a) + 5 else: bmr = (10 * w) + (6.25 * h) - (5 * a) - 161 # TDEE (Total Daily Energy Expenditure) tdee = bmr * act # Ajustare în funcție de scop (slăbire/îngrășare) if scop == 'slabire': return round(tdee - 500) elif scop == 'ingrasare': return round(tdee + 500) else: return round(tdee) @app.route('/') def index(): return render_template('index.html') @app.route('/calculate', methods=['POST']) def calculate(): try: data = request.form kcal_final = calculeaza_target(data) # Trimitem rezultatul înapoi în pagina index.html return render_template('index.html', rezultat=kcal_final, date_introduse=data) except Exception as e: return f"A apărut o eroare: {e}", 400 if __name__ == '__main__': app.run(host='0.0.0.0', port=5000)