iQuiz is an LTI compliant Python (Django) application for creating and offering quizzes in MOOCs platforms. It can easily be integrated with LTI consumers (tested only with Open edX currently), and the instructor can start creating the quizzes they want to offer. iQuiz can be extended and modified to support various types of questions as required.
To use iQuiz, first install the iQuiz on the server (local machine for development), and then to use it in the openEdx, we have to The installation process of iQuiz is same as that of installing a django application on a server. For deployment in production, you must enable the SSL certificate to encrypt the data being transferred as LTI (OAuth) relies on the HTTPS for security. You can follow any guide available on internet to deploy Django Applications while in production , but if you don't want to invest time in deployment, then you can consider checking out Python Anywhere or Heroku like PaaS.
The quick installation for development and testing purpose is given below:
Instructions are for Ubuntu or Debian with Python 3.6 installed, for other system the process will slightly vary.
Major libraries include :
- django - The web framework used
- pyLTI - Used as LTI library
- lti - Used as LTI library (for django request authentication)
- Install
pip
andvirtualenv
$ sudo apt-get update # update apt-get
$ sudo apt-get install python3-pip # install pip if not already
$ sudo apt-get install virtualenv # install virtualenv to use virtual environment (good idea!)
- Create a virtual enviroment using virtualenv in a directory and activate it.
$ mkdir iQuiz && cd iQuiz
$ virtualenv . --python=python3.6 # creates a virtual enviroment in the directory iQuiz
$ source bin/activate
- Clone the repository with git to local system.
$ git clone https://www.github.com/anitagoel/iQuiz
- Install the requirements for iQuiz in the python virtual envrionement.
$ cd iQuiz
$ pip install -r requirements.txt # this will install the listing as in requirements.txt
- Run the development server
$ python manage.py runserver 0.0.0.0:8000
To integrate with Open edX, follow the steps given below:
This project is licensed under the MIT License - see the LICENSE.md file for details.