Gazpachoquest is a open source survey engine backend for mobile and web applications. It provides RESTful services for creating and managing surveys or questionnaires. You can start front-end development with robust secured and flexible REST API.
GazpachoQuest is a Java Open Source Rest-Based survey engine. The main advantage over other alternatives is its loose coupled architecture based on
Microservices Architecture which ensures concern-separation.
This engine is intended to be consumed by rest clients in order to build different front-end (web apps, mobile apps etc). It provides all features than others survey engines have, among other technological features such as Role-Permission based access, HMac security layer (HMAC based), support for main databases (JPA based persistence layer) and swagger rest documentation api.
There is available a Vaadin web application as proof of concept of the engine.
A Karaf OSGI based port is coming up. Stay tune.
Contributions are welcome, in any form including code contributions, bug reports, feature suggestions, documentation, testing, and general feedback. Specially are frondend developers are really welcome either to improve the Vaadin proof of concept or in order to build a dashboard or administration tool. Issues can be submitted on the Github page. For further information, contact to: mailto:[email protected] or visit wiki developer section
HSQL database and Apache TomEE is used for local demo.
git clone https://github.com/antoniomaria/gazpachoquest.git
cd gazpachoquest
mvn clean install -pl tomee-assembly -am -DskipTests=true
cd tomee-assembly\target\assembly\bin
startup.bat
To see the demo, navigate to
See more details about local installation on Installation Guide page.
This module exposes all the features that GazpachoQuest provides.
The credential for administrator account in form of apiKey:secret is:
VECDUX8DGNXA4HF:9C52PBUXJG9238HRELRUX97CETUAQ4BV
Using the administrator account is possible to browse through the rest interface, active questionnaires, active invitations, or surveys on going.
At the moment, create new questionnaires or edit existing ones, is not supported. Only new questionnaires can be imported using XML format.
Check example using the
Importer Tool.
For example one user case is validate invitations in Authentication Resource
So given a existing invitation token (XFE7YLQ79H) rest services returns:
{
"type": "R",
"givenNames": "anonymous",
"surname": "anonymous",
"email": "[email protected]",
"apiKey": "DTS38GTQWLVS6YJ",
"secret": "ZANP5AL5CK3NVTLWY7PXV73MNPG4HDJD",
"roles": [
{
"name": "respondent"
}
],
"preferredLanguage": "EN",
"grantedquestionnaireIds": [
707
]
}
Which means, there is an on going survey distributed only by invitation, but respondents don’t need to be registered first.
This engine supports that the same survey can be conducted many times, respondents can be anonymous, or need a special invitation so system can track if they
have filled the survey or sends reminder. Obviously the response are anonymous.
This module holds all the active questionnaires/surveys ready to be fill out for respondents. They can be anonymous or tracked depending on the questionnaire settings.
Go to Questionnaires UI and try different invitations to check how surveys are rendered.
Anonymous and linear questionnaires invitation keys
No Randomization | Sections Randomization | Questions Randomization | |
---|---|---|---|
Section By Section | PYJXHP6K4K | QT2SXREWAH | REGRW5X27C |
Question by Question | X5SGK7E7BP | ||
All in one page | FQDLF4KG27 |
Anonymous dynamic questionnaire depending on previous answers (skip-logic enabled)
No Randomization | |
---|---|
Section By Section | XFE7YLQ79H |
Question by Question |
Personal questionnaires invitation keys
No Randomization | Sections Randomization | Questions Randomization | |
---|---|---|---|
Section By Section | 2CNBSHKPBQ, DCLHXDRMLS | D7QZ2CXZJW, ULQ6XWK8QR | SS5G7MV7NY,FSMSLM2A44 |
Question by Question | F4XE2GLSUA | ||
All in one page |