Simplify draft monitoring + sockets logic
[qomet.git] / README.md
CommitLineData
3844df81 1# qomet - WARNING: prototype stage
e99c53fb
BA
2
3### Questions Ouvertes ou à options Multiples pour l'Évaluation des éTudiants
4
3844df81 5Or "... pour Examens sur inTernet", in french. In english, just revert the acronym:
e99c53fb 6
a0fd8dd7
BA
7"sTudents Evaluation with Multiple choices or Open Questions (or ...inTernet Exams with).
8
9Source code of [qomet.auder.net](https://qomet.auder.net)
e99c53fb
BA
10
11## Features
12
13Allow teachers to create courses, containing assessments. Each of them can be public, or
14restricted to a classroom (identification by student ID).
15Individual answers to an exam are monitored in real time, and feedback is sent
16to each participant in the end (answers, computing grade).
17Once a series of exam is over, the teacher can get all grades in CSV format from course page.
18
19*Note:* for now the monitoring + socket part is still unimplemented,
20and exams composition is limited to single question exercises.
3844df81 21Automatic grades are also not available.
e99c53fb
BA
22
23## Installation
24
25See setup/README
26
27## Usage
28
29TODO: write tutorial, maybe a demo video.
30
31*Note about exams:*
32Once an assessment is started, it's impossible to quit and restart using another browser,
33because a password stored in cookies need to be sent with every request.
34So under normal circumstances it's also impossible for a student to continue the exam of another.
3844df81 35(The password is destroyed when exam ends or when the teacher decides to finish assessment).
e99c53fb
BA
36
37## Limitations
38
39Version "standard classroom": some potential cheating ways,
40 - headless browsers with renamed http-user-agent; difficult to counter with 100% confidence
a39991b9 41 - block JS script using e.g. [uBlock Origin](https://github.com/gorhill/uBlock), then re-inject the script cleaned of listeners
e99c53fb
BA
42 - intercept HTTP response to "start quiz" signal, re-compose the page without listeners and run
43
3844df81 44The only way to garanty zero internet cheat is to use some SELinux configuration in kiosk mode
e99c53fb
BA
45with just one safe web browser enabled, e.g. [surf](https://surf.suckless.org/).
46Not that more traditional ways of cheating may still be used (phones, talking, signs, memos...)
47
48## Alternative softwares
49
50 * [moodle](https://moodle.org)<br/>
51 Full-featured (open source!) project to manage learning activities.
52 Too big for my purpose; however qomet might be re-thought as a moodle plugin
53 (although [at least one](https://moodle.org/plugins/mod_exam) already exists for this task).
54
55 * [evalbox](https://evalbox.com/)<br/>
56 The closest to my goals, but only for simple quizzes, and not actively developed anymore.
57
58 * [wims](http://wims.unice.fr/~wims/)<br/>
59 Full-featured (and open source) training center for students, with various types of exercises,
60 possibly in exam mode too.
61 The spirit, however, is more "enhanced homework" than "internet exams".
62
63 * [socrative](https://socrative.com/)<br/>
64 Nice looking realtime feedback (lacking in evalbox), but thought for interactive classes.
65 In this perspective, I also found [educaplay](https://www.educaplay.com) appealing.
66
67 * [testmoz](https://testmoz.com/)<br/>
68 Old-fashioned look, lacking some features. Still interesting to set-up a quick test.