Add server folder

This commit is contained in:
2025-12-04 23:44:33 +01:00
parent c2e6f3862e
commit a4a22a3418
2 changed files with 51 additions and 0 deletions

41
flask_base/app.py Normal file
View File

@@ -0,0 +1,41 @@
from flask import Flask, jsonify, request
import json
import os
app = Flask(__name__)
LEADERBOARD_FILE = './data/leaderboard.json'
if not os.path.exists(LEADERBOARD_FILE):
with open(LEADERBOARD_FILE, 'w') as f:
json.dump([], f)
def read_leaderboard():
with open(LEADERBOARD_FILE, 'r') as f:
return json.load(f)
def write_leaderboard(data):
with open(LEADERBOARD_FILE, 'w') as f:
json.dump(data, f, indent=4)
@app.route('/api/leaderboard', methods=['POST'])
def add_to_leaderboard():
new_entry = request.json
if not new_entry or 'name' not in new_entry or 'score' not in new_entry:
return jsonify({'error': 'Name and score are required'}), 400
leaderboard = read_leaderboard()
leaderboard.append(new_entry)
write_leaderboard(leaderboard)
return jsonify({'message': 'Added successfully', 'leaderboard': leaderboard}), 201
@app.route('/api/leaderboard', methods=['GET'])
def get_leaderboard():
leaderboard = read_leaderboard()
leaderboard_sorted = sorted(leaderboard, key=lambda x: x['score'], reverse=True)
return jsonify({'leaderboard': leaderboard_sorted})
if __name__ == '__main__':
app.run(debug=True, port=8080)