https://github.com/cefriel/coney
CONEY: The CONversational survEY Toolkit
Science Score: 49.0%
This score indicates how likely this project is to be science-related based on various indicators:
-
○CITATION.cff file
-
✓codemeta.json file
Found codemeta.json file -
✓.zenodo.json file
Found .zenodo.json file -
✓DOI references
Found 11 DOI reference(s) in README -
✓Academic publication links
Links to: arxiv.org -
○Academic email domains
-
○Institutional organization owner
-
○JOSS paper metadata
-
○Scientific vocabulary similarity
Low similarity (14.6%) to scientific vocabulary
Keywords
Repository
CONEY: The CONversational survEY Toolkit
Basic Info
- Host: GitHub
- Owner: cefriel
- License: apache-2.0
- Language: CSS
- Default Branch: master
- Homepage: https://coney.cefriel.com
- Size: 3.07 MB
Statistics
- Stars: 10
- Watchers: 5
- Forks: 1
- Open Issues: 2
- Releases: 2
Topics
Metadata Files
README.md
Coney - Community Edition
⚠️ The Community Edition of Coney is NO LONGER BEING DEVELOPED but we do our best to provide bug fixing/support when possible. You can find more information on the commercial version at coney.cefriel.com or below in this README.
Coney is a complete toolkit developed by Cefriel for CONversational survEYs offering components to design and administer surveys, and to analyse data.

