Replace underscore by lodash (or better: ES6) Replace socket.io by Websockets ( https://www.npmjs.com/package/websocket ) time per question (in mode "one question at a time" from server...) compute grades after exam (in teacher's view) factorize redundant code in course.js, monitor.js and (TOWRITE) grade.js (showing students list + grades or papers) monitoring: main teacher should not be asked for pwd, and button "send feedback" hidden for others (or just disabled) ----- Draft format (compiled to json) > Some global (HTML) intro * some answer [trigger input/index in answers] + choix1 - choix 2 + choix 3 - choix4 * answer 2 (which can be on several lines) * With answer ===== questions group by index prefix 1.2.3 1.1 ...etc --> '1' NOTE: questions can contain parameterized exercises (how ? --> describe variables (syntax ?) --> write javascript script (OK, users trusted ? ==> safe mode possible if public website) Imaginary example: (using math.js) (avant l'exo) x: math.random() y: math.random() M: math.matrix([[7, x], [y, -3]]); res: math.det(M)
Calculer le déterminant de $$\begin{matrix}7 & x\\y & -3\end{matrix}$$
* ...