Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

A free, open-source grade tracking site used by 750+ students at 15+ universities and colleges around the world

Notifications You must be signed in to change notification settings

jacksonrakena/gradekeeper

Open more actions menu

Repository files navigation

Gradekeeper

Try it now: gradekeeper.xyz

API Client
Better Stack Badge Better Stack Badge

Gradekeeper is an free, open-source Rust + React web app that simplifies grade tracking and projections for university students across the globe.

This repository holds the TypeScript/React based client. For the Rust/Axum-based API server, see jacksonrakena/gradekeeper-server.

Running a developer environment

You'll need Node 16 and NPM/Yarn installed. This guide will use NPM. You'll also need a Rust compiler that supports the 2021 edition.

Server

First, clone jacksonrakena/gradekeeper-server.

  1. Configure the parameters:

You'll need to copy .env.template to .env and fill out the fields.

Field name Description
DATABASE_URL A Postgres connection string.
JWT_SECRET A random string of any length, used to encrypt JWTs.
GOOGLE_CLIENT_ID, GOOGLE_CLIENT_SECRET Your Google credentials for login. You can get these from the Google Cloud Console.
PERMITTED_REDIRECT_URLS A list of comma-separated permitted URLs. For example, the production server uses https://app.gradekeeper.xyz. For development, set this to something like http://localhost:5173.
  1. Run the API server in release mode.
cargo run --release

Client

First, clone jacksonrakena/gradekeeper.

  1. Install dependencies:
npm i
  1. Configure the client:

Create a file called .env.local and fill in values as per the below table:

Field name Description
VITE_API_BASE_URL The base url of the API server. For development, set this to something like http://localhost:3000.
  1. Start the development server:
npm run dev
  1. Visit the development server on the address that Vite generates.

Screenshots

Home page:
image

Copyright

Gradekeeper is © 2022—2025 Jackson Rakena and contributors.

About

A free, open-source grade tracking site used by 750+ students at 15+ universities and colleges around the world

Topics

Resources

Security policy

Stars

Watchers

Forks

Contributors 2

  •  
  •  

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.