Multi-user quiz application allow administrators to set question sets, users to submit answers to the questions, and manual or automatic assessment of those answers.
This project is developed under MAC OS.
This project should be ran while virtual environment is activated. To install virtual environment(venv), type in your terminal:
python -m venv venv
Dependencies needed for running the system:
Flask
flask-login
sqlalchemy
flask-sqlalchemy
sqlalchemy-migrate
flask-wtf
Selenium
To install required modules, use command line:
pip3 install module_name
For example, to install Flask:
pip3 install Flask
To run the project, use command line:
flask run
The system will be running on http://localhost:5000
While the project is running, the first page is a welcome page.
If you don't have an account yet, press register now! Otherwise, just login.
After logged in, you can use the nevigation bar to choose:
Quiz: To choose question set
Result: To check marks you got
To answer questions, just type your answer in following text box (case sensitive).
All admin accounts are already stored in database, although admin can make normal users admin.
Admin users can use nevigation bar to choose:
Upload questions
Delete questions
Mark: manually mark questions
User management: add user(register), remove user, make other user admin
Please first make sure you got all required modules in dependency installed. Flask and jinja2 are used in this project.
Unit test: Simple test for database, model.
System test: Test for views.
(Note: It might not working well on windows or other operating system cause it might pop error 'selenium.common.exceptions.ElementClickInterceptedException: Message: element click intercepted: '. But it worked well on my mac system.)
Before running Unittest, you have to download chromedrive and change setting in app/init.py.
Download chromedriver from https://chromedriver.chromium.org/
(Note: The version of chrome you download has to be the same as your chrome browser)
First make sure your project is running in background using command:
flask run &
To run the test, use command line:
python -m test.unit
python -m test.test
app.js Author: Vincent Garreau - vincentgarreau.com particals.js Author: Vincent Garreau - vincentgarreau.com
Background of Application.html.