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.
- PostgreSql
(>= 9.5.4.1)
- Node
6.11.1
We recommend installing nvm so you can easily switch between your favorite flavors of node. - NPM
3.3.8
- 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;
createdb polis
orsudo -u postgres createdb polis
to get this to work. - Connect to the new database then run
postgres/db_setup_draft.sql
in its shellYou can also separately run\connect polis; \i postgres/db_setup_draft.sql`;
psql -d polis -f postgres/db_setup_draft.sql
from 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_URLNote that in some instances you may find that your postgres port isn't 5432 and you will need to figure out what this is.export DATABASE_URL=postgres://your_pg_username:your_pg_password@localhost:5432/your_pg_database_name
- 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
export DEV_MODE=true
. - 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.
$ ./x
- In another shell, start the polisClientAdmin. Follow installation directions on the project README.
$ ./x
- Navigate to
localhost:5000
. Voila, Polis.
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
SHOULD_USE_TRANSLATION_API=true
- 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
showTranslationButton
,hideTranslationButton
,thirdPartyTranslationDisclaimer
translations, 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
GoogleCredsMasterCopy.json
and runnode bin/stringifyGoogleCreds.js GoogleCredsMasterCopy.json
in order to produce a value for theGOOGLE_CREDS_STRINGIFIED
environment variable.