├── .vscode └── settings.json ├── imgs ├── esti.png ├── map.png ├── pred.png ├── road.png ├── team.png ├── bottom.gif ├── grade.png ├── gradea.png ├── guidee.png ├── image.png ├── image1.png ├── image2.png ├── image3.png ├── image4.png ├── image5.png ├── image6.png ├── image7.png ├── person.png ├── tools.png ├── traker.png ├── travel.png ├── about-1.png ├── gpa-logo.png ├── guidelite.png ├── homeimg.png ├── info-img.png ├── logo-me.png ├── assessment.png ├── guider-img.png └── vacation-4.png ├── Presentation.pdf ├── .github └── ISSUE_TEMPLATE │ ├── custom.md │ ├── feature_request.md │ └── bug_report.md ├── pages ├── pwa-fix.js ├── model.py ├── student_gpa_data.csv ├── todo.html ├── predictor.html ├── guider.html ├── assessment.html ├── attendance.html ├── tracker.html ├── estimator.html ├── roadmap.html └── about.html ├── service-worker.js ├── SECURITY.md ├── manifest.json ├── LICENSE ├── app.py ├── index.html ├── README.md └── styles.css /.vscode/settings.json: -------------------------------------------------------------------------------- 1 | { 2 | "workbench.editor.enablePreview": false 3 | } -------------------------------------------------------------------------------- /imgs/esti.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/esti.png -------------------------------------------------------------------------------- /imgs/map.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/map.png -------------------------------------------------------------------------------- /imgs/pred.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/pred.png -------------------------------------------------------------------------------- /imgs/road.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/road.png -------------------------------------------------------------------------------- /imgs/team.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/team.png -------------------------------------------------------------------------------- /imgs/bottom.gif: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/bottom.gif -------------------------------------------------------------------------------- /imgs/grade.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/grade.png -------------------------------------------------------------------------------- /imgs/gradea.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/gradea.png -------------------------------------------------------------------------------- /imgs/guidee.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/guidee.png -------------------------------------------------------------------------------- /imgs/image.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image.png -------------------------------------------------------------------------------- /imgs/image1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image1.png -------------------------------------------------------------------------------- /imgs/image2.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image2.png -------------------------------------------------------------------------------- /imgs/image3.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image3.png -------------------------------------------------------------------------------- /imgs/image4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image4.png -------------------------------------------------------------------------------- /imgs/image5.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image5.png -------------------------------------------------------------------------------- /imgs/image6.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image6.png -------------------------------------------------------------------------------- /imgs/image7.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/image7.png -------------------------------------------------------------------------------- /imgs/person.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/person.png -------------------------------------------------------------------------------- /imgs/tools.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/tools.png -------------------------------------------------------------------------------- /imgs/traker.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/traker.png -------------------------------------------------------------------------------- /imgs/travel.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/travel.png -------------------------------------------------------------------------------- /Presentation.pdf: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/Presentation.pdf -------------------------------------------------------------------------------- /imgs/about-1.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/about-1.png -------------------------------------------------------------------------------- /imgs/gpa-logo.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/gpa-logo.png -------------------------------------------------------------------------------- /imgs/guidelite.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/guidelite.png -------------------------------------------------------------------------------- /imgs/homeimg.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/homeimg.png -------------------------------------------------------------------------------- /imgs/info-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/info-img.png -------------------------------------------------------------------------------- /imgs/logo-me.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/logo-me.png -------------------------------------------------------------------------------- /imgs/assessment.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/assessment.png -------------------------------------------------------------------------------- /imgs/guider-img.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/guider-img.png -------------------------------------------------------------------------------- /imgs/vacation-4.png: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/alurubalakarthikeya/CalGPA/HEAD/imgs/vacation-4.png -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/custom.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Custom issue template 3 | about: Describe this issue template's purpose here. 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | 11 | -------------------------------------------------------------------------------- /pages/pwa-fix.js: -------------------------------------------------------------------------------- 1 | document.addEventListener('DOMContentLoaded', () => { 2 | const isPWA = window.matchMedia('(display-mode: standalone)').matches || window.navigator.standalone; 3 | if (isPWA) { 4 | const navbar = document.querySelector('.navbar'); 5 | if (navbar) { 6 | navbar.style.paddingTop = 'env(safe-area-inset-top)'; 7 | } 8 | const navbarContents = navbar.querySelectorAll('h1, .menu, .options, .sidenav'); 9 | navbarContents.forEach(content => { 10 | content.style.marginTop = '0'; 11 | }); 12 | } 13 | }); -------------------------------------------------------------------------------- /pages/model.py: -------------------------------------------------------------------------------- 1 | import pandas as pd 2 | from sklearn.linear_model import LinearRegression 3 | 4 | # Load data 5 | df = pd.read_csv('student_gpa_data.csv') 6 | 7 | # sample data 8 | X = df[['internal_marks', 'see_marks', 'total_marks']] 9 | y = df['gpa'] 10 | 11 | # Train model 12 | model = LinearRegression() 13 | model.fit(X, y) 14 | 15 | # Predict GPA for a new student 16 | new_internal = 50 17 | new_external = 35 18 | new_total = new_internal + new_external 19 | predicted_gpa = model.predict([[new_internal, new_external, new_total]]) 20 | print(f"Predicted GPA: {predicted_gpa[0]:.2f}") -------------------------------------------------------------------------------- /service-worker.js: -------------------------------------------------------------------------------- 1 | 2 | const CACHE_NAME = 'calgpa-cache-v1'; 3 | const urlsToCache = [ 4 | '/', 5 | '/index.html', 6 | '/styles.css', 7 | '/functional.js', 8 | '/imgs/gpa-logo.png' 9 | ]; 10 | 11 | self.addEventListener('install', event => { 12 | event.waitUntil( 13 | caches.open(CACHE_NAME) 14 | .then(cache => { 15 | return cache.addAll(urlsToCache); 16 | }) 17 | ); 18 | }); 19 | 20 | self.addEventListener('fetch', event => { 21 | event.respondWith( 22 | caches.match(event.request) 23 | .then(response => { 24 | return response || fetch(event.request); 25 | }) 26 | ); 27 | }); -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/feature_request.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Feature request 3 | about: Suggest an idea for this project 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Is your feature request related to a problem? Please describe.** 11 | A clear and concise description of what the problem is. Ex. I'm always frustrated when [...] 12 | 13 | **Describe the solution you'd like** 14 | A clear and concise description of what you want to happen. 15 | 16 | **Describe alternatives you've considered** 17 | A clear and concise description of any alternative solutions or features you've considered. 18 | 19 | **Additional context** 20 | Add any other context or screenshots about the feature request here. 21 | -------------------------------------------------------------------------------- /SECURITY.md: -------------------------------------------------------------------------------- 1 | # Security Policy 2 | 3 | ## Supported Versions 4 | 5 | Use this section to tell people about which versions of your project are 6 | currently being supported with security updates. 7 | 8 | | Version | Supported | 9 | | ------- | ------------------ | 10 | | 5.1.x | :white_check_mark: | 11 | | 5.0.x | :x: | 12 | | 4.0.x | :white_check_mark: | 13 | | < 4.0 | :x: | 14 | 15 | ## Reporting a Vulnerability 16 | 17 | Use this section to tell people how to report a vulnerability. 18 | 19 | Tell them where to go, how often they can expect to get an update on a 20 | reported vulnerability, what to expect if the vulnerability is accepted or 21 | declined, etc. 22 | -------------------------------------------------------------------------------- /manifest.json: -------------------------------------------------------------------------------- 1 | { 2 | "name": "CalGPA", 3 | "short_name": "CalGPA", 4 | "description": "A tool to estimate your GPA based on your internal marks.", 5 | "start_url": "index.html", 6 | "display": "standalone", 7 | "background_color": "#ffffff", 8 | "theme_color": "rgba(13, 132, 122, 0.96)", 9 | "icons": [ 10 | { 11 | "src": "imgs/gpa-logo.png", 12 | "sizes": "192x192", 13 | "type": "image/png", 14 | "purpose": "any" 15 | }, 16 | { 17 | "src": "imgs/gpa-logo.png", 18 | "sizes": "512x512", 19 | "type": "image/png", 20 | "purpose": "any" 21 | }, 22 | { 23 | "src": "imgs/gpa-logo.png", 24 | "sizes": "192x192", 25 | "type": "image/png", 26 | "purpose": "maskable" 27 | }, 28 | { 29 | "src": "imgs/gpa-logo.png", 30 | "sizes": "512x512", 31 | "type": "image/png", 32 | "purpose": "maskable" 33 | } 34 | ] 35 | } -------------------------------------------------------------------------------- /pages/student_gpa_data.csv: -------------------------------------------------------------------------------- 1 | internal_marks,see_marks,total_marks,gpa 2 | 52,36,88,9.1 3 | 48,32,80,8.4 4 | 55,38,93,9.6 5 | 40,28,68,7.2 6 | 60,40,100,10.0 7 | 35,25,60,6.5 8 | 50,30,80,8.3 9 | 45,35,80,8.4 10 | 58,39,97,9.8 11 | 42,30,72,7.6 12 | 53,37,90,9.3 13 | 47,33,80,8.4 14 | 56,40,96,9.7 15 | 38,27,65,6.8 16 | 59,39,98,9.9 17 | 44,34,78,8.2 18 | 51,36,87,9.0 19 | 49,31,80,8.3 20 | 57,38,95,9.6 21 | 41,29,70,7.4 22 | 54,37,91,9.4 23 | 46,32,78,8.1 24 | 60,40,100,10.0 25 | 39,28,67,7.0 26 | 55,39,94,9.7 27 | 43,33,76,8.0 28 | 52,35,87,9.0 29 | 48,34,82,8.5 30 | 58,40,98,9.9 31 | 37,26,63,6.6 32 | 56,38,94,9.6 33 | 45,32,77,8.0 34 | 53,36,89,9.2 35 | 47,34,81,8.4 36 | 59,40,99,10.0 37 | 40,27,67,7.0 38 | 54,38,92,9.5 39 | 44,31,75,7.9 40 | 51,35,86,8.9 41 | 49,33,82,8.5 42 | 57,39,96,9.8 43 | 42,29,71,7.5 44 | 55,37,92,9.5 45 | 46,33,79,8.2 46 | 60,39,99,10.0 47 | 38,25,63,6.6 48 | 56,39,95,9.7 49 | 43,32,75,7.9 50 | 52,36,88,9.1 51 | 48,35,83,8.6 52 | 58,40,98,9.9 53 | 41,28,69,7.2 -------------------------------------------------------------------------------- /.github/ISSUE_TEMPLATE/bug_report.md: -------------------------------------------------------------------------------- 1 | --- 2 | name: Bug report 3 | about: Create a report to help us improve 4 | title: '' 5 | labels: '' 6 | assignees: '' 7 | 8 | --- 9 | 10 | **Describe the bug** 11 | A clear and concise description of what the bug is. 12 | 13 | **To Reproduce** 14 | Steps to reproduce the behavior: 15 | 1. Go to '...' 16 | 2. Click on '....' 17 | 3. Scroll down to '....' 18 | 4. See error 19 | 20 | **Expected behavior** 21 | A clear and concise description of what you expected to happen. 22 | 23 | **Screenshots** 24 | If applicable, add screenshots to help explain your problem. 25 | 26 | **Desktop (please complete the following information):** 27 | - OS: [e.g. iOS] 28 | - Browser [e.g. chrome, safari] 29 | - Version [e.g. 22] 30 | 31 | **Smartphone (please complete the following information):** 32 | - Device: [e.g. iPhone6] 33 | - OS: [e.g. iOS8.1] 34 | - Browser [e.g. stock browser, safari] 35 | - Version [e.g. 22] 36 | 37 | **Additional context** 38 | Add any other context about the problem here. 39 | -------------------------------------------------------------------------------- /LICENSE: -------------------------------------------------------------------------------- 1 | MIT License 2 | 3 | Copyright (c) 2024 Bala Karthikeya Aluru 4 | 5 | Permission is hereby granted, free of charge, to any person obtaining a copy 6 | of this software and associated documentation files (the "Software"), to deal 7 | in the Software without restriction, including without limitation the rights 8 | to use, copy, modify, merge, publish, distribute, sublicense, and/or sell 9 | copies of the Software, and to permit persons to whom the Software is 10 | furnished to do so, subject to the following conditions: 11 | 12 | The above copyright notice and this permission notice shall be included in all 13 | copies or substantial portions of the Software. 14 | 15 | THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR 16 | IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, 17 | FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE 18 | AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER 19 | LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, 20 | OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE 21 | SOFTWARE. 22 | -------------------------------------------------------------------------------- /app.py: -------------------------------------------------------------------------------- 1 | from flask import Flask, request, jsonify 2 | import joblib 3 | app = Flask(__name__) 4 | model = joblib.load('model.pkl') 5 | @app.route('/predict', methods=['POST']) 6 | def predict(): 7 | data = request.json 8 | features = [data['feature1'], data['feature2'], data['feature3']] 9 | prediction = model.predict([features]) 10 | return jsonify({'prediction': prediction[0]}) 11 | if __name__ == '__main__': 12 | app.run(debug=True) 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 | 110 | 111 | 112 | 113 | 114 | 115 | 116 | 117 | 118 | 119 | 120 | 121 | 122 | 123 | 124 | 125 | 126 | 127 | 128 | 129 | 130 | 131 | 132 | 133 | 134 | 135 | 136 | 137 | 138 | 139 | 140 | 141 | 142 | 143 | 144 | 145 | 146 | 147 | 148 | 149 | 150 | 151 | 152 | 153 | 154 | 155 | 156 | 157 | 158 | 159 | 160 | 161 | 162 | 163 | 164 | 165 | 166 | 167 | 168 | 169 | 170 | 171 | 172 | 173 | 174 | 175 | 176 | 177 | 178 | 179 | 180 | 181 | 182 | 183 | 184 | 185 | 186 | 187 | 188 | 189 | 190 | 191 | 192 | 193 | 194 | 195 | 196 | 197 | 198 | 199 | 200 | 201 | 202 | 203 | 204 | 205 | 206 | 207 | 208 | 209 | 210 | 211 | 212 | 213 | 214 | 215 | 216 | 217 | 218 | 219 | 220 | 221 | 222 | 223 | 224 | 225 | 226 | 227 | 228 | 229 | 230 | 231 | 232 | 233 | 234 | 235 | 236 | 237 | 238 | 239 | 240 | 241 | 242 | 243 | 244 | 245 | 246 | 247 | 248 | 249 | 250 | 251 | 252 | 253 | 254 | 255 | 256 | 257 | 258 | 259 | 260 | 261 | 262 | 263 | 264 | 265 | 266 | 267 | 268 | 269 | 270 | 271 | 272 | 273 | 274 | 275 | 276 | 277 | 278 | 279 | 280 | 281 | 282 | 283 | 284 | 285 | 286 | 287 | 288 | 289 | 290 | 291 | 292 | 293 | 294 | 295 | 296 | 297 | 298 | 299 | 300 | 301 | 302 | 303 | 304 | 305 | 306 | 307 | 308 | 309 | 310 | 311 | 312 | 313 | 314 | 315 | 316 | 317 | 318 | 319 | 320 | 321 | 322 | 323 | 324 | 325 | 326 | 327 | 328 | 329 | 330 | 331 | 332 | 333 | 334 | 335 | 336 | 337 | 338 | 339 | 340 | 341 | 342 | 343 | 344 | 345 | 346 | 347 | 348 | 349 | 350 | 351 | 352 | 353 | 354 | 355 | 356 | 357 | 358 | 359 | 360 | 361 | 362 | 363 | 364 | 365 | 366 | 367 | 368 | 369 | 370 | 371 | 372 | 373 | 374 | 375 | 376 | 377 | 378 | 379 | 380 | 381 | 382 | 383 | 384 | 385 | 386 | 387 | 388 | 389 | 390 | 391 | 392 | 393 | 394 | 395 | 396 | 397 | 398 | 399 | 400 | 401 | 402 | 403 | 404 | 405 | 406 | 407 | 408 | 409 | 410 | 411 | 412 | 413 | 414 | 415 | 416 | 417 | 418 | 419 | 420 | 421 | 422 | 423 | 424 | 425 | 426 | 427 | 428 | 429 | 430 | 431 | 432 | 433 | 434 | 435 | 436 | 437 | 438 | 439 | 440 | 441 | 442 | 443 | 444 | 445 | 446 | 447 | 448 | 449 | 450 | 451 | 452 | 453 | 454 | 455 | 456 | 457 | 458 | 459 | 460 | 461 | 462 | 463 | 464 | 465 | 466 | 467 | 468 | 469 | 470 | 471 | 472 | 473 | 474 | 475 | 476 | 477 | 478 | 479 | 480 | 481 | 482 | 483 | 484 | 485 | 486 | 487 | 488 | 489 | 490 | 491 | 492 | 493 | 494 | 495 | 496 | 497 | 498 | 499 | 500 | #hehe 501 | 502 | 503 | 504 | 505 | 506 | 507 | 508 | 509 | 510 | 511 | 512 | 513 | 514 | 515 | 516 | 517 | 518 | -------------------------------------------------------------------------------- /pages/todo.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | To Do | CalGPA 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | A+ 15 |
16 |
17 |
18 | 19 | 20 | 21 |
22 |
53 |
54 | 55 |
56 | 57 | Socials 58 | 59 |
60 | 61 | 62 | 63 |
64 |
65 |

