Qvsr
IntroductionInstallFirebaseConfigurationCommandsArchitectureSurvey LifecycleQualtrics IntegrationVoting Methods
Image alt
QVSR gives you the best quadratic and linear voting experience as a survey tool, with Qualtrics integration and Analytics support.
QVSR stands for “Quadratic Voting for Survey Research.” It is a new survey tool that builds on both old (using a budget constraint) and new (quadratic voting) ideas in survey research. For additional information on QVSR, please visit the FAQ. The QVSR web application is developed by a group of researchers and developers dedicated to making QVSR available for free to researchers and non-profit actors. This project is open source and we encourage further development and experimentation with this web app and it’s concepts.

The purpose of this documentation is to guide you through the core functionalities of the web application and assist in forking the repos itory and creating your own customization. QVSR repository.

Install

1 - Clone the repository to your local

$ git git@github.com:mortoni/qvsr.git

2 - Install dependencies

$ cd qvsr
$ yarn

3 - Install functions dependencies

$ cd function
$ npm i

Firebase

This is a step by step guide in how to create a project for this web application.

1 - Go to the Firebase Console and add a new project.
2 - Add a Web app to your project (Firebase will add Firebase SDK to your project and give you the firebase configuration variables.). Make sure you follow every step.
4 - Create a new Cloud Firestore database (Cloud Firestore menu)
5 - Enable Email/Password sign in method to your project (click on Authentication menu)
6 - Set up Firebase Hosting (Hosting menu)
7 - Set up Firebase Firestore
8 - Set up Functions (Functions menu), you will have to upgrade your Firebase plan in order to use Functions.

Configuration

At the moment we deal with 2 `.env`, one for the root and another one for functions (it is necessary because, the deploy command is not able to get the .env variables from root). In each folder (root and functions) you will be able to find `.env.examples` file to guide you in creating those files. If you follow the Firebase setup above, you will be able to get the variables that you need for this.

Commands

Please follow commands in package.json