File size: 3,348 Bytes
7a41a6d
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
# 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()