guesswho1234 / Rex

Shiny dashboard for creating and evaluating written single / multiple-choice exams and creating reusable exercise pools.
GNU General Public License v3.0
5 stars 2 forks source link
exam exercise latex markdown multiple-choice pdf pool quiz r rexams scan scrambling single-choice sweave test

Rex: Shiny R/exams Dashboard Rex logo

This repository provides an interactive shiny dashboard for creating and evaluating written single / multiple-choice exams and creating reusable exercise pools. The underlying workhorse is R/exams, in particular the so-called NOPS exams functions, which support both randomized single-choice and multiple-choice exercises along with automatic evaluation.

Rex is developed by Sebastian Bachler and is still work-in-progress.

System Resources

For Rex to function properly, make sure the following resources are available on your system.

Run

Localhost

Install all the necessary R packages including their dependencies (see section "PACKAGES" in app.R).

Start up via shiny::runApp(appDir = '<base directory containing app.R>', host = '0.0.0.0', port = 3838); or, alternatively, via RStudio by opening and running app.R.

Docker

Build your image with the supplied docker file: docker build --platform linux/x86_64 -t rex ..

Run your image: docker run -p 3838:3838 rex.

Hosting

[!CAUTION] Do not host this version of Rex with uncontrolled / public access - Code from user input is parsed and evaluated without any security measures!

Use

Once you got the application running, authenticate using "rex" as both login and password.

Standard Workflow

Manage exercises

The entire management of exercises takes place in the "EXERCISES" tab of the application.

When managing exercise, the following input fields can be edited:

On the top right of the exercises tab, summary information on all exercises that are marked as examinable is shown.

Create exams

To create exams, navigate to the "EXAM" tab and further to "Create exam". There you will find a form with various options to set.

Before creating an exam make sure that exercises in the exercise tab are marked as examinable first.

When clicking the "Create exam" button the exam will be created. Once this process is finished, a popup will show and offer to save the exam. When saving the exam, a ZIP archive will be downloaded. In this archive you will find the following files:

Evaluate exams

To evaluate exams, navigate to the "EXAM" tab and further to "Evaluate exam". There you will find another form with various options to set.

Before the evaluation of an exam is possible, the following three files need to be prepared:

When clicking the "Evaluate exam" button the exam will be evaluated. At first all the supplied scans are processed. When this is finished, a popup will show and allow to inspect and manually edit any of the processed scans. When proceeding, the evaluation is finalized. When also this is finished, again a popup will show and offer to save the exam evaluation. When saving the exam evaluation, a ZIP archive will be downloaded. In this archive you will find the following files:

Contribute

Pull requests are welcome. For major changes, please open an issue first to discuss what you would like to change.