WARNING: This version is deprecated, not supported. Use at your own risk!
If you are interested in an up-to-date version, please contact me by creating an issue on this repo.
- 100% paperless examination software, 100% online;
- designed for automated testing and evaluation of students' answers;
- students are identified using their Google Apps account;
- variants based on student id;
- answers are submitted to a Firebase account, and can be exported to a JSON file;
- beautiful UI thanks to Google Polymer and Material Design.
- Clone the repo locally
npm installto install dependencies,
- Update exercises (
ex.2.code.template.md) using Markdown formatting and Mustache variables,
npm run buildto compile exercise data into
npm startto start the web server locally,
- Open localhost:8000 to test the web client locally.
How to deploy:
- Change Firebase's URL (from
public/scripts/app.js) to your own back-end instance,
- Change Google's client ID (from
public/index.html) so that students can identify using your own google apps domain name (or localhost),
- Protect your Firebase database to prevent data alteration/loss (cf comments in
npm run deployto push the project to production on Firebase Hosting (as defined in
How to evaluate students' answers
- Toggle the
0) of your Firebase database, to (de-)activate student access to the questionnaire,
npm run evalto compute the scores of your students (from the Firebase database) to
- Add variants to Quizzes.
- Prevent the on-tap event from firing when clicking outside of the choices.
- Right after login, initialize student's record in Firebase, in order to know their presence (and id) even if they didn't press the "save" button.
- Allow per-variable variants. => more combinations.
- Add a way to evalute students scores in real time, from a web interface.
- Prevent students from connecting an exam URL 1 hour after activation. (to avoid next students to see the test before their timeslot, even if other students finish early and show them the URL)
- BUG: sometimes, the submit button does not lead to the submission page. the page keeps loading (chrome's loading favicon) and the CPU heats. infinite loop?