# 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()