Skip to content


Switch branches/tags

Latest commit


Git stats


Failed to load latest commit information.
Latest commit message
Commit time


ASQ aims to increase teacher awareness and student engagement in traditional brick-and-mortar classrooms by taking advantage of the latest Web technologies. With ASQ teachers broadcast a Web-based slideshow synchronously to all students. They can pose many types of questions, track the students answering them, filter and discuss answers in real time.

About The Name

ASQ stands for Answer, Slide, Question. The core concept of this app is a Slide that contains one or more Question(s) for which the audience submits solutions and finaly the correct Answer is displayed. The three initials: S, Q, A can be reordered give ASQ (many thanks to Max for the idea!).


This software is work-in-progress at an early stage (alpha). It might be unstable and insecure. You are using it at your own risk. We may introduce a lot of breaking changes in future releases. It is highly recommended that you install it behind the firewall of your institution/organization.


Docker with Docker Compose

You can find the ASQ docker image on the Docker Hub. With Docker Compose you can simply deploy ASQ with the deployment descriptor we provide. The steps are:

  1. Get the docker-compose.yml or docker-compose-ssl.yml file from this repo, according to your requirements, and place it in a folder named asq on your machine.
  2. Configure your deployment, if needed:
    • Replace the ${DOCKER_HUB_IMAGE_TAG} variable with an actual tag, by manually changing it, or by passing an environment variable to Docker Compose. You can find the list of available tags on the Docker Hub. One is devel, that is the default one.
    • Change the ${HOST} variable passed to the ASQ service to match your host name, the same way as you did for the ${DOCKER_HUB_IMAGE_TAG} variable. The default is
    • Change the ${SERVER_NAME} variable passed to the ASQ service to match your requirements (e.g., if ASQ has to be exposed on a subdomain on your server), the same way as you did for the ${DOCKER_HUB_IMAGE_TAG} variable. The default is _.
    • If you need LDAP support, change the ${ENABLE_LDAP} variable and the four LDAP_* variables according to your settings, or configure them as you did for the ${DOCKER_HUB_IMAGE_TAG} variable. Alternatively remove the four LDAP_* variables if not needed for your deployment.
    • If you use the docker-compose-ssl.yml file, also change or set the same way as you did for the ${DOCKER_HUB_IMAGE_TAG} variable, the following variables: ${HOST_SSL_CERTIFICATE_ABSOLUTE_PATH} and ${HOST_SSL_KEY_ABSOLUTE_PATH}. ${HOST_SSL_CERTIFICATE_ABSOLUTE_PATH} must be the absolute path of the ssl certificate for the nginx server and ${HOST_SSL_KEY_ABSOLUTE_PATH} must be the absolute path of the ssl key for the nginx server. the absolute paths refer to the server on which you are deploying ASQ. A good guide to generate free SSL certificates on Ubuntu is:

The provided docker-compose.yml/docker-compose-ssl.yml file uses the Docker Compose Version 2.1 format thus it requires Docker Engine 1.12.0+ and Docker Compose 1.9.0+. Moreover it relies on local Docker volumes and on the bridge network provided by Docker. Refer to the Docker Compose file reference to customise the deployment for your settings.

Getting started

Please follow the getting started guide


Ubuntu/Mac OS X/L** node 4.0+ mongoDB 2.6.0 + redis 2.0+

Browser Support

Currently we focus on supporting Google Chrome and Chromium . Safari and Firefox also seem to work but they are not officially supported. Please note that browser support depends also on impress.js.

A brief history of ASQ

This project started as part of the group project for the course Software Atelier III: Web 2.0 technologies, taught by Prof. Cesare Pautasso, at the Faculty of Informatics of the Università della Svizzera italiana. The original authors were Jacques DAFFLON, Margarita GRINVALD and Max VON BÜLOW. The project was supervised by Vasileios Triglianos.


Past Contributors


See the changelog here.


Reciprocal Public License 1.5 (RPL-1.5). See the full Licence text here.


Increase teacher awareness and student engagement. Synchronous slideshow mixed with a classroom clicker.







No packages published