Trivia5 / setup_data.py
Bharath370's picture
Upload 3 files
7a41a6d verified
# setup_data.py
"""Setup script to create data directory and sample files"""
import os
import json
def setup_data_directory():
"""Create data directory and sample files"""
# Create data directory if it doesn't exist
os.makedirs("data", exist_ok=True)
print("Created 'data' directory")
# Sample users data
users_data = {
"demo_user": {
"password": "5994471abb01112afcc18159f6cc74b4f511b99806da59b3caf5a9c173cacfc5", # password: 12345
"email": "demo@example.com",
"created": "2024-01-01T00:00:00",
"last_login": "2024-01-01T00:00:00",
}
}
# Sample scores data
scores_data = {
"demo_user": {
"total_score": 1500,
"quizzes_completed": 15,
"badges": ["beginner", "learner"],
"achievements": ["first_quiz", "streak_5"],
"quiz_history": [
{
"timestamp": "2024-01-01T10:00:00",
"mode": "MCQ Quiz",
"score": 8,
"total": 10,
"difficulty": "Medium",
"percentage": 80.0,
}
],
"stats": {
"mcq": {"played": 50, "correct": 40},
"flashcards": {"played": 30, "completed": 25},
"facts": {"played": 20, "score": 18},
},
"streaks": {"current": 3, "best": 7},
}
}
# Sample performance data
performance_data = {
"performance_history": [
{
"timestamp": "2024-01-01T10:00:00",
"correct": True,
"difficulty": "Medium",
"topic": "Python programming",
}
],
"difficulty_scores": {"Easy": 0.85, "Medium": 0.65, "Hard": 0.45},
"topic_performance": {
"Python programming": {
"attempts": 10,
"correct": 8,
"last_seen": "2024-01-01T10:00:00",
}
},
"last_updated": "2024-01-01T10:00:00",
}
# Sample leaderboard data
leaderboard_data = [
{"rank": 1, "username": "demo_user", "score": 1500, "badges": 2, "quizzes": 15}
]
# Write sample files
files_to_create = {
"data/users.json": users_data,
"data/user_scores.json": scores_data,
"data/scores_demo_user.json": scores_data["demo_user"],
"data/performance_demo_user.json": performance_data,
"data/leaderboard.json": leaderboard_data,
}
for filename, data in files_to_create.items():
with open(filename, "w") as f:
json.dump(data, f, indent=2)
print(f"Created '{filename}'")
# Create placeholder for future features
placeholder_files = [
"data/.gitkeep", # Ensures data folder is tracked by git
]
for filename in placeholder_files:
with open(filename, "w") as f:
f.write("")
print(f"Created '{filename}'")
print("\nData directory setup complete!")
print("\nDemo credentials:")
print(" Username: demo_user")
print(" Password: 12345")
if __name__ == "__main__":
setup_data_directory()