Skip to content

epochml/imsa-grades

 
 

Repository files navigation

IMSA Grades

IMSA Grades is a site for exploring historical grade distributions at the Illinois Mathematics and Science Academy. It is not an official IMSA site.

Install

Use Node.js 18 or newer.

npm install

Build

Generate the static site in docs/:

npm run build

Validate the generated output:

npm run validate:static

Preview locally:

npm run serve:static

Runs at http://localhost:8080/.

BASE_PATH

By default, generated links assume the site is hosted at the domain root or on a custom domain:

BASE_PATH="" npm run build

For a GitHub Pages project site such as https://epochml.github.io/imsa-grades/, build with:

BASE_PATH="/imsa-grades" npm run build

BASE_PATH is applied to generated asset paths, navigation links, class links, and raw data downloads.

GitHub Pages Deployment

  1. Run npm run import:data after updating the workbook.
  2. Run npm run build.
  3. Commit the generated docs/ directory.
  4. Go to repository Settings -> Pages.
  5. Set Source to "Deploy from a branch."
  6. Select the main/master branch and /docs.
  7. Save.
  8. Wait for the Pages deployment.
  9. Use the GitHub Pages URL shown in Settings -> Pages.

Grade Bucket Rules

A = 4.0, A- = 3.67, B+ = 3.33, B = 3.0, B- = 2.67,
C+ = 2.33, C = 2.0, C- = 1.67, D = 1.0

Non-GPA grades such as P+, P, F, W, WF, I, and unlabeled workbook columns are preserved in the normalized data but excluded from GPA/statistical charts. A+ is preserved as its own normalized column and mapped into A/4.0 only for website GPA charts.

Development Notes

The old Express server remains available with:

npm start

Deployment no longer requires Express, Vercel, Firebase, Cloud Functions, or serverless functions. Node is used only at build/import time.

License

MIT License

Maintainer: Cinna Davis (cdavis@imsa.edu)

About

Historical grade distributions at the Illinois Mathematics and Science Academy

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

 
 
 

Contributors

Languages

  • JavaScript 76.9%
  • HTML 16.0%
  • CSS 7.1%