2.0 KiB
// 1. This file should contain backend API documentation // TODO: Import Flask and PyMongo (line 1-2) from flask import Flask, session, redirect, url_for, request, jsonify from flask_pymongo import PyMongo
// TODO: Connect to MongoDB database (line 4-6) app = Flask(name) app.config['MONGO_URI'] = 'mongodb://localhost:27017/student_db' mongo = PyMongo(app)
// TODO: Define API endpoint for getting questions (line 8-10) @app.route('/get_question') def get_question(): question_num = session.get('current_question', 0) question = mongo.db.questions.find_one({"question_number": question_num})
if question:
return jsonify({
"question": question['question'],
"options": question['options'],
"question_number": question_num,
"current_prize": calculate_prize(question_num)
})
else:
return jsonify({"game_over": True, "final_score": calculate_final_score()})
// TODO: Define API endpoint for submitting answers (line 12-14) @app.route('/answer', methods=['POST']) def answer_question(): user_answer = request.json.get('answer') question_num = session.get('current_question', 0) current_question = mongo.db.questions.find_one({"question_number": question_num})
is_correct = current_question['options'][current_question['correct_answer']] == user_answer
if is_correct:
session['current_question'] = question_num + 1
return jsonify({
"correct": True,
"correct_answer": current_question['correct_answer'],
"game_over": question_num + 1 >= TOTAL_QUESTIONS
})
else:
return jsonify({
"correct": False,
"correct_answer": current_question['correct_answer'],
"game_over": True
})
// TODO: Add error handling for database connection (line 16-18) try: mongo.db.command("ping") print("Successfully connected to MongoDB!") except Exception as e: print(f"MongoDB connection error: {e}")