Track your progress

66 |

Track your progress and understand your abilities

67 |
68 |
69 |
70 |

To Do List


71 |
72 | 73 | 74 |
75 |
76 |
    77 |
78 |
79 |
80 |
0%
81 |

82 |
83 |
84 |
85 |
86 |
87 |
88 |
hiiii
89 | 90 | 91 | 92 | 93 | -------------------------------------------------------------------------------- /index.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | 8 | 9 | Home | CalGPA 10 | 11 | 12 | 13 |
14 |
15 | A+ 16 |
17 |
18 |
19 |
50 |
51 |
52 | 53 |
54 | 55 | Socials 56 | 57 |
58 | 59 | 60 | 61 |
62 |
63 |
64 |

Welcome to CalGPA


65 |

Check predictions made by our tools of your SGPA based on your internal marks!!

66 |
67 | 68 | 69 |
70 |
71 |
72 | GPA 73 |
74 |
75 |
76 | 77 |
78 |

Install The CalGPA App on your device for better experience and offline usage.

79 | 80 | 81 |
82 | 90 | 91 | 92 | -------------------------------------------------------------------------------- /pages/predictor.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Predictor.io | CalGPA 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | A+ 16 |
17 |
18 |
19 | 20 | 21 | 22 |
23 |
54 |
55 | 56 |
57 |
58 |
59 |
60 |

