Skip to content

Alainx277/hslu-web-helper

Repository files navigation

HSLU Web Helper

Adds extra UI to the Hochschule Luzern website(s).

The module listing page now shows the requirements for your bachelors degree and how many credits you have already achieved. When registering for modules, the current amount of credits for that type is shown right on the page, so you know if you still need to take any modules of that type.

Installation

Install on Firefox

Install on Chrome

Screenshots

a screenshot of the HSLU "Meine Anmeldungen" page a screenshot of the HSLU module registration page

Development

Install dependencies

npm install

Build extension

npm run build

Load the unpacked extension in Chrome or Firefox (note: Firefox extension must be built with env BROWSER=firefox)

Before creating a pull request, lint and format your changes.

npm run lint
npm run format

Module data

Data about modules is stored inside of the extension using the src/modules.json file. It needs to be updated once per semester using the modules.py script. The only argument is the first available semester (should always be F21):

python .\modules.py F21

This process uses the API for the HSLU Module Master maintained by other students. We cache the data here because the API might stop existing.

In case the API ever stops being updated there's the original module-extractor Rust program which reads the data from the actual PDFs on MyCampus. Unfortunately the newer PDFs use a matrix which can't be parsed using text, as it originally was implemented. I'd rely on a multimodal LLM or other neural network OCR solution to parse the matrix from the PDF.

Firefox Release Build

This section is required for Mozilla to review the addon.

Software:

  • Windows 10
  • node v20.11.0
  • npm 10.2.4
  • powershell

Build instructions:

npm install
$env:BROWSER='firefox'
$env:NODE_ENV='production'
npm run build

About

Browser extension for HSLU websites

Topics

Resources

License

Stars

Watchers

Forks

Contributors