Init next.js port

This commit is contained in:
2021-12-07 22:38:31 -05:00
parent 6fde6b4f15
commit 2db4c28590
38 changed files with 18522 additions and 2 deletions

Binary file not shown.

BIN
public/favicon.ico Normal file

Binary file not shown.

After

Width:  |  Height:  |  Size: 5.3 KiB

View File

@@ -0,0 +1,23 @@
# Grade Calculator
Some professors do not properly configure the Canvas grade percentages based on their syllabus. Instead, they opt to use Excel to calculate the final grades after everything. It can be hard to estimate how much effort I should allocate for those classes without making an Excel file.
So I wrote this to quickly configure a calculator to see what I will end up getting in a class based on how much effort I put in.
## Short Summary of the JSON structure
The JSON is expected to have an array of section descriptions.
`name : string` is used as the class name. They have to be unique for each section to work as expected.
`title : string` is used as the heading for the sections.
`percentage : number` is used to weigh the section for the final grade.
`output : boolean` when true, it calculates the section score.
`points : [number]` used for each assignment in the section.
`bothMethods : boolean` when true, the weighted and unweighted scores are calculated.
`info : string` used for section description.

View File

@@ -0,0 +1,25 @@
[
{
"name": "final",
"title": "Final",
"percentage": 40,
"info": ""
},
{
"name": "midterm",
"title": "Midterm",
"percentage": 30
},
{
"name": "homework",
"title": "Homework",
"percentage": 10,
"points": [100,100,100,100,100,100]
},
{
"name": "lab",
"title": "Lab",
"percentage": 20,
"info": "Lab score is accurate and does not need any sub-calculation."
}
]

View File

@@ -0,0 +1,29 @@
[
{
"name": "exams",
"percentage": 70,
"points": [
100,
100,
100
],
"title": "Exams"
},
{
"name": "homework",
"percentage": 15,
"points": [
90,
50,
110,
90
],
"title": "Homework"
},
{
"info": "Lab score is accurate and does not need any sub-calculation.",
"name": "lab",
"percentage": 15,
"title": "Lab"
}
]

View File

@@ -0,0 +1,35 @@
[
{
"name": "midterm",
"percentage": 25,
"info":"http://www.ece.ucf.edu/~yuksem/teaching/EEL-4781-Spring-2021.html"
},
{
"name": "final",
"percentage": 25
},
{
"name": "project",
"percentage": 15,
"info":"Webserver project"
},
{
"name": "homework",
"percentage": 20,
"points": [
100,
100,
100,
100,
100
]
},
{
"name": "lab",
"percentage": 15,
"points": [
100,
100
]
}
]

View File

@@ -0,0 +1,41 @@
[
{
"name": "final",
"title": "Final",
"percentage": 25,
"info": ""
},
{
"name": "midterm",
"title": "Midterm",
"percentage": 50,
"points": [
20,
20,
20
],
"output": true
},
{
"name": "quiz",
"title": "Quiz",
"percentage": 10,
"points": [
30,
10,
15
],
"output": true,
"bothMethods": true
},
{
"name": "homework",
"title": "Homework",
"percentage": 10
},
{
"name": "attendance",
"title": "Attendance",
"percentage": 5
}
]

21
public/logo.svg Normal file
View File

