Spaces:
Sleeping
Sleeping
| # 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() | |