GPA/Grade Checker
- 4 Devlogs
- 2 Total hours
Free Open-Source Grade and GPA Checker for Students
Free Open-Source Grade and GPA Checker for Students
Here is a snippet of the edited portion!
const [courses, setCourses] = useState<Course[]>(() => {
if (typeof window !== "undefined") {
const stored = localStorage.getItem("gc_courses");
if (stored) return JSON.parse(stored);
}
// Default fallback starter course
return [{
id: "default-course",
title: "Introduction to Calculus",
gradingMode: "weighted",
desiredGrade: 90,
weightedCategories: [
{ id: "1", name: "Exams", weight: 50, currentScore: 85, isExpanded: false, items: [] },
{ id: "2", name: "Homework", weight: 30, currentScore: 95, isExpanded: false, items: [] },
{ id: "3", name: "Final Exam", weight: 20, currentScore: null, isExpanded: false, items: [] }
],
pointsAssignments: [],
credits: 4,
courseLevel: "Regular"
}];
});```
Here is a snippet of the code for grading logic:
const DEFAULT_GPA_SCALE: GPAScaleRule[] = [
{ grade: "A+", points: 4.0, minPercent: 98},
{ grade: "A", points: 4.0, minPercent: 93 },
{ grade: "A-", points: 3.7, minPercent: 90 },
{ grade: "B+", points: 3.3, minPercent: 87 },
{ grade: "B", points: 3.0, minPercent: 83 },
{ grade: "B-", points: 2.7, minPercent: 80 },
{ grade: "C+", points: 2.3, minPercent: 77 },
{ grade: "C", points: 2.0, minPercent: 73 },
{ grade: "C-", points: 1.7, minPercent: 70 },
{ grade: "D+", points: 1.3, minPercent: 67 },
{ grade: "D", points: 1.0, minPercent: 60 },
{ grade: "F", points: 0.0, minPercent: 0 },
];