Welcome to Predictor.io


61 |

Predictor.io is a tool which helps student analyze the GPA using Machine Learning techniques. Our mission with the Predictor feature is to provide students with accurate and insightful predictions about their academic performance. We understand that anticipating future outcomes can help in better planning and preparation, and we strive to offer personalized support to help you achieve your academic goals.

62 |

63 |
64 | img 65 |
66 |
67 |
68 |

Currently under development

69 |
70 |
71 | 72 | 106 | 107 | 108 | 109 | -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | #

CalGPA

2 | 3 |

4 | CalGPA Logo 5 |

6 | 7 | ## Description 8 | CalGPA is a web app designed to help uni students analyze and check their semester performance. It allows students to track their academic progress in real-time and provides various tools to maintain a good academic record. App can be downloaded for offline access and better usability. 9 | 10 | With **CalGPA**, students can: 11 | - Calculate their estimated SGPA based on Internal marks. 12 | - Set academic goals based on their estimated GPA. 13 | - Analyze the use of a subject in their career. 14 | - Plan for going home without fear of attendance issues. 15 | - Check Project: [Here](https://alurubalakarthikeya.github.io/CalGPA/)📍 16 | 17 | ##

Problem Statement:

18 | University students often struggle to track their academic progress, set realistic goals, and manage their attendance effectively. The lack of proper tools to estimate grades, analyze subject importance, and plan vacations without affecting attendance makes academic planning challenging. 19 | 20 | ##

