QuestionDB: A database of questions
Mursalat, Ahmed (2017)
Mursalat, Ahmed
Metropolia Ammattikorkeakoulu
2017

Creative Commons Attribution-NonCommercial 3.0 Unported
Julkaisun pysyvä osoite on
https://urn.fi/URN:NBN:fi:amk-201705178717
https://urn.fi/URN:NBN:fi:amk-201705178717
Tiivistelmä
The aim was to develop a system that stores questions and answers in different fields of study. These questions and answers were provided by the users, through a crowd-sourced mechanism. The clearest option was a system designed as a web based solution.
In order to create such a system MongoDB can achieve a good performance in the data storage and at the same time allow for a schema-less storage of the data. Node.js was chosen to handle the application needs otherwise. An adherence to the MVC policies were partially held true to, however distinct code was used for the models. Nginx was then reverse proxying all requests from the outside world into the node application which handled them.
While the system was feature-rich in terms of rendering Latex with a drag and drop feature for images, there were multiple issues outstanding. From a completely technical perspective, there was pretty significant performance drop when there were only 30 concurrent users. But from a more ideological angle the system should support multiple types of questions. While currently only multiple-choice questions can be created. Filling in the blanks is another perhaps obvious type of question that can be maintained by the system.
In order to create such a system MongoDB can achieve a good performance in the data storage and at the same time allow for a schema-less storage of the data. Node.js was chosen to handle the application needs otherwise. An adherence to the MVC policies were partially held true to, however distinct code was used for the models. Nginx was then reverse proxying all requests from the outside world into the node application which handled them.
While the system was feature-rich in terms of rendering Latex with a drag and drop feature for images, there were multiple issues outstanding. From a completely technical perspective, there was pretty significant performance drop when there were only 30 concurrent users. But from a more ideological angle the system should support multiple types of questions. While currently only multiple-choice questions can be created. Filling in the blanks is another perhaps obvious type of question that can be maintained by the system.