From c0a0dda3aa15eea469d9f16b2c70381d58987963 Mon Sep 17 00:00:00 2001 From: Andrea Fazzi Date: Wed, 4 Jun 2025 08:24:52 +0200 Subject: [PATCH] Update the README file to provide comprehensive information about Probo's functionality, setup, and usage. --- README.md | 69 +++++++++++++++++++++++- embed/init/templates/exam/exam.html.tmpl | 8 +-- 2 files changed, 71 insertions(+), 6 deletions(-) diff --git a/README.md b/README.md index 58e1ef6..c37c5b8 100644 --- a/README.md +++ b/README.md @@ -1,3 +1,68 @@ -# Probo Collector +# Probo 💯 -A backend to collect quizzes in a RESTful way. \ No newline at end of file +Probo is a software tool designed for creating, managing, and administering +exams based on multiple-choice quizzes. Its data storage approach is entirely +file-based, git-friendly, eliminating the need for an external database. Exam +sessions are delivered to participants via a responsive web interface. + +# Features + +* Uses plain text files for storage +* Uses Markdown for quiz creation +* Uses CSV for participant details +* Configures exam sessions via TOML +* It's a self-contained executable for easy deployment +* Features a responsive web interface for quiz administration +* Supports scripting with the [goja](https://github.com/dop251/goja) JavaScript engine + +# Quick Start + +Begin by installing Probo: + +``` +go get git.andreafazzi.eu/andrea/probo +``` + +To start using the software, create a directory: + +```bash +mkdir $HOME/myprobo +``` + +Once inside the directory, execute the `probo init` command: + +```bash +cd myprobo +probo init +``` + +This will generate a file and folder structure. The `datasource` folder contains +files for initiating quiz creation, participant registration, and test +construction. Below are the three necessary commands to build your first test. + +```bash +probo create participants datasource/participants/participants_math.csv +probo create quizzes datasource/quizzes/quizzes_math.md +probo create participants datasource/sessions/math_test.toml +``` + +The previous commands will generate an exam session, which includes students +listed in `participants_math.csv`. The quizzes for each participant's session +are selected from the `quizzes_math.md` file. Exam session characteristics are +configured within the `math_test.toml` file. The `programs/shuffled.js` script +defines the criteria for populating participants' exams. + +After generating the exam session, you can administer tests to participants via +a web interface. Probo allows you to launch a web server from your working +directory using the command: + +```bash +probo serve +``` + +Accessing `http://localhost:3000` in a browser and entering student or +administrator credentials will grant access to the testing sessions. + +# License + +MIT diff --git a/embed/init/templates/exam/exam.html.tmpl b/embed/init/templates/exam/exam.html.tmpl index f16305a..b22fe39 100644 --- a/embed/init/templates/exam/exam.html.tmpl +++ b/embed/init/templates/exam/exam.html.tmpl @@ -30,20 +30,20 @@

{{$quiz.Question.Text|markdown}}

{{range $answer := $quiz.Answers}} - {{if $.Session.IsActive}} + {{if $.Session.IsActive}}
{{else}}
{{end}} - {{end}} + {{end}}