pol.is an AI powered sentiment gathering platform. More organic than surveys, less effort than focus groups.
If you don't want to deploy your own instance of Polis, you can sign up for our SaaS version (complete with advanced report functionality) here. Polis can be easily embedded on your page as an iframe.
6.11.1We recommend installing nvm so you can easily switch between your favorite flavors of node.
- Create a new datbase. You can name it whatever you please.
Depending on your environment and postgresql version, you may instead need to run something like
create database polis;
sudo -u postgres createdb polisto get this to work.
- Connect to the new database then run
postgres/db_setup_draft.sqlin its shell
You can also separately run
\connect polis; \i postgres/db_setup_draft.sql`;
psql -d polis -f postgres/db_setup_draft.sqlfrom the shell.
- Create development envs file
$ cp .env_dev_local_db_template .env_dev
- Update database connection settings in
.env_dev. Replace the username, password, and database_name in the DATABASE_URL
Note that in some instances you may find that your postgres port isn't 5432 and you will need to figure out what this is.
- Note that for running in "dev mode" on a local machine, in order to avoid http -> https rerouting and other
issues, you'll want to run with
- Install or set Node version.
# Install $ nvm install 10.9.0 # Set correct node version. $ nvm use 10.9.0
- Install depedencies
$ npm install
- Run the start-up script. This will start the server.
- In another shell, start the polisClientAdmin. Follow installation directions on the project README.
- Navigate to
localhost:5000. Voila, Polis.
Google Translate API
Polis can automatically translate comment text for users based on their browser's language preferences. To turn this on, the following steps need to be taken:
- Set env variable
- Ensure there are translations in the strings file for any language for which you'd like to provide translations (we can't show a button offering a translation if we don't know how to offer said translation).
Specifically, you must specify the
thirdPartyTranslationDisclaimertranslations, and may wish to refer to the en_us translation file: s.showTranslationButton = "Activate third-party translation"; s.hideTranslationButton = "Deactivate Translation"; s.thirdPartyTranslationDisclaimer = "Translation provided by a third party";
- Authentication: You'll have to obtain Google API credential files from Google.
You should be able to obtain a file called something like
node bin/stringifyGoogleCreds.js GoogleCredsMasterCopy.jsonin order to produce a value for the