Abstract
Coney is an innovative toolkit designed to enhance the user experience in surveys completion. Coney exploits a conversational approach: on the one hand, Coney allows modelling a conversational survey with an intuitive graphical editor; on the other hand, it allows publishing and administering surveys through a chat interface. Coney allows defining an arbitrary acyclic graph of interaction flows, in which the following question depends on the previous answer provided by the user. This offers a high degree of flexibility to survey designers that can simulate a human to human interaction, with a storytelling approach that enables different personalized paths. Coney’s interaction mechanism exploits the advantages of qualitative methods while performing quantitative research, by linking questions to the investigated variables and encoding answers. A preliminary evaluation of the approach shows that users prefer conversational surveys to traditional ones.
Coney's underlying data model is based on the survey ontology that we designed to represent, annotate, export and share both the questionnaire structure and the gathered responses. Furthermore, questions and answers can be semantically annotated at design time to easily elaborate and inter-link the collected data at analysis time.
You can know more about Coney and try it at coney.cefriel.com/!
Clone the repository
To clone the repository you can run the following command:
git clone https://github.com/cefriel/coney.git
The development is no longer handled using submodules.
Toolkit Usage
The repository contains a docker-compose file to build and deploy the entire project. Each Coney component contains its own Dockerfile to build the related Docker image.
A utility script is added to the repository to handle common commands. Check line endings before running it on Windows.
``` $ sh coney.sh help
Usage:
Commands: build Builds the selected image with the available 'environment.ts' file up Starts the selected container (all if no image is specified) stop Stops the selected container (all if no image is specified)
Images: api Coney's Application Programming Interface create Conversation editor chat User's chat endpoint inspect Realtime data visualization tool
Options: --env-cp Rewrites the environment.ts file in the Angular service(s) ```
Deployment
The provided docker-compose file is configured to launch a local instance of Coney. We assume Docker is up and running on your machine. Then execute the following commands to launch Coney (depending on your operating system you may need to run the commands using sudo to reach the Docker Daemon):
sh coney.sh build
sh coney.sh up
To deploy Coney in a different environment the following actions are required to configure the deployment.
Basic deployment:
- Edit the nginx.conf file to configure the reverse-proxy. In particular update the server_name.
- Set the BASE_HREF for Angular using the related env variable when launching the build with docker-compose.
export BASE_HREF=/coney
docker-compose build --no-cache
- Change the file environment.ts to set the baseUrl that should used by Coney components to reach the back-end (coney-api).
- Change the file environment.ts to set the privacyUrl shown to users compiling surveys through the coney-chat component.
- Launch the build using the --env-cp option
sh coney.sh build --env-cp
Notes:
- Unpublished surveys and coney-api logs are saved in the coney-data folder in the host filesystem. The content of the coney-data folder is added to the .gitignore file by default.
- The docker-compose deployment can be initialized with a set of surveys.
Put coney-create files in coney-data and update the query.sh file to initialize the database accordingly.
A default coney-demo survey is provided. TODO create a script to automatically build queries given the content of coney-data folder.
- Pay attention to line endings when modifying the query.sh, they should be UNIX style.
- Data of Neo4j are persisted in a neo4j/ folder in the host filesystem. The neo4j/ folder is added to the .gitignore file.
Components
Once running, the landing page is available at localhost/coney. All components are masked by a reverse-proxy.
Components are reachable at the following addresses:
- coney-create localhost/coney/create
- coney-inspect localhost/coney/inspect
- coney-chat localhost/chat (a valid payload is needed to correctly visualize the chat component)
The backend API can be reached at localhost/coney-api/<method_name>. If enabled at build time, the API documentation is available at localhost/coney-api/swagger-ui.html.
More information on the components and how to use them are available in the repository Wiki.
Coney Enterprise Edition
The Coney Enterprise Edition is mainly based on the open-source components, but offers additional features: - Multi-user and multi-project features to support hierarchies and access levels for surveys - Centralized console to access Coney components and browse projects and surveys - Link personalization for survey delivery (users, metadata, limit to number completions) - Chat interface personalization (colors, logo, etc.)
If you are interested, if you simply want to know more, and/or if you need help in the survey design process contact us at coney-dev@cefriel.com.
Coney In-Use
Published studies using Coney: - Survey Study about Motivation for Participants in Citizen Science Projects [Data set]. Zenodo. https://doi.org/10.5281/zenodo.5753091 - Ride2Rail Choice Criteria Survey Dataset [Data set]. Zenodo. http://doi.org/10.5281/zenodo.4593471
To add something to the list please either submit a pull request or open an issue.
Publications
To know more in details the project you can access related pubblications: - CHItaly 2019: Extended abstract and poster "CONEY: A CONversational survEY Toolkit" on Zenodo - IJHCS 2020: Journal paper "Submitting surveys via a conversational interface: An evaluation of user acceptance and approach effectiveness" on Arxiv
Cite as
If you used Coney in your work, please cite the IJHCS article:
Irene Celino and Gloria Re Calegari: Submitting surveys via a conversational interface: an evaluation of user acceptance and approach effectiveness, International Journal of Human Computer Studies, Vol. 139, DOI: 10.1016/j.ijhcs.2020.102410, 2020.
BibTeX reference:
bib
@article{celino2020submitting,
title = "Submitting surveys via a conversational interface: An evaluation of user acceptance and approach effectiveness",
journal = "International Journal of Human-Computer Studies",
volume = "139",
pages = "102410",
year = "2020",
issn = "1071-5819",
doi = "https://doi.org/10.1016/j.ijhcs.2020.102410",
author = "Irene Celino and Gloria {Re Calegari}"
}
Contributing
Before contributing, please read carefully, complete and sign our Contributor Licence Agreement.
When contributing to this repository, please first discuss the change you wish to make via issue or any other available method with the repository's owners.
License
Copyright 2020 Cefriel.
Licensed under the Apache License, Version 2.0 (the "License"); you may not use this file except in compliance with the License. You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software distributed under the License is distributed on an "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. See the License for the specific language governing permissions and limitations under the License.
Acknowledgement
This project is partially supported by the ACTION project (grant agreement number 824603), co-funded by the European Commission under the Horizon 2020 Framework Programme.
Owner
- Name: Cefriel
- Login: cefriel
- Kind: organization
- Email: info@cefriel.com
- Location: Milano, Italy
- Website: https://www.cefriel.com
- Repositories: 15
- Profile: https://github.com/cefriel
GitHub Events
Total
- Push event: 1
Last Year
- Push event: 1
Dependencies
- maven 3.3-jdk-8 build
- tomcat 8.5.43 build
- nginx 1.16.0-alpine build
- node 10.16.0 build
- nginx 1.16.0-alpine build
- node 10.16.0 build
- nginx 1.16.0-alpine build
- node 10.16.0 build
- alpine 3
- coney/coney-api latest
- coney/coney-chat latest
- coney/coney-create latest
- coney/coney-inspect latest
- neo4j 3.5
- nginx 1.16.0-alpine
- org.springframework.boot:spring-boot-starter-tomcat provided
- com.google.code.gson:gson
- io.jsonwebtoken:jjwt 0.9.1
- io.springfox:springfox-swagger-ui 2.1.2
- io.springfox:springfox-swagger2 2.1.2
- javax.el:javax.el-api 3.0.0
- log4j:apache-log4j-extras 1.2.17
- org.apache.commons:commons-collections4 4.2
- org.apache.commons:commons-lang3
- org.bitbucket.b_c:jose4j 0.6.5
- org.eclipse.rdf4j:rdf4j-repository-sail 2.5.3
- org.eclipse.rdf4j:rdf4j-runtime 2.5.3
- org.eclipse.rdf4j:rdf4j-sail-memory 2.5.3
- org.neo4j:neo4j-ogm-http-driver
- org.slf4j:slf4j-log4j12
- org.springframework.boot:spring-boot-starter-data-neo4j
- org.springframework.boot:spring-boot-starter-security
- org.springframework.boot:spring-boot-starter-web
- org.springframework.boot:spring-boot-starter-web-services
- org.springframework.boot:spring-boot-starter-test test
- 993 dependencies
- @angular-devkit/build-angular 0.800.6 development
- @angular/cli 8.0.6 development
- @angular/compiler-cli 8.0.2 development
- @angular/language-service 8.0.2 development
- @types/jasmine ~2.8.8 development
- @types/jasminewd2 ~2.0.3 development
- @types/node ~8.9.4 development
- codelyzer ^5.1.0 development
- jasmine-core ~2.99.1 development
- jasmine-spec-reporter ~4.2.1 development
- karma ~4.0.0 development
- karma-chrome-launcher ~2.2.0 development
- karma-coverage-istanbul-reporter ~2.0.6 development
- karma-jasmine ~1.1.2 development
- karma-jasmine-html-reporter ^0.2.2 development
- protractor ~5.4.0 development
- ts-node ~7.0.0 development
- tsickle ^0.35.0 development
- tslint ~5.11.0 development
- webpack ^4.38.0 development
- @angular/animations 8.0.2
- @angular/cdk 8.0.1
- @angular/common 8.0.2
- @angular/compiler 8.0.2
- @angular/core 8.0.2
- @angular/forms 8.0.2
- @angular/material 8.0.1
- @angular/platform-browser 8.0.2
- @angular/platform-browser-dynamic 8.0.2
- @angular/router 8.0.2
- @ngtools/webpack 8.0.3
- babel-polyfill 6.26.0
- core-js ^2.6.9
- crypto-js ^3.1.9-1
- hammerjs ^2.0.8
- jquery ^3.4.1
- ngx-cookie-service ^2.2.0
- ngx-stars ^1.4.3
- rxjs ^6.5.2
- socket.io ^2.2.0
- tslib 1.10.0
- typescript 3.4.2
- zone.js 0.9.1
- 1191 dependencies
- @angular-devkit/build-angular ^0.803.20 development
- @angular/cli 8.0.6 development
- @angular/compiler-cli 8.0.1 development
- @angular/language-service 7.2.0 development
- @types/jasmine 2.8.8 development
- @types/jasminewd2 2.0.3 development
- @types/node 8.9.4 development
- codelyzer 5.1.0 development
- jasmine-core 2.99.1 development
- jasmine-spec-reporter 4.2.1 development
- karma ^4.4.1 development
- karma-chrome-launcher 2.2.0 development
- karma-coverage-istanbul-reporter 2.0.6 development
- karma-jasmine 1.1.2 development
- karma-jasmine-html-reporter 0.2.2 development
- protractor 5.4.0 development
- ts-node 7.0.0 development
- tslint 5.11.0 development
- typescript 3.4.2 development
- @angular/animations 8.0.1
- @angular/cdk 8.0.1
- @angular/common 8.0.1
- @angular/compiler 8.0.1
- @angular/core 8.0.1
- @angular/forms 8.0.1
- @angular/material 8.0.1
- @angular/platform-browser 8.0.1
- @angular/platform-browser-dynamic 8.0.1
- @angular/router 8.0.1
- @ng-bootstrap/ng-bootstrap ^5.1.4
- @types/jquery 3.3.30
- babel-polyfill ^6.26.0
- core-js ^3.4.7
- crypto-js ^3.1.9-1
- file-saver ^2.0.2
- hammerjs ^2.0.8
- jquery ^3.4.1
- ngx-papaparse ^4.0.4
- ngx-print ^1.2.0-beta.3
- ngx-toastr ^10.2.0
- node-sass ^4.13.0
- node-sass-tilde-importer ^1.0.2
- print-js ^1.0.63
- rete ^1.4.2
- rete-area-plugin 0.2.1
- rete-connection-plugin ^0.9.0
- rete-context-menu-plugin ^0.5.2
- rete-history-plugin 0.2.1
- rete-minimap-plugin ^0.3.1
- rete-readonly-plugin ^0.4.1
- rete-vue-render-plugin ^0.5.0
- rxjs 6.5.2
- validator ^10.9.0
- zone.js 0.9.1
- 1013 dependencies
- @angular-devkit/build-angular ^0.800.3 development
- @angular/cli ^8.0.6 development
- @angular/compiler-cli ^8.0.2 development
- @angular/language-service ^8.0.2 development
- @types/d3 ^5.7.2 development
- @types/jasmine ~2.8.8 development
- @types/jasminewd2 ~2.0.3 development
- @types/node ~8.9.4 development
- codelyzer ~5.1.0 development
- jasmine-core ~2.99.1 development
- jasmine-spec-reporter ~4.2.1 development
- karma ~4.0.0 development
- karma-chrome-launcher ~2.2.0 development
- karma-coverage-istanbul-reporter ~2.0.1 development
- karma-jasmine ~1.1.2 development
- karma-jasmine-html-reporter ^0.2.2 development
- protractor ~5.4.0 development
- ts-node ~7.0.0 development
- tslint ~5.11.0 development
- typescript ~3.4.2 development
- @angular/animations ^8.1.1
- @angular/cdk ^8.0.2
- @angular/common ^8.0.2
- @angular/compiler ^8.0.2
- @angular/core ^8.0.2
- @angular/forms ^8.0.2
- @angular/material ^8.0.2
- @angular/platform-browser ^8.0.2
- @angular/platform-browser-dynamic ^8.0.2
- @angular/router ^8.0.2
- @types/d3-sankey ^0.11.0
- angular-d3-charts ^5.0.0
- core-js ^2.6.9
- d3 ^5.9.7
- d3-sankey-diagram ^0.7.3
- d3-scale ^3.0.0
- file-saver ^2.0.2
- ngx-toastr ^10.0.4
- rxjs ~6.5.2
- tslib ^1.9.0
- zone.js ~0.9.1