GraM Frontend

An alternative React-based Frontend for a teacher's grading system

Links
State
On Hold
Related Projects

Description

I started this project because I wanted to learn React.js. The Plan was to make a better frontend for GraM, because the PHP-based original would refresh and reset the position on each request. Because of this I started building a (pretty much feature complete) Android App in 2018/19.

After I came up with the idea of this I noticed that this couldn't be done purely client-side because of missing CORS-Headers on the GraM servers. So I created a API with proper CORS-Headers and as an additional benefit: HTTPS

My webapp uses Redux to store the global state such as the fetched data. I also implemented Polling using redux-saga which refreshes the data every minute by default. It is also installable as a Progressive Web App and uses client-side asset caching for nearly instant page loading after the first visit. I used a dark themed version of Bootstrap for the design because my own designs look bad :/

Built with

JavaScript
React.js
NPM
GitHub Actions
Bootstrap
Cloudflare Workers
GitHub Pages