Solution:

21 | CalGPA is a web-based application designed to help students monitor and improve their academic performance. It provides tools for GPA estimation, subject analysis, and attendance tracking, enabling students to make informed decisions. With features like real-time outputs, a Progressive Web App (PWA) interface, CalGPA ensures students can optimize their study plans and academic goals effortlessly. 22 | 23 | 24 | 25 | 26 | ## Features 27 | 28 | ### Academic Tools 29 | - 🧮 GPA Calculator (Estimator.io) 30 | - 📚 Subject Analyzer (Guider.io) 31 | - 🪂 Attendance & Vacation Planner (Attender.io) 32 | 33 | ### App Features 34 | - Progressive Web App (PWA) 35 | - Dark/Light Mode 36 | - Real-Time Outputs 37 | - Unique User Interface 38 | - Responsive on Mobile and Desktop 39 | 40 | ### Upcoming Features 41 | - **ML based Predictions (Predictor.io):** Predictions made based on previous years results and your current progress in internals. 42 | - **Streak based Task Manager (Todo.io):** Streaks stimulate interest to complete tasks which is required to complete things way earlier 43 | - **Personalized Roadmaps (Tracker.io):** Tips and Steps to score particular gpa, choose from options and find ways 44 | --- 45 | 46 | ## Tools 47 | 48 | ### 🧮 **GPA Calculator (Estimator.io)** 49 | A tool that helps students to calculate their predicted sgpa based on their internal marks and predicted SEE marks. Which helps in accurate goal setting.
Check it here: [ Open](https://alurubalakarthikeya.github.io/CalGPA/pages/tracker.html)📍
50 |

51 | GPA Calculator 52 |

53 | 54 | ### 📚 **Subject Analyzer (Guider.io)** 55 | Guides on how to improve in specific subjects, their real-world applications, career opportunities, and study resources to get the opportunities related to the subject.
56 | Check it here: [ Open](https://alurubalakarthikeya.github.io/CalGPA/pages/guider.html)📍
57 |

58 | Subject Analyzer 59 |

60 | 61 | ### 🪂 **Vacation & Attendance Tracker (Attender.io)** 62 | Helps students plan to go home, without worrying about attendance requirements and provides insights on how to maintain the minimum required attendance.
63 | Check it here: [ Open](https://alurubalakarthikeya.github.io/CalGPA/pages/attendance.html)📍
64 |

65 | Attendance Tracker 66 |

67 | 68 | ## 🪐 UI Demo 69 |

70 | UI Demo 71 | UI Demo 72 |

73 | 74 | ## 🧰 Tech Stack 75 | 76 | ### 📱 **Frontend** 77 | ![HTML5](https://img.shields.io/badge/HTML5-E34F26?style=for-the-badge&logo=html5&logoColor=white) 78 | ![CSS3](https://img.shields.io/badge/CSS3-1572B6?style=for-the-badge&logo=css3&logoColor=white) 79 | ![JavaScript](https://img.shields.io/badge/JavaScript-F7DF1E?style=for-the-badge&logo=javascript&logoColor=black) 80 | 81 | ### 👨‍💻 **Backend** 82 | ![Flask](https://img.shields.io/badge/Flask-000000?style=for-the-badge&logo=flask&logoColor=white) 83 | ![Python](https://img.shields.io/badge/Python-3776AB?style=for-the-badge&logo=python&logoColor=white) 84 | 85 | ### 🔩 **Other Tools** 86 | ![Photoshop](https://img.shields.io/badge/Adobe%20Photoshop-31A8FF?style=for-the-badge&logo=adobephotoshop&logoColor=white) 87 | ![Figma](https://img.shields.io/badge/Figma-F24E1E?style=for-the-badge&logo=figma&logoColor=white) 88 | ![Canva](https://img.shields.io/badge/Canva-00C4CC?style=for-the-badge&logo=canva&logoColor=white) 89 | 90 | ### 🪛 **Version Control** 91 | ![Git](https://img.shields.io/badge/Git-F05032?style=for-the-badge&logo=git&logoColor=white) 92 | ![GitHub](https://img.shields.io/badge/GitHub-181717?style=for-the-badge&logo=github&logoColor=white) 93 | 94 | ### 🚥 **Hosting** 95 | ![GitHub Pages](https://img.shields.io/badge/GitHub%20Pages-222222?style=for-the-badge&logo=githubpages&logoColor=white) 96 | 97 | ## ⬇️ Installation & Setup 98 | 99 | 1. **Clone the repository:**
100 | ```bash 101 | git clone https://github.com/alurubalakarthikeya/CalGPA.git 102 | ``` 103 | ## 👤 Contributing 104 | We welcome contributions! To get started:
105 | 106 | 1. **Fork the repository.

** 107 | 108 | 2. **Create a new branch:** 109 | ```bash 110 | git checkout -b feature-branch 111 | ``` 112 | 3. **Make changes and commit:** 113 | ```bash 114 | git commit -m "Add new feature" 115 | ``` 116 | 4. **Push to your branch:** 117 | ```bash 118 | git push origin feature-branch 119 | ``` 120 | 5. **Create a pull request for review.** 121 | 122 | ## 📄 License 123 | This project is licensed under the **MIT License**. See the [LICENSE](LICENSE) file for details. 124 | 125 | ## 📈 Project Stats 126 |

Start Date: 29-10-2024

127 |

Developer: @alurubalakarthikeya

128 | 129 | ![License](https://img.shields.io/github/license/alurubalakarthikeya/CalGPA) 130 | ![GitHub Stars](https://img.shields.io/github/stars/alurubalakarthikeya/CalGPA?style=social) 131 | ![GitHub Contributors](https://img.shields.io/github/contributors/alurubalakarthikeya/CalGPA) 132 | ![GitHub Repo Size](https://img.shields.io/github/repo-size/alurubalakarthikeya/CalGPA) 133 | ![Maintenance](https://img.shields.io/maintenance/yes/2025) 134 | ![GitHub Last Commit](https://img.shields.io/github/last-commit/alurubalakarthikeya/CalGPA) 135 | 136 | ## Project Link: 137 | [Check Project ](https://alurubalakarthikeya.github.io/CalGPA/)📍 138 | -------------------------------------------------------------------------------- /pages/guider.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Guider.io | CalGPA 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | A+ 15 |
16 |
17 |
18 | 19 | 20 | 21 |
22 |
53 |
54 | 55 |
56 |
57 |
58 |
59 |

Welcome to Guider.io


60 |

Guider.io is an interface which guides you about how to get better in a subject and how the subject is gonna help in the real world scenarios (basically how much does the subject related job pays you and skills required to get the job) There are also few course links provided for each subject why? section, to work on the subject and score better. Kinda reality check lol ;)!!


61 |

62 |
63 | img 64 |
65 |

66 |
67 |
68 |

( Note: For now the subjects are of 1st & 2nd year only )

69 | Available Subjects:
FSD, DLD, DS, C, OOP, LADE, SMC, Chemisty, Physics, English, Electrical, Electronics, Java, EGDT, Biology, CIPE, Mechanical, Mechanics, Environmental Science, TNT, DMGT, OS, CN and few more 3rd year subjects for now

70 | ( Attention: The expected salary depends on knowledge of the individual, so it is said not to take the expected salary seriously!! )

71 |
72 |
73 |
74 |

Enter your marks


75 | 76 | 77 | 78 | 79 | 80 |
81 |
82 |
Note: Enter marks for more information related the particular subject and how it helps you in your daily life
83 |
84 |
85 | 119 | 120 | 121 | -------------------------------------------------------------------------------- /pages/assessment.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | 7 | Assessment.io | CalGPA 8 | 9 | 10 | 11 | 12 | 13 |
14 |
15 | A+ 16 |
17 |
18 | 24 |
25 | 26 | 27 | 28 |
29 |
60 |
61 | 62 |
63 |
64 |
65 |
66 |

Welcome to Assessment.io


67 |

Assessment.io is a tool which focuses on helping students pre-calculate their internal marks split-up (such as Mid-semester, assignments, lab exams and projects ) based on the user input.

68 |

69 |
70 | img 71 |


72 |
73 |
74 |

Instructions:

Step-1: Enter number of credited subjects (n) you have
Step-2: Then you'll find new n boxes (for n subjects) fill the info
Step-3: Enter the subject name, number of credits of the subject, obtained CIA Marks and predicted SEE Marks and based on all these info you will see your grade
Step-4: Enter the details for all the credited subjects you have
Step-5:After filling all the subjects info press the Submit all button and There you go your estimation is done!

75 |
76 |
77 |

Enter the Subjects


78 | 79 | 80 |
81 |
82 |
Tip: Maintaining higher grades in high credit subjects is benificial for both career and maintianing GPA

Note: This tracker is just to bring awareness among students of how they can plan and score better by analyzing with their inputs and grades
83 |

84 |
85 | 86 |
87 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /pages/attendance.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Attendance.io | CalGPA 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | A+ 15 |
16 |
17 |
48 |
49 | 50 | 51 | 52 |
53 |
54 | 55 |
56 |
57 |
58 |
59 |

Welcome to Attendance.io


60 |

Attendance.io is a tool which focuses on making attendance calculations easy for students especially for the once who want to take a long leave to go to their hometown and are worried about the minimum attendance requirement for the mid semester exams, it provides insights like how many more classes the student should attend after the vacation and the posibility of reaching the required percentage.

Note: This tool can be used for overall attendance or even for seperately for each subject

61 |

62 |
63 | img 64 |
65 |

66 |
67 |
68 |

69 | Instructions:

70 | Step-1: Enter the required percentage which you want to maintain even after the leave.

71 | Step-2: Tick the days which you are planning to take a leave.

72 | Step-3: Enter the number of classes you attended till date.

73 | Step-4: Enter the total number of classes till date.

74 | Step-5: Press the submit button, and you'll find the current percentage. Below that, you'll find the future percentage which is after leave, and below the form, you'll find a box that displays how many more classes you should attend if there's a shortage in your attendance after the leave. 75 |

76 |
77 |
78 |
79 |

Choose an Attendance tool to continue:

80 | 81 | 82 |
83 |
84 | Note: Calculator is a basic attendance percentage calculation tool. Suggestor is a tool that calculates and tells how likely you can skip classes for a vacation and still maintain the required percentage. 85 |
86 |
87 |
88 |
89 | 122 | 123 | 124 | 125 | -------------------------------------------------------------------------------- /pages/tracker.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Estimator.io | CalGPA 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | A+ 15 |
16 |
17 |
18 | 19 | 20 | 21 |
22 |
53 |
54 | 55 |
56 |
57 |
58 |
59 |

Welcome to Estimator.io


60 |

Estimator.io is a tool which focuses on bringing awareness in students that even a single mark can change their grade by minus one or even plus one. So by using ths tool, students can now estimate their predicted GPA based on their inputs and then creating goals for the SEE and CIA Marks through the forms below, It gets easy once you know what's actually pulling you back!

61 |

62 |
63 | img 64 |
65 |

66 |
67 |

Instructions:

Step 1: Enter the number of credited subjects (n) you are enrolled in.
Step 2: Upon submission, n input fields will appear. Fill in the required details for each subject.
Step 3: For each subject, provide the subject name, credit value, obtained CIA marks, and predicted SEE marks. Your grade will be calculated based on this information.
Step 4: Repeat the process for all credited subjects.
Step 5: Once all subject details are entered, click the "Submit All" button to complete your estimation.

68 |
69 |
70 |

Enter the Subjects


71 | 72 | 73 |
74 |
75 |
Tip: Maintaining higher grades in high credit subjects is benificial for both career and maintianing GPA

Note: This tracker is just to bring awareness among students of how they can plan and score better by analyzing with their inputs and grades
76 |

77 |
78 |
Input forms will appear here
79 |

80 |
81 |
82 | 83 |
84 | 118 | 119 | 120 | -------------------------------------------------------------------------------- /pages/estimator.html: -------------------------------------------------------------------------------- 1 | 2 | 3 | 4 | 5 | 6 | Estimators | CalGPA 7 | 8 | 9 | 10 | 11 | 12 |
13 |
14 | A+ 15 |
16 |
17 |
18 | 19 | 20 | 21 |
22 |
53 |
54 | 55 |
56 |
57 |
58 |

Our Estimators



59 |
60 |
61 |
62 |
63 |

Guider


64 |

Guider.io helps you with guidance that gives better understanding over a subject and effort that is required for each subject, to score and understand the core concepts and how subjects progress impacts both in industry knowledge and CGPA with resource links provided

65 | 66 |
67 |
68 |
69 |
70 |

Estimator


71 |

Estimator.io is a tool that takes input of your current semester marks for all your subjects and predicts your GPA based on the SEE marks you predict and enter for each subject, which makes it easier to students to analyze which subject to focus and how to study and score good

72 | 73 |
74 |
75 |
76 |
77 |

Attendance


78 |

Attendance.io is a tool which will help you analyze how many classes you need to attend to attain a certain percentage, after taking leave for a long duration, it's annoying to use calculator apps calculating for attendace percentage after everyclass.

79 | 80 |
81 |
82 |
83 |
84 |

Predictor


85 |

Predictor.io is a ML model based on previous year data, which may vary but still can predict more close to the actual result in most cases, this process is done using neural networks which analyze the data and predict gpa based on hardness levels you chose for each subjects

86 | 87 |
88 |
89 | 93 |
94 |
95 |