Implement version 3.0.0 with Analytics Dashboard, Gamification Expansion, and Spaced Repetition System
This commit is contained in:
1 parent
27af564a41
commit
7d8470df84
20 files changed
+22999
-23
No files matched your search
@@ -0,0 +1,89 @@
|
||||
{
|
||||
"daily": [
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"name": "Practice Makes Perfect",
|
||||
"description": "Complete 10 practice words in a day",
|
||||
"type": "daily",
|
||||
"target": 10,
|
||||
"points": 50,
|
||||
"icon": "🎯"
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"name": "Sharp Shooter",
|
||||
"description": "Achieve 90% accuracy in daily practice",
|
||||
"type": "daily",
|
||||
"target": 0.9,
|
||||
"points": 75,
|
||||
"icon": "🎯"
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"name": "On Fire",
|
||||
"description": "Get 3 words correct in a row",
|
||||
"type": "daily",
|
||||
"target": 3,
|
||||
"points": 30,
|
||||
"icon": "🔥"
|
||||
}
|
||||
],
|
||||
"weekly": [
|
||||
{
|
||||
"id": "weekly-words-50",
|
||||
"name": "Word Warrior",
|
||||
"description": "Practice 50 words in a week",
|
||||
"type": "weekly",
|
||||
"target": 50,
|
||||
"points": 200,
|
||||
"icon": "⚔️"
|
||||
},
|
||||
{
|
||||
"id": "weekly-days-5",
|
||||
"name": "Dedicated Scholar",
|
||||
"description": "Practice on 5 different days this week",
|
||||
"type": "weekly",
|
||||
"target": 5,
|
||||
"points": 250,
|
||||
"icon": "📚"
|
||||
}
|
||||
],
|
||||
"achievements": [
|
||||
{
|
||||
"id": "achievement-words-100",
|
||||
"name": "Century Club",
|
||||
"description": "Practice 100 total words",
|
||||
"type": "achievement",
|
||||
"target": 100,
|
||||
"points": 100,
|
||||
"icon": "🏆"
|
||||
},
|
||||
{
|
||||
"id": "achievement-words-500",
|
||||
"name": "Word Master",
|
||||
"description": "Practice 500 total words",
|
||||
"type": "achievement",
|
||||
"target": 500,
|
||||
"points": 500,
|
||||
"icon": "👑"
|
||||
},
|
||||
{
|
||||
"id": "achievement-streak-7",
|
||||
"name": "Weekly Warrior",
|
||||
"description": "Maintain a 7-day practice streak",
|
||||
"type": "achievement",
|
||||
"target": 7,
|
||||
"points": 300,
|
||||
"icon": "📅"
|
||||
},
|
||||
{
|
||||
"id": "achievement-accuracy-95",
|
||||
"name": "Spelling Bee Champion",
|
||||
"description": "Maintain 95% accuracy across 100 words",
|
||||
"type": "achievement",
|
||||
"target": 0.95,
|
||||
"points": 400,
|
||||
"icon": "🐝"
|
||||
}
|
||||
]
|
||||
}
|
||||
@@ -0,0 +1,511 @@
|
||||
{
|
||||
"allTime": {
|
||||
"accuracy": [
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 94.4,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 93.4,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 90,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 88.8,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 87.5,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 86.7,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 84.6,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 81.7,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 79,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 77.1,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 77.1,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 76.3,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 74.5,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 73.1,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
}
|
||||
],
|
||||
"totalWords": [
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 1352,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 966,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 846,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 835,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 819,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 761,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 743,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 724,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 530,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 419,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 344,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 304,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 252,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 110,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
}
|
||||
],
|
||||
"sessionsCompleted": [
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 129,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 80,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 73,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 71,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 45,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 41,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 37,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 33,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 31,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 28,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 22,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 21,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 9,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 7,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
}
|
||||
],
|
||||
"streakDays": [
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 18,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 14,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 12,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 12,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 10,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 10,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 9,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 8,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 7,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 7,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 6,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 2,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 1,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 1,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
}
|
||||
]
|
||||
},
|
||||
"weekly": {
|
||||
"accuracy": [
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 98.2,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 95.80000000000001,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 89.8,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 89.3,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 88.8,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 87.5,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 83.7,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 81.19999999999999,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 80.10000000000001,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 77.2,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 76.9,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 75.39999999999999,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 74.1,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 73.19999999999999,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
}
|
||||
],
|
||||
"totalWords": [
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 53,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 52,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 50,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 40,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 35,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 34,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 33,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 32,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 31,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 21,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 19,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 17,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 15,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 11,
|
||||
"timestamp": "2025-08-13T16:18:54.828Z"
|
||||
}
|
||||
],
|
||||
"sessionsCompleted": [
|
||||
{
|
||||
"username": "logant84",
|
||||
"value": 7,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "admin1",
|
||||
"value": 6,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "loganm87",
|
||||
"value": 5,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "emmaa72",
|
||||
"value": 5,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "jacobg47",
|
||||
"value": 5,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "benjamina31",
|
||||
"value": 5,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "masonl4",
|
||||
"value": 4,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "williamh77",
|
||||
"value": 3,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "nate",
|
||||
"value": 2,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "student1",
|
||||
"value": 2,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "sophiaa25",
|
||||
"value": 2,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "testuser",
|
||||
"value": 1,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "ameliab34",
|
||||
"value": 1,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
},
|
||||
{
|
||||
"username": "oliverb12",
|
||||
"value": 1,
|
||||
"timestamp": "2025-08-13T16:18:54.829Z"
|
||||
}
|
||||
]
|
||||
},
|
||||
"currentWeek": "2025-3"
|
||||
}
|
||||
@@ -0,0 +1,551 @@
|
||||
{
|
||||
"admin1": {
|
||||
"streak": {
|
||||
"current": 5,
|
||||
"longest": 11,
|
||||
"lastPractice": "2025-08-12"
|
||||
},
|
||||
"points": 1017,
|
||||
"level": 3,
|
||||
"dailyChallenges": [
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-13",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-12",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-12",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-12",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-10",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-08",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-08",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-08",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-07",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-07",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-07",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-02",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-07-31",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-07-31",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-07-31",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"weeklyChallenges": [
|
||||
{
|
||||
"id": "weekly-days-5",
|
||||
"weekStart": "2025-07-30",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "weekly-words-50",
|
||||
"weekStart": "2025-07-23",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "weekly-days-5",
|
||||
"weekStart": "2025-07-16",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"achievements": [
|
||||
{
|
||||
"id": "achievement-words-100",
|
||||
"date": "2025-07-22",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "achievement-words-500",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"stats": {
|
||||
"wordsAttempted": 574,
|
||||
"wordsCorrect": 415.86,
|
||||
"sessionsCompleted": 69,
|
||||
"averageAccuracy": 0.9
|
||||
}
|
||||
},
|
||||
"nate": {
|
||||
"streak": {
|
||||
"current": 2,
|
||||
"longest": 12,
|
||||
"lastPractice": "2025-08-12"
|
||||
},
|
||||
"points": 543,
|
||||
"level": 2,
|
||||
"dailyChallenges": [
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-13",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-13",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-07",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-07",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-03",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-03",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-02",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"weeklyChallenges": [
|
||||
{
|
||||
"id": "weekly-words-50",
|
||||
"weekStart": "2025-07-23",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"achievements": [
|
||||
{
|
||||
"id": "achievement-words-100",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"stats": {
|
||||
"wordsAttempted": 817,
|
||||
"wordsCorrect": 317.68,
|
||||
"sessionsCompleted": 79,
|
||||
"averageAccuracy": 0.95
|
||||
}
|
||||
},
|
||||
"student1": {
|
||||
"streak": {
|
||||
"current": 6,
|
||||
"longest": 9,
|
||||
"lastPractice": "2025-08-12"
|
||||
},
|
||||
"points": 574,
|
||||
"level": 2,
|
||||
"dailyChallenges": [
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-13",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-12",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-12",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-10",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-03",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-02",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-07-31",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-07-31",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-07-31",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"weeklyChallenges": [
|
||||
{
|
||||
"id": "weekly-words-50",
|
||||
"weekStart": "2025-08-06",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"achievements": [
|
||||
{
|
||||
"id": "achievement-words-100",
|
||||
"date": "2025-07-23",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"stats": {
|
||||
"wordsAttempted": 102,
|
||||
"wordsCorrect": 648.1800000000001,
|
||||
"sessionsCompleted": 65,
|
||||
"averageAccuracy": 0.78
|
||||
}
|
||||
},
|
||||
"testuser": {
|
||||
"streak": {
|
||||
"current": 13,
|
||||
"longest": 20,
|
||||
"lastPractice": "2025-08-12"
|
||||
},
|
||||
"points": 843,
|
||||
"level": 2,
|
||||
"dailyChallenges": [
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-13",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-13",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-12",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-11",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-09",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-08",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-07",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-05",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-04",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-02",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-practice-10",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-accuracy-90",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "daily-streak-3",
|
||||
"date": "2025-08-01",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"weeklyChallenges": [
|
||||
{
|
||||
"id": "weekly-words-50",
|
||||
"weekStart": "2025-08-06",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "weekly-words-50",
|
||||
"weekStart": "2025-07-30",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"achievements": [
|
||||
{
|
||||
"id": "achievement-words-100",
|
||||
"date": "2025-08-03",
|
||||
"progress": 1
|
||||
},
|
||||
{
|
||||
"id": "achievement-words-500",
|
||||
"date": "2025-07-18",
|
||||
"progress": 1
|
||||
}
|
||||
],
|
||||
"stats": {
|
||||
"wordsAttempted": 353,
|
||||
"wordsCorrect": 789.4499999999999,
|
||||
"sessionsCompleted": 87,
|
||||
"averageAccuracy": 0.88
|
||||
}
|
||||
}
|
||||
}
|
||||
+17805
-2
File diff suppressed because it is too large.
Load diff
@@ -0,0 +1,300 @@
|
||||
{
|
||||
"nate": {
|
||||
"settings": {
|
||||
"dailyLimit": 20,
|
||||
"reviewThreshold": 3,
|
||||
"newWordsPerDay": 5
|
||||
},
|
||||
"stats": {
|
||||
"totalReviews": 15,
|
||||
"correctReviews": 9,
|
||||
"totalWords": 6,
|
||||
"masteredWords": 0
|
||||
},
|
||||
"words": {
|
||||
"computer": {
|
||||
"easeFactor": 2.5,
|
||||
"interval": 3,
|
||||
"repetitions": 3,
|
||||
"lastReview": "2025-08-10",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"keyboard": {
|
||||
"easeFactor": 2.3,
|
||||
"interval": 2,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-11",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"mouse": {
|
||||
"easeFactor": 2.8,
|
||||
"interval": 4,
|
||||
"repetitions": 4,
|
||||
"lastReview": "2025-08-09",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"screen": {
|
||||
"easeFactor": 3,
|
||||
"interval": 6,
|
||||
"repetitions": 5,
|
||||
"lastReview": "2025-08-07",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"printer": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 1,
|
||||
"repetitions": 1,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"not": {
|
||||
"easeFactor": 2.6,
|
||||
"interval": 7,
|
||||
"repetitions": 3,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-20"
|
||||
},
|
||||
"bot": {
|
||||
"easeFactor": 2.8,
|
||||
"interval": 15,
|
||||
"repetitions": 4,
|
||||
"lastReview": "2025-08-05",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"snot": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 1,
|
||||
"repetitions": 1,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"bate": {
|
||||
"easeFactor": 2.1,
|
||||
"interval": 1,
|
||||
"repetitions": 1,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"hate": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 3,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-10",
|
||||
"nextReview": "2025-08-15"
|
||||
},
|
||||
"late": {
|
||||
"easeFactor": 2.5,
|
||||
"interval": 15,
|
||||
"repetitions": 4,
|
||||
"lastReview": "2025-08-11",
|
||||
"nextReview": "2025-08-11"
|
||||
}
|
||||
}
|
||||
},
|
||||
"student1": {
|
||||
"settings": {
|
||||
"dailyLimit": 20,
|
||||
"reviewThreshold": 3,
|
||||
"newWordsPerDay": 5
|
||||
},
|
||||
"stats": {
|
||||
"totalReviews": 10,
|
||||
"correctReviews": 5,
|
||||
"totalWords": 5,
|
||||
"masteredWords": 0
|
||||
},
|
||||
"words": {
|
||||
"apple": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 3,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-10",
|
||||
"nextReview": "2025-08-10"
|
||||
},
|
||||
"banana": {
|
||||
"easeFactor": 2.1,
|
||||
"interval": 1,
|
||||
"repetitions": 1,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"cherry": {
|
||||
"easeFactor": 2.4,
|
||||
"interval": 3,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-11",
|
||||
"nextReview": "2025-08-16"
|
||||
},
|
||||
"date": {
|
||||
"easeFactor": 2.5,
|
||||
"interval": 1,
|
||||
"repetitions": 1,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"elderberry": {
|
||||
"easeFactor": 2.3,
|
||||
"interval": 15,
|
||||
"repetitions": 4,
|
||||
"lastReview": "2025-08-11",
|
||||
"nextReview": "2025-08-11"
|
||||
}
|
||||
}
|
||||
},
|
||||
"admin1": {
|
||||
"settings": {
|
||||
"dailyLimit": 20,
|
||||
"reviewThreshold": 3,
|
||||
"newWordsPerDay": 5
|
||||
},
|
||||
"stats": {
|
||||
"totalReviews": 12,
|
||||
"correctReviews": 9,
|
||||
"totalWords": 3,
|
||||
"masteredWords": 1
|
||||
},
|
||||
"words": {
|
||||
"administration": {
|
||||
"easeFactor": 2.5,
|
||||
"interval": 3,
|
||||
"repetitions": 3,
|
||||
"lastReview": "2025-08-10",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"education": {
|
||||
"easeFactor": 2.8,
|
||||
"interval": 4,
|
||||
"repetitions": 4,
|
||||
"lastReview": "2025-08-09",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"technology": {
|
||||
"easeFactor": 2.3,
|
||||
"interval": 2,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-11",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"development": {
|
||||
"easeFactor": 3,
|
||||
"interval": 6,
|
||||
"repetitions": 5,
|
||||
"lastReview": "2025-08-07",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"programming": {
|
||||
"easeFactor": 3,
|
||||
"interval": 6,
|
||||
"repetitions": 5,
|
||||
"lastReview": "2025-08-07",
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"boy": {
|
||||
"easeFactor": 2.7,
|
||||
"interval": 15,
|
||||
"repetitions": 4,
|
||||
"lastReview": "2025-08-09",
|
||||
"nextReview": "2025-08-20"
|
||||
},
|
||||
"bot": {
|
||||
"easeFactor": 2.6,
|
||||
"interval": 40,
|
||||
"repetitions": 6,
|
||||
"lastReview": "2025-07-23",
|
||||
"nextReview": "2025-08-25"
|
||||
},
|
||||
"snot": {
|
||||
"easeFactor": 2.4,
|
||||
"interval": 3,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-10",
|
||||
"nextReview": "2025-08-10"
|
||||
}
|
||||
}
|
||||
},
|
||||
"testuser": {
|
||||
"settings": {
|
||||
"dailyLimit": 20,
|
||||
"reviewThreshold": 3,
|
||||
"newWordsPerDay": 5
|
||||
},
|
||||
"stats": {
|
||||
"totalReviews": 32,
|
||||
"correctReviews": 23,
|
||||
"totalWords": 10,
|
||||
"masteredWords": 3
|
||||
},
|
||||
"words": {
|
||||
"hello": {
|
||||
"easeFactor": 2.4,
|
||||
"interval": 7,
|
||||
"repetitions": 3,
|
||||
"lastReview": "2025-08-07",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"world": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 3,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-10",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"test": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 7,
|
||||
"repetitions": 3,
|
||||
"lastReview": "2025-08-08",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"sample": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 3,
|
||||
"repetitions": 2,
|
||||
"lastReview": "2025-08-11",
|
||||
"nextReview": "2025-08-16"
|
||||
},
|
||||
"basic": {
|
||||
"easeFactor": 2.7,
|
||||
"interval": 40,
|
||||
"repetitions": 6,
|
||||
"lastReview": "2025-08-03",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"learn": {
|
||||
"easeFactor": 2.4,
|
||||
"interval": 0,
|
||||
"repetitions": 0,
|
||||
"lastReview": null,
|
||||
"nextReview": "2025-08-13"
|
||||
},
|
||||
"spell": {
|
||||
"easeFactor": 2.2,
|
||||
"interval": 1,
|
||||
"repetitions": 1,
|
||||
"lastReview": "2025-08-12",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"word": {
|
||||
"easeFactor": 2.9,
|
||||
"interval": 20,
|
||||
"repetitions": 5,
|
||||
"lastReview": "2025-07-27",
|
||||
"nextReview": "2025-08-27"
|
||||
},
|
||||
"study": {
|
||||
"easeFactor": 2.4,
|
||||
"interval": 7,
|
||||
"repetitions": 3,
|
||||
"lastReview": "2025-08-08",
|
||||
"nextReview": "2025-08-14"
|
||||
},
|
||||
"practice": {
|
||||
"easeFactor": 2.8,
|
||||
"interval": 80,
|
||||
"repetitions": 7,
|
||||
"lastReview": "2025-07-06",
|
||||
"nextReview": "2025-08-14"
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Reference in new issue
Block a user