Jansome commited on
Commit
a49841c
·
verified ·
1 Parent(s): a386706

undefined - Initial Deployment

Browse files
Files changed (2) hide show
  1. README.md +6 -4
  2. index.html +727 -19
README.md CHANGED
@@ -1,10 +1,12 @@
1
  ---
2
- title: Da Model
3
- emoji: 👀
4
  colorFrom: gray
5
- colorTo: pink
6
  sdk: static
7
  pinned: false
 
 
8
  ---
9
 
10
- Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
 
1
  ---
2
+ title: da-model
3
+ emoji: 🐳
4
  colorFrom: gray
5
+ colorTo: green
6
  sdk: static
7
  pinned: false
8
+ tags:
9
+ - deepsite
10
  ---
11
 
12
+ Check out the configuration reference at https://huggingface.co/docs/hub/spaces-config-reference
index.html CHANGED
@@ -1,19 +1,727 @@
1
- <!doctype html>
2
- <html>
3
- <head>
4
- <meta charset="utf-8" />
5
- <meta name="viewport" content="width=device-width" />
6
- <title>My static Space</title>
7
- <link rel="stylesheet" href="style.css" />
8
- </head>
9
- <body>
10
- <div class="card">
11
- <h1>Welcome to your static Space!</h1>
12
- <p>You can modify this app directly by editing <i>index.html</i> in the Files and versions tab.</p>
13
- <p>
14
- Also don't forget to check the
15
- <a href="https://huggingface.co/docs/hub/spaces" target="_blank">Spaces documentation</a>.
16
- </p>
17
- </div>
18
- </body>
19
- </html>
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
+ <!DOCTYPE html>
2
+ <html lang="en">
3
+ <head>
4
+ <meta charset="UTF-8">
5
+ <meta name="viewport" content="width=device-width, initial-scale=1.0">
6
+ <title>EduPredict - Student Performance Dashboard</title>
7
+ <script src="https://cdn.tailwindcss.com"></script>
8
+ <link rel="stylesheet" href="https://cdnjs.cloudflare.com/ajax/libs/font-awesome/6.4.0/css/all.min.css">
9
+ <script>
10
+ tailwind.config = {
11
+ theme: {
12
+ extend: {
13
+ colors: {
14
+ primary: '#4F46E5',
15
+ secondary: '#10B981',
16
+ danger: '#EF4444',
17
+ warning: '#F59E0B',
18
+ }
19
+ }
20
+ }
21
+ }
22
+ </script>
23
+ <style>
24
+ .sidebar {
25
+ transition: all 0.3s ease;
26
+ }
27
+ .sidebar.collapsed {
28
+ width: 70px;
29
+ }
30
+ .sidebar.collapsed .nav-text {
31
+ display: none;
32
+ }
33
+ .main-content {
34
+ transition: all 0.3s ease;
35
+ }
36
+ .sidebar.collapsed + .main-content {
37
+ margin-left: 70px;
38
+ }
39
+ .chart-container {
40
+ height: 300px;
41
+ }
42
+ .risk-high {
43
+ background-color: rgba(239, 68, 68, 0.1);
44
+ border-left: 4px solid #EF4444;
45
+ }
46
+ .risk-medium {
47
+ background-color: rgba(245, 158, 11, 0.1);
48
+ border-left: 4px solid #F59E0B;
49
+ }
50
+ .risk-low {
51
+ background-color: rgba(16, 185, 129, 0.1);
52
+ border-left: 4px solid #10B981;
53
+ }
54
+ @keyframes pulse {
55
+ 0%, 100% {
56
+ opacity: 1;
57
+ }
58
+ 50% {
59
+ opacity: 0.5;
60
+ }
61
+ }
62
+ .animate-pulse {
63
+ animation: pulse 2s cubic-bezier(0.4, 0, 0.6, 1) infinite;
64
+ }
65
+ </style>
66
+ </head>
67
+ <body class="bg-gray-50">
68
+ <div class="flex h-screen overflow-hidden">
69
+ <!-- Sidebar -->
70
+ <div class="sidebar bg-white shadow-lg w-64 flex-shrink-0">
71
+ <div class="p-4 border-b border-gray-200 flex items-center justify-between">
72
+ <div class="flex items-center">
73
+ <i class="fas fa-graduation-cap text-primary text-2xl mr-3"></i>
74
+ <span class="text-xl font-bold text-gray-800 nav-text">EduPredict</span>
75
+ </div>
76
+ <button id="toggleSidebar" class="text-gray-500 hover:text-gray-700">
77
+ <i class="fas fa-bars"></i>
78
+ </button>
79
+ </div>
80
+ <nav class="p-4">
81
+ <div class="mb-6">
82
+ <p class="text-xs uppercase text-gray-500 font-semibold mb-2 nav-text">Navigation</p>
83
+ <ul>
84
+ <li class="mb-1">
85
+ <a href="#" class="flex items-center p-2 text-primary bg-indigo-50 rounded-lg">
86
+ <i class="fas fa-tachometer-alt mr-3"></i>
87
+ <span class="nav-text">Dashboard</span>
88
+ </a>
89
+ </li>
90
+ <li class="mb-1">
91
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
92
+ <i class="fas fa-users mr-3"></i>
93
+ <span class="nav-text">Students</span>
94
+ </a>
95
+ </li>
96
+ <li class="mb-1">
97
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
98
+ <i class="fas fa-chart-line mr-3"></i>
99
+ <span class="nav-text">Analytics</span>
100
+ </a>
101
+ </li>
102
+ <li class="mb-1">
103
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
104
+ <i class="fas fa-bell mr-3"></i>
105
+ <span class="nav-text">Alerts</span>
106
+ </a>
107
+ </li>
108
+ </ul>
109
+ </div>
110
+ <div class="mb-6">
111
+ <p class="text-xs uppercase text-gray-500 font-semibold mb-2 nav-text">Management</p>
112
+ <ul>
113
+ <li class="mb-1">
114
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
115
+ <i class="fas fa-book mr-3"></i>
116
+ <span class="nav-text">Courses</span>
117
+ </a>
118
+ </li>
119
+ <li class="mb-1">
120
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
121
+ <i class="fas fa-calendar-alt mr-3"></i>
122
+ <span class="nav-text">Attendance</span>
123
+ </a>
124
+ </li>
125
+ <li class="mb-1">
126
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
127
+ <i class="fas fa-clipboard-check mr-3"></i>
128
+ <span class="nav-text">Assessments</span>
129
+ </a>
130
+ </li>
131
+ </ul>
132
+ </div>
133
+ <div>
134
+ <p class="text-xs uppercase text-gray-500 font-semibold mb-2 nav-text">Settings</p>
135
+ <ul>
136
+ <li class="mb-1">
137
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
138
+ <i class="fas fa-cog mr-3"></i>
139
+ <span class="nav-text">Settings</span>
140
+ </a>
141
+ </li>
142
+ <li class="mb-1">
143
+ <a href="#" class="flex items-center p-2 text-gray-600 hover:text-primary hover:bg-indigo-50 rounded-lg">
144
+ <i class="fas fa-sign-out-alt mr-3"></i>
145
+ <span class="nav-text">Logout</span>
146
+ </a>
147
+ </li>
148
+ </ul>
149
+ </div>
150
+ </nav>
151
+ </div>
152
+
153
+ <!-- Main Content -->
154
+ <div class="main-content flex-1 overflow-auto ml-64">
155
+ <!-- Header -->
156
+ <header class="bg-white shadow-sm p-4">
157
+ <div class="flex justify-between items-center">
158
+ <h1 class="text-2xl font-bold text-gray-800">Student Performance Dashboard</h1>
159
+ <div class="flex items-center space-x-4">
160
+ <div class="relative">
161
+ <input type="text" placeholder="Search..." class="pl-10 pr-4 py-2 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-primary focus:border-transparent">
162
+ <i class="fas fa-search absolute left-3 top-3 text-gray-400"></i>
163
+ </div>
164
+ <div class="flex items-center space-x-2">
165
+ <div class="relative">
166
+ <i class="fas fa-bell text-gray-600 text-xl cursor-pointer"></i>
167
+ <span class="absolute -top-1 -right-1 bg-danger text-white text-xs rounded-full h-5 w-5 flex items-center justify-center">3</span>
168
+ </div>
169
+ <div class="flex items-center">
170
+ <img src="https://randomuser.me/api/portraits/women/44.jpg" alt="Profile" class="h-8 w-8 rounded-full">
171
+ <span class="ml-2 text-gray-700 hidden md:inline">Dr. Sarah Johnson</span>
172
+ </div>
173
+ </div>
174
+ </div>
175
+ </div>
176
+ </header>
177
+
178
+ <!-- Dashboard Content -->
179
+ <main class="p-6">
180
+ <!-- Stats Cards -->
181
+ <div class="grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6 mb-6">
182
+ <div class="bg-white p-6 rounded-xl shadow-sm">
183
+ <div class="flex items-center justify-between">
184
+ <div>
185
+ <p class="text-gray-500">Total Students</p>
186
+ <h3 class="text-3xl font-bold mt-2">248</h3>
187
+ </div>
188
+ <div class="bg-indigo-100 p-3 rounded-full">
189
+ <i class="fas fa-users text-primary text-xl"></i>
190
+ </div>
191
+ </div>
192
+ <div class="mt-4">
193
+ <span class="text-green-500 text-sm font-medium"><i class="fas fa-caret-up mr-1"></i> 12% from last term</span>
194
+ </div>
195
+ </div>
196
+ <div class="bg-white p-6 rounded-xl shadow-sm">
197
+ <div class="flex items-center justify-between">
198
+ <div>
199
+ <p class="text-gray-500">At Risk Students</p>
200
+ <h3 class="text-3xl font-bold mt-2">32</h3>
201
+ </div>
202
+ <div class="bg-red-100 p-3 rounded-full">
203
+ <i class="fas fa-exclamation-triangle text-danger text-xl"></i>
204
+ </div>
205
+ </div>
206
+ <div class="mt-4">
207
+ <span class="text-red-500 text-sm font-medium"><i class="fas fa-caret-up mr-1"></i> 8% from last term</span>
208
+ </div>
209
+ </div>
210
+ <div class="bg-white p-6 rounded-xl shadow-sm">
211
+ <div class="flex items-center justify-between">
212
+ <div>
213
+ <p class="text-gray-500">Avg. Attendance</p>
214
+ <h3 class="text-3xl font-bold mt-2">87%</h3>
215
+ </div>
216
+ <div class="bg-green-100 p-3 rounded-full">
217
+ <i class="fas fa-calendar-check text-secondary text-xl"></i>
218
+ </div>
219
+ </div>
220
+ <div class="mt-4">
221
+ <span class="text-green-500 text-sm font-medium"><i class="fas fa-caret-up mr-1"></i> 3% from last term</span>
222
+ </div>
223
+ </div>
224
+ <div class="bg-white p-6 rounded-xl shadow-sm">
225
+ <div class="flex items-center justify-between">
226
+ <div>
227
+ <p class="text-gray-500">Avg. Performance</p>
228
+ <h3 class="text-3xl font-bold mt-2">72%</h3>
229
+ </div>
230
+ <div class="bg-yellow-100 p-3 rounded-full">
231
+ <i class="fas fa-chart-bar text-warning text-xl"></i>
232
+ </div>
233
+ </div>
234
+ <div class="mt-4">
235
+ <span class="text-green-500 text-sm font-medium"><i class="fas fa-caret-up mr-1"></i> 5% from last term</span>
236
+ </div>
237
+ </div>
238
+ </div>
239
+
240
+ <!-- Main Dashboard Area -->
241
+ <div class="grid grid-cols-1 lg:grid-cols-3 gap-6 mb-6">
242
+ <!-- Performance Prediction Chart -->
243
+ <div class="bg-white p-6 rounded-xl shadow-sm lg:col-span-2">
244
+ <div class="flex justify-between items-center mb-6">
245
+ <h2 class="text-lg font-semibold text-gray-800">Performance Prediction Overview</h2>
246
+ <div class="flex space-x-2">
247
+ <button class="px-3 py-1 bg-primary text-white text-sm rounded-lg">This Term</button>
248
+ <button class="px-3 py-1 bg-gray-100 text-gray-600 text-sm rounded-lg">Last Term</button>
249
+ <button class="px-3 py-1 bg-gray-100 text-gray-600 text-sm rounded-lg">Custom</button>
250
+ </div>
251
+ </div>
252
+ <div class="chart-container">
253
+ <canvas id="performanceChart"></canvas>
254
+ </div>
255
+ </div>
256
+
257
+ <!-- Risk Distribution -->
258
+ <div class="bg-white p-6 rounded-xl shadow-sm">
259
+ <h2 class="text-lg font-semibold text-gray-800 mb-6">Risk Distribution</h2>
260
+ <div class="chart-container">
261
+ <canvas id="riskChart"></canvas>
262
+ </div>
263
+ <div class="mt-4 grid grid-cols-3 gap-2 text-center">
264
+ <div>
265
+ <div class="h-2 bg-danger rounded-full"></div>
266
+ <p class="text-xs mt-1">High Risk</p>
267
+ <p class="font-semibold">13%</p>
268
+ </div>
269
+ <div>
270
+ <div class="h-2 bg-warning rounded-full"></div>
271
+ <p class="text-xs mt-1">Medium Risk</p>
272
+ <p class="font-semibold">24%</p>
273
+ </div>
274
+ <div>
275
+ <div class="h-2 bg-secondary rounded-full"></div>
276
+ <p class="text-xs mt-1">Low Risk</p>
277
+ <p class="font-semibold">63%</p>
278
+ </div>
279
+ </div>
280
+ </div>
281
+ </div>
282
+
283
+ <!-- At-Risk Students -->
284
+ <div class="bg-white p-6 rounded-xl shadow-sm mb-6">
285
+ <div class="flex justify-between items-center mb-6">
286
+ <h2 class="text-lg font-semibold text-gray-800">At-Risk Students Requiring Intervention</h2>
287
+ <button class="px-4 py-2 bg-primary text-white text-sm rounded-lg flex items-center">
288
+ <i class="fas fa-plus mr-2"></i> Create Intervention Plan
289
+ </button>
290
+ </div>
291
+ <div class="overflow-x-auto">
292
+ <table class="min-w-full divide-y divide-gray-200">
293
+ <thead class="bg-gray-50">
294
+ <tr>
295
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Student</th>
296
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Course</th>
297
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Risk Level</th>
298
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Predicted Grade</th>
299
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Attendance</th>
300
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Last Assessment</th>
301
+ <th scope="col" class="px-6 py-3 text-left text-xs font-medium text-gray-500 uppercase tracking-wider">Action</th>
302
+ </tr>
303
+ </thead>
304
+ <tbody class="bg-white divide-y divide-gray-200">
305
+ <tr class="risk-high hover:bg-gray-50">
306
+ <td class="px-6 py-4 whitespace-nowrap">
307
+ <div class="flex items-center">
308
+ <div class="flex-shrink-0 h-10 w-10">
309
+ <img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/men/32.jpg" alt="">
310
+ </div>
311
+ <div class="ml-4">
312
+ <div class="text-sm font-medium text-gray-900">Michael Johnson</div>
313
+ <div class="text-sm text-gray-500">ID: S-2023-045</div>
314
+ </div>
315
+ </div>
316
+ </td>
317
+ <td class="px-6 py-4 whitespace-nowrap">
318
+ <div class="text-sm text-gray-900">Calculus II</div>
319
+ <div class="text-sm text-gray-500">MAT202</div>
320
+ </td>
321
+ <td class="px-6 py-4 whitespace-nowrap">
322
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-danger text-white">High Risk</span>
323
+ </td>
324
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
325
+ <div class="flex items-center">
326
+ <span class="font-bold text-danger">D+</span>
327
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
328
+ <div class="bg-danger h-2 rounded-full" style="width: 45%"></div>
329
+ </div>
330
+ </div>
331
+ </td>
332
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
333
+ <div class="flex items-center">
334
+ <span class="font-bold">68%</span>
335
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
336
+ <div class="bg-danger h-2 rounded-full" style="width: 68%"></div>
337
+ </div>
338
+ </div>
339
+ </td>
340
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
341
+ <div class="flex items-center">
342
+ <span class="font-bold">52%</span>
343
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
344
+ <div class="bg-danger h-2 rounded-full" style="width: 52%"></div>
345
+ </div>
346
+ </div>
347
+ </td>
348
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
349
+ <button class="text-primary hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button>
350
+ <button class="text-secondary hover:text-green-700"><i class="fas fa-comment-alt"></i></button>
351
+ </td>
352
+ </tr>
353
+ <tr class="risk-high hover:bg-gray-50">
354
+ <td class="px-6 py-4 whitespace-nowrap">
355
+ <div class="flex items-center">
356
+ <div class="flex-shrink-0 h-10 w-10">
357
+ <img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/women/28.jpg" alt="">
358
+ </div>
359
+ <div class="ml-4">
360
+ <div class="text-sm font-medium text-gray-900">Emily Rodriguez</div>
361
+ <div class="text-sm text-gray-500">ID: S-2023-112</div>
362
+ </div>
363
+ </div>
364
+ </td>
365
+ <td class="px-6 py-4 whitespace-nowrap">
366
+ <div class="text-sm text-gray-900">Organic Chemistry</div>
367
+ <div class="text-sm text-gray-500">CHE301</div>
368
+ </td>
369
+ <td class="px-6 py-4 whitespace-nowrap">
370
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-danger text-white">High Risk</span>
371
+ </td>
372
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
373
+ <div class="flex items-center">
374
+ <span class="font-bold text-danger">D</span>
375
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
376
+ <div class="bg-danger h-2 rounded-full" style="width: 40%"></div>
377
+ </div>
378
+ </div>
379
+ </td>
380
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
381
+ <div class="flex items-center">
382
+ <span class="font-bold">72%</span>
383
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
384
+ <div class="bg-danger h-2 rounded-full" style="width: 72%"></div>
385
+ </div>
386
+ </div>
387
+ </td>
388
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
389
+ <div class="flex items-center">
390
+ <span class="font-bold">48%</span>
391
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
392
+ <div class="bg-danger h-2 rounded-full" style="width: 48%"></div>
393
+ </div>
394
+ </div>
395
+ </td>
396
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
397
+ <button class="text-primary hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button>
398
+ <button class="text-secondary hover:text-green-700"><i class="fas fa-comment-alt"></i></button>
399
+ </td>
400
+ </tr>
401
+ <tr class="risk-medium hover:bg-gray-50">
402
+ <td class="px-6 py-4 whitespace-nowrap">
403
+ <div class="flex items-center">
404
+ <div class="flex-shrink-0 h-10 w-10">
405
+ <img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/men/45.jpg" alt="">
406
+ </div>
407
+ <div class="ml-4">
408
+ <div class="text-sm font-medium text-gray-900">David Kim</div>
409
+ <div class="text-sm text-gray-500">ID: S-2023-087</div>
410
+ </div>
411
+ </div>
412
+ </td>
413
+ <td class="px-6 py-4 whitespace-nowrap">
414
+ <div class="text-sm text-gray-900">Data Structures</div>
415
+ <div class="text-sm text-gray-500">CS202</div>
416
+ </td>
417
+ <td class="px-6 py-4 whitespace-nowrap">
418
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-warning text-white">Medium Risk</span>
419
+ </td>
420
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
421
+ <div class="flex items-center">
422
+ <span class="font-bold text-warning">C+</span>
423
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
424
+ <div class="bg-warning h-2 rounded-full" style="width: 65%"></div>
425
+ </div>
426
+ </div>
427
+ </td>
428
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
429
+ <div class="flex items-center">
430
+ <span class="font-bold">82%</span>
431
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
432
+ <div class="bg-warning h-2 rounded-full" style="width: 82%"></div>
433
+ </div>
434
+ </div>
435
+ </td>
436
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
437
+ <div class="flex items-center">
438
+ <span class="font-bold">65%</span>
439
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
440
+ <div class="bg-warning h-2 rounded-full" style="width: 65%"></div>
441
+ </div>
442
+ </div>
443
+ </td>
444
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
445
+ <button class="text-primary hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button>
446
+ <button class="text-secondary hover:text-green-700"><i class="fas fa-comment-alt"></i></button>
447
+ </td>
448
+ </tr>
449
+ <tr class="risk-medium hover:bg-gray-50">
450
+ <td class="px-6 py-4 whitespace-nowrap">
451
+ <div class="flex items-center">
452
+ <div class="flex-shrink-0 h-10 w-10">
453
+ <img class="h-10 w-10 rounded-full" src="https://randomuser.me/api/portraits/women/63.jpg" alt="">
454
+ </div>
455
+ <div class="ml-4">
456
+ <div class="text-sm font-medium text-gray-900">Sophia Chen</div>
457
+ <div class="text-sm text-gray-500">ID: S-2023-134</div>
458
+ </div>
459
+ </div>
460
+ </td>
461
+ <td class="px-6 py-4 whitespace-nowrap">
462
+ <div class="text-sm text-gray-900">Physics II</div>
463
+ <div class="text-sm text-gray-500">PHY202</div>
464
+ </td>
465
+ <td class="px-6 py-4 whitespace-nowrap">
466
+ <span class="px-2 inline-flex text-xs leading-5 font-semibold rounded-full bg-warning text-white">Medium Risk</span>
467
+ </td>
468
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
469
+ <div class="flex items-center">
470
+ <span class="font-bold text-warning">C</span>
471
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
472
+ <div class="bg-warning h-2 rounded-full" style="width: 60%"></div>
473
+ </div>
474
+ </div>
475
+ </td>
476
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
477
+ <div class="flex items-center">
478
+ <span class="font-bold">78%</span>
479
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
480
+ <div class="bg-warning h-2 rounded-full" style="width: 78%"></div>
481
+ </div>
482
+ </div>
483
+ </td>
484
+ <td class="px-6 py-4 whitespace-nowrap text-sm text-gray-500">
485
+ <div class="flex items-center">
486
+ <span class="font-bold">62%</span>
487
+ <div class="ml-2 w-full bg-gray-200 rounded-full h-2">
488
+ <div class="bg-warning h-2 rounded-full" style="width: 62%"></div>
489
+ </div>
490
+ </div>
491
+ </td>
492
+ <td class="px-6 py-4 whitespace-nowrap text-sm font-medium">
493
+ <button class="text-primary hover:text-indigo-900 mr-3"><i class="fas fa-eye"></i></button>
494
+ <button class="text-secondary hover:text-green-700"><i class="fas fa-comment-alt"></i></button>
495
+ </td>
496
+ </tr>
497
+ </tbody>
498
+ </table>
499
+ </div>
500
+ <div class="mt-4 text-center">
501
+ <button class="text-primary font-medium hover:underline">View All At-Risk Students (32)</button>
502
+ </div>
503
+ </div>
504
+
505
+ <!-- Recent Interventions -->
506
+ <div class="grid grid-cols-1 lg:grid-cols-2 gap-6">
507
+ <div class="bg-white p-6 rounded-xl shadow-sm">
508
+ <h2 class="text-lg font-semibold text-gray-800 mb-6">Recent Interventions</h2>
509
+ <div class="space-y-4">
510
+ <div class="flex items-start p-3 border border-gray-100 rounded-lg hover:bg-gray-50">
511
+ <div class="bg-indigo-100 p-2 rounded-full mr-3">
512
+ <i class="fas fa-comments text-primary"></i>
513
+ </div>
514
+ <div class="flex-1">
515
+ <div class="flex justify-between items-start">
516
+ <h4 class="font-medium text-gray-800">Counseling Session</h4>
517
+ <span class="text-xs text-gray-500">2 days ago</span>
518
+ </div>
519
+ <p class="text-sm text-gray-600 mt-1">Michael Johnson attended a counseling session to address academic challenges.</p>
520
+ <div class="mt-2">
521
+ <span class="inline-block bg-green-100 text-green-800 text-xs px-2 py-1 rounded">Completed</span>
522
+ </div>
523
+ </div>
524
+ </div>
525
+ <div class="flex items-start p-3 border border-gray-100 rounded-lg hover:bg-gray-50">
526
+ <div class="bg-yellow-100 p-2 rounded-full mr-3">
527
+ <i class="fas fa-book text-warning"></i>
528
+ </div>
529
+ <div class="flex-1">
530
+ <div class="flex justify-between items-start">
531
+ <h4 class="font-medium text-gray-800">Tutoring Assignment</h4>
532
+ <span class="text-xs text-gray-500">1 week ago</span>
533
+ </div>
534
+ <p class="text-sm text-gray-600 mt-1">Emily Rodriguez was assigned a tutor for Organic Chemistry.</p>
535
+ <div class="mt-2">
536
+ <span class="inline-block bg-blue-100 text-blue-800 text-xs px-2 py-1 rounded">In Progress</span>
537
+ </div>
538
+ </div>
539
+ </div>
540
+ <div class="flex items-start p-3 border border-gray-100 rounded-lg hover:bg-gray-50">
541
+ <div class="bg-purple-100 p-2 rounded-full mr-3">
542
+ <i class="fas fa-user-friends text-purple-600"></i>
543
+ </div>
544
+ <div class="flex-1">
545
+ <div class="flex justify-between items-start">
546
+ <h4 class="font-medium text-gray-800">Study Group</h4>
547
+ <span class="text-xs text-gray-500">2 weeks ago</span>
548
+ </div>
549
+ <p class="text-sm text-gray-600 mt-1">David Kim joined a peer study group for Data Structures.</p>
550
+ <div class="mt-2">
551
+ <span class="inline-block bg-green-100 text-green-800 text-xs px-2 py-1 rounded">Completed</span>
552
+ </div>
553
+ </div>
554
+ </div>
555
+ </div>
556
+ <div class="mt-4 text-center">
557
+ <button class="text-primary font-medium hover:underline">View All Interventions</button>
558
+ </div>
559
+ </div>
560
+
561
+ <!-- Performance Factors -->
562
+ <div class="bg-white p-6 rounded-xl shadow-sm">
563
+ <h2 class="text-lg font-semibold text-gray-800 mb-6">Key Performance Factors</h2>
564
+ <div class="space-y-4">
565
+ <div>
566
+ <div class="flex justify-between mb-1">
567
+ <span class="text-sm font-medium text-gray-700">Attendance Rate</span>
568
+ <span class="text-sm font-medium text-gray-700">87%</span>
569
+ </div>
570
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
571
+ <div class="bg-secondary h-2.5 rounded-full" style="width: 87%"></div>
572
+ </div>
573
+ <p class="text-xs text-gray-500 mt-1">Strong correlation with performance (r=0.72)</p>
574
+ </div>
575
+ <div>
576
+ <div class="flex justify-between mb-1">
577
+ <span class="text-sm font-medium text-gray-700">Assignment Submission</span>
578
+ <span class="text-sm font-medium text-gray-700">76%</span>
579
+ </div>
580
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
581
+ <div class="bg-warning h-2.5 rounded-full" style="width: 76%"></div>
582
+ </div>
583
+ <p class="text-xs text-gray-500 mt-1">Moderate correlation with performance (r=0.58)</p>
584
+ </div>
585
+ <div>
586
+ <div class="flex justify-between mb-1">
587
+ <span class="text-sm font-medium text-gray-700">Previous Grades</span>
588
+ <span class="text-sm font-medium text-gray-700">68%</span>
589
+ </div>
590
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
591
+ <div class="bg-primary h-2.5 rounded-full" style="width: 68%"></div>
592
+ </div>
593
+ <p class="text-xs text-gray-500 mt-1">Strongest predictor of performance (r=0.81)</p>
594
+ </div>
595
+ <div>
596
+ <div class="flex justify-between mb-1">
597
+ <span class="text-sm font-medium text-gray-700">Engagement Metrics</span>
598
+ <span class="text-sm font-medium text-gray-700">62%</span>
599
+ </div>
600
+ <div class="w-full bg-gray-200 rounded-full h-2.5">
601
+ <div class="bg-indigo-500 h-2.5 rounded-full" style="width: 62%"></div>
602
+ </div>
603
+ <p class="text-xs text-gray-500 mt-1">Includes LMS activity, participation (r=0.49)</p>
604
+ </div>
605
+ </div>
606
+ <div class="mt-6 bg-blue-50 p-4 rounded-lg">
607
+ <h4 class="font-medium text-blue-800 mb-2">AI Recommendation</h4>
608
+ <p class="text-sm text-blue-700">Focus on improving assignment submission rates through automated reminders and early intervention for late submissions. This could improve overall performance by 8-12% based on historical data.</p>
609
+ </div>
610
+ </div>
611
+ </div>
612
+ </main>
613
+ </div>
614
+ </div>
615
+
616
+ <script src="https://cdn.jsdelivr.net/npm/chart.js"></script>
617
+ <script>
618
+ // Toggle sidebar
619
+ document.getElementById('toggleSidebar').addEventListener('click', function() {
620
+ document.querySelector('.sidebar').classList.toggle('collapsed');
621
+ });
622
+
623
+ // Performance Chart
624
+ const performanceCtx = document.getElementById('performanceChart').getContext('2d');
625
+ const performanceChart = new Chart(performanceCtx, {
626
+ type: 'line',
627
+ data: {
628
+ labels: ['Week 1', 'Week 2', 'Week 3', 'Week 4', 'Week 5', 'Week 6', 'Week 7'],
629
+ datasets: [
630
+ {
631
+ label: 'Current Term',
632
+ data: [65, 68, 70, 72, 71, 73, 75],
633
+ borderColor: '#4F46E5',
634
+ backgroundColor: 'rgba(79, 70, 229, 0.1)',
635
+ tension: 0.3,
636
+ fill: true
637
+ },
638
+ {
639
+ label: 'Previous Term',
640
+ data: [60, 62, 65, 63, 66, 68, 70],
641
+ borderColor: '#9CA3AF',
642
+ backgroundColor: 'rgba(156, 163, 175, 0.1)',
643
+ borderDash: [5, 5],
644
+ tension: 0.3,
645
+ fill: true
646
+ },
647
+ {
648
+ label: 'Predicted',
649
+ data: [65, 68, 70, 72, 74, 76, 78],
650
+ borderColor: '#10B981',
651
+ backgroundColor: 'rgba(16, 185, 129, 0.1)',
652
+ borderDash: [5, 5],
653
+ tension: 0.3,
654
+ fill: true
655
+ }
656
+ ]
657
+ },
658
+ options: {
659
+ responsive: true,
660
+ maintainAspectRatio: false,
661
+ plugins: {
662
+ legend: {
663
+ position: 'top',
664
+ },
665
+ tooltip: {
666
+ mode: 'index',
667
+ intersect: false,
668
+ }
669
+ },
670
+ scales: {
671
+ y: {
672
+ beginAtZero: false,
673
+ min: 50,
674
+ max: 100,
675
+ ticks: {
676
+ callback: function(value) {
677
+ return value + '%';
678
+ }
679
+ }
680
+ }
681
+ }
682
+ }
683
+ });
684
+
685
+ // Risk Distribution Chart
686
+ const riskCtx = document.getElementById('riskChart').getContext('2d');
687
+ const riskChart = new Chart(riskCtx, {
688
+ type: 'doughnut',
689
+ data: {
690
+ labels: ['High Risk', 'Medium Risk', 'Low Risk'],
691
+ datasets: [{
692
+ data: [13, 24, 63],
693
+ backgroundColor: [
694
+ '#EF4444',
695
+ '#F59E0B',
696
+ '#10B981'
697
+ ],
698
+ borderWidth: 0
699
+ }]
700
+ },
701
+ options: {
702
+ responsive: true,
703
+ maintainAspectRatio: false,
704
+ cutout: '70%',
705
+ plugins: {
706
+ legend: {
707
+ display: false,
708
+ }
709
+ }
710
+ }
711
+ });
712
+
713
+ // Simulate AI processing
714
+ function simulateAIProcessing() {
715
+ const aiRecommendation = document.querySelector('.bg-blue-50 p');
716
+ aiRecommendation.classList.add('animate-pulse');
717
+
718
+ setTimeout(() => {
719
+ aiRecommendation.classList.remove('animate-pulse');
720
+ }, 3000);
721
+ }
722
+
723
+ // Run simulation every 10 seconds
724
+ setInterval(simulateAIProcessing, 10000);
725
+ </script>
726
+ <p style="border-radius: 8px; text-align: center; font-size: 12px; color: #fff; margin-top: 16px;position: fixed; left: 8px; bottom: 8px; z-index: 10; background: rgba(0, 0, 0, 0.8); padding: 4px 8px;">Made with <img src="https://enzostvs-deepsite.hf.space/logo.svg" alt="DeepSite Logo" style="width: 16px; height: 16px; vertical-align: middle;display:inline-block;margin-right:3px;filter:brightness(0) invert(1);"><a href="https://enzostvs-deepsite.hf.space" style="color: #fff;text-decoration: underline;" target="_blank" >DeepSite</a> - 🧬 <a href="https://enzostvs-deepsite.hf.space?remix=Jansome/da-model" style="color: #fff;text-decoration: underline;" target="_blank" >Remix</a></p></body>
727
+ </html>