Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/jacksonrakena/gradekeeper
A free, open-source grade tracking site used by 600+ students at 15+ universities and colleges around the world
https://github.com/jacksonrakena/gradekeeper
education grade-calculator grade-tracking gradebook grades hacktoberfest
Last synced: about 2 months ago
JSON representation
A free, open-source grade tracking site used by 600+ students at 15+ universities and colleges around the world
- Host: GitHub
- URL: https://github.com/jacksonrakena/gradekeeper
- Owner: jacksonrakena
- Created: 2022-06-10T08:05:14.000Z (over 2 years ago)
- Default Branch: main
- Last Pushed: 2024-10-29T22:16:23.000Z (about 2 months ago)
- Last Synced: 2024-10-30T00:42:43.842Z (about 2 months ago)
- Topics: education, grade-calculator, grade-tracking, gradebook, grades, hacktoberfest
- Language: TypeScript
- Homepage: https://gradekeeper.xyz
- Size: 1.71 MB
- Stars: 8
- Watchers: 1
- Forks: 2
- Open Issues: 2
-
Metadata Files:
- Readme: README.md
- Security: SECURITY.md
Awesome Lists containing this project
README
# Gradekeeper
Try it now: [gradekeeper.xyz](https://app.gradekeeper.xyz)
|API|Client|
|--|--|
|[![Better Stack Badge](https://uptime.betterstack.com/status-badges/v1/monitor/1fqvl.svg)](https://uptime.betterstack.com/?utm_source=status_badge)|[![Better Stack Badge](https://uptime.betterstack.com/status-badges/v1/monitor/faze.svg)](https://uptime.betterstack.com/?utm_source=status_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](https://github.com/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](https://github.com/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](https://console.cloud.google.com/apis/credentials). |
| 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`.2. Run the API server in release mode.
```bash
cargo run --release
```#### Client
First, clone [jacksonrakena/gradekeeper](https://github.com/jacksonrakena/gradekeeper).1. Install dependencies:
```
npm i
```2. 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`. |
3. Start the development server:
```
npm run dev
```4. Visit the development server on the address that Vite generates.
### Screenshots
Home page:
![image](https://user-images.githubusercontent.com/44521335/173555755-fd49ea1b-b182-44c4-a423-7d573516acba.png)### Copyright
Gradekeeper is copyright © 2022—2024 Jackson Rakena.