Grady
Grady is a tool to aid in the process of grading exams at the University of Goettingen, developed at the Institute for Computer Science.
Getting Started
Dependencies
If you are using Nix, all you'll need is:
Otherwise, you'll need the following to start developing:
Running the Application
There are two ways to run the application for local development:
- with only
devenv
- Using
bun
/npm
and, for running the database backend, either:
- A local installation of SurrealDB
- Docker, for running a SurrealDB container
devenv
(Recommended for Local Development)
Option 1: Running with After entering the devenv
shell, use it to set up and run the application and all required services locally.
If you're running devenv without direnv for automatic shell activation, enter the shell via
devenv shell
first
devenv up
Option 2: Running with Docker or local SurrealDB
If you prefer not to use devenv
, you can start a local SurrealDB instance manually or using Docker.
Database
Create a directory to persist the development database (this is needed to ensure correct filesystem permissions):
mkdir -p run/data
Using SurrealDB CLI
Install the SurrealDB CLI
Run a local SurrealDB instance with development credentials:
surreal start \
--bind 127.0.0.1:8000 \
--user root \
--pass root \
--log debug \
--import-file ./db/schema/schema.surql \
rocksdb://run/data/dev.db
Docker
For installing Docker on your system, refer to the Docker documentation
Run the SurrealDB Docker container with development credentials:
docker run --rm --pull always \
-p 8000:8000 \
--user $(id -u) \
-v $(pwd)/run/data:/data \
-v $(pwd)/db:/db \
surrealdb/surrealdb:latest start \
--bind 127.0.0.1:8000 \
--user root \
--pass root \
--log debug \
--import-file /db/schema/schema.surql \
rocksdb://data/dev.db
Frontend
- Install dependencies
bun install
Or
npm install
- Initialize development data
bun --bun run db/manage.ts init
Or use the compiled version if you don't have Bun installed:
On linux
./db/manage.linux_x64 init
On windows
./db/manage.win_x64.exe init
- Start the app
bun --bun run dev
Or
npm run dev
License
This project is licensed under the MIT License - see the LICENSE.md file for details