Try it now: gradekeeper.xyz
API | Client |
---|---|
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.
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.
First, clone jacksonrakena/gradekeeper-server.
- 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 . |
- Run the API server in release mode.
cargo run --release
First, clone jacksonrakena/gradekeeper.
- Install dependencies:
npm i
- 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 . |
- Start the development server:
npm run dev
- Visit the development server on the address that Vite generates.
Gradekeeper is copyright © 2022—2024 Jackson Rakena.