prelimQuiz: An open-source self-hosted Quiz Platform
prelimQuiz is an open source, simple and powerful self-hosted quiz platform that lets an organiser host a quiz either on a local server or in the cloud. It has a beautifully designed interface and it is customizable in a way that it offers you to choose your own type of quiz, be it a Multiple Choice Questions quiz, a general (one word or sentence quiz) or a mix of both. The front end of the website can be easily manipulated allowing you to give a personal touch to the website.
Technology Stack
- PHP
- MySQL
- MongoDB
- HTML & CSS with Bootstrap
Installation Instructions
-
LAMP Stack (Ubuntu)
- Install LAMP stack. Link (for Ubuntu): https://www.digitalocean.com/community/tutorials/how-to-install-linux-apache-mysql-php-lamp-stack-on-ubuntu-16-04
- Install MongoDB. Link: https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-16-04
- Add MongoDB driver for PHP.
- Clone prelimQuiz respository and change the Document Root of Apache to 'prelimquiz/public'.
- Run 'composer install' in 'prelimquiz' directory (Pre-requisite: composer)
- Update the vhost file (/etc/apache2/sites-available/000-default.conf) with the following content
<VirtualHost *:80> DocumentRoot "/var/www/html/public" <Directory "/var/www/html/public"> AllowOverride All Require all granted
- Start or restart the Apache server.
-
LEMP Stack (Ubuntu)
- Install LAMP stack. Link (for Ubuntu): https://www.digitalocean.com/community/tutorials/how-to-install-linux-nginx-mysql-php-lemp-stack-in-ubuntu-16-04
- Install MongoDB. Link: https://www.digitalocean.com/community/tutorials/how-to-install-mongodb-on-ubuntu-16-04
- Add MongoDB driver for PHP.
- Clone prelimQuiz respository and change the Document Root of Apache to 'prelimquiz/public'.
- Add the following line in prelimquiz nginx configuration file autoindex off; location / { if (!-d $request_filename){ set $rule_0 1$rule_0; } if (!-f $request_filename){ set $rule_0 2$rule_0; } if ($request_filename !~ "-l"){ set $rule_0 3$rule_0; } if ($rule_0 = "321"){ rewrite ^/(.+)$ /index.php?url=$1 last; } }
- Run 'composer install' in 'prelimquiz' directory (Pre-requisite: composer)
- Start or restart the Nginx server and open http://localhost/
-
XAMPP on Windows
- Download and install XAMPP. Link: https://sourceforge.net/projects/xampp/
- Download and install MongoDB Server. Link: https://www.mongodb.com/download-center
- Download the MongoDB driver for PHP and add the coorect extension in PHP configuration file. Link: https://docs.mongodb.com/ecosystem/drivers/php/
- Clone prelimQuiz repository and change the Document Root of Apache to 'prelimquiz/public'.
- Run 'composer install' in 'prelimquiz' directory (Pre-requisite: composer)
- Start or restart the Apache server and open http://localhost/