@@ -0,0 +1,21 @@
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<svg xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:cc="http://creativecommons.org/ns#" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:svg="http://www.w3.org/2000/svg" xmlns="http://www.w3.org/2000/svg" version="1.1" viewBox="0 0 67.733332 67.733331" height="256" width="256">
<metadata>
<rdf:RDF>
<cc:Work rdf:about="">
<dc:format>image/svg+xml</dc:format>
<dc:type rdf:resource="http://purl.org/dc/dcmitype/StillImage" />
<dc:title></dc:title>
</cc:Work>
</rdf:RDF>
</metadata>
<g transform="translate(0,-229.26668)">
<path d="M -3.5234382e-6,249.58668 9.0311079,263.13335 -3.5234382e-6,276.68002 v 13.54667 L 18.06222,263.13335 -3.5234382e-6,236.04001 Z" style="opacity:1;fill:#ffffff;fill-opacity:0.2;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path d="M 4.5155513,229.26668 27.093332,263.13335 4.5155524,297.00002 h 9.0311116 l 22.57778,-33.86667 -22.57778,-33.86667 z" style="opacity:1;fill:#ffffff;fill-opacity:0.73333333;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path d="m 13.546665,229.26668 22.57778,33.86667 -22.57778,33.86667 h 9.031111 l 18.062225,-27.09334 18.062224,27.09334 h 9.031113 L 45.155557,263.13335 22.577776,229.26668 Z" style="fill:#ffffff;fill-opacity:1;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path style="opacity:1;fill:#ffffff;fill-opacity:0.73333333;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="m 36.124444,276.68002 13.546667,20.32 h 9.031113 L 40.64,269.90668 Z" />
<path style="opacity:1;fill:#ffffff;fill-opacity:0.46666667;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" d="M -3.5234382e-6,236.04001 18.06222,263.13335 -3.5234382e-6,290.22669 v 6.77333 H 4.5155524 L 27.093333,263.13335 4.5155524,229.26668 H -3.5234382e-6 Z" />
<path d="m 31.608889,283.45335 9.03111,13.54667 h 9.031112 l -13.546667,-20.32 z" style="opacity:1;fill:#ffffff;fill-opacity:0.46666667;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
<path d="m 27.093332,290.22669 4.515557,6.77333 H 40.64 l -9.031111,-13.54667 z" style="opacity:1;fill:#ffffff;fill-opacity:0.2;stroke:none;stroke-width:0.28266668;stroke-miterlimit:4;stroke-dasharray:none;stroke-opacity:1" />
</g>
</svg>

After

Width:  |  Height:  |  Size: 2.5 KiB

12
public/pages.json Normal file
View File

@@ -0,0 +1,12 @@
[
{"title":"About", "link": "/about"},
{"title":"Resources", "link": "/resources"},
{"title":"Recommended", "link": "/recommended"},
{"title":"Grade Calculator", "link": "/grade-calc"},
{"title":"GitHub", "link": "https://github.com/lambdapaul"},
{"title":"GitLab", "link": "https://gitlab.com/lambdapaul"},
{"title":"Mastodon", "link": "https://mastodon.social/@lambdapaul"},
{"title":"Matrix", "link": "https://matrix.to/#/@lambdapaul:matrix.org"},
{"title":"Keybase", "link": "https://keybase.io/lambdapaul"},
{"title":"Playlists", "link": "/playlists"}
]

61
public/site.json Normal file
View File

@@ -0,0 +1,61 @@
{
"type": "root",
"domain": "paulw.xyz",
"children": [
{
"name": "resources",
"type": "route"
},
{
"name": "recommended",
"type": "route"
},
{
"name": "playlists",
"type": "route"
},
{
"name": "grade-calc",
"type": "route",
"text": "Grade Calculator",
"children": [
{
"name": "readme",
"type": "route",
"text": "Grade Calculator Read Me"
}
]
},
{
"name": "about",
"type": "route"
},
{
"name": "github",
"type": "external",
"text": "GitHub",
"url": "https://github.com/LambdaPaul"
},
{
"name": "gitlab",
"type": "external",
"text": "GitLab",
"url": "https://gitlab.com/LambdaPaul"
},
{
"name": "mastodon",
"type": "external",
"url": "https://mastodon.social/@lambdapaul"
},
{
"name": "keybase",
"type": "external",
"url": "https://keybase.io/lambdapaul"
},
{
"name": "matrix",
"type": "external",
"url": "https://matrix.to/#/@lambdapaul:matrix.org"
}
]
}