https://citizens.is/getting-started/
Get started with Your Priorities on our cloud platform.
# Git clone with the Active Citizen submodule library
git clone https://github.com/rbjarnason/your-priorities-app.git
cd your-priorities-app
git submodule init
git submodule update
# In web app root folder
yarn install
cd client_app
bower install
cp server_api/config/config.json.dist server_api/config/config.json
vi server_api/config/config.json # Add information about an empty postgres database
./start
Go to localhost:4242 in your browser
Create an user and give it admin privileges by running the following command in the root of the app
node server_api/scripts/setAdminOnAll.js your@email.com
You need to set the ENV var REDIS_URL to point to your local redis installation with URL format like redis://user:pwd@hostname:port
Bunyan is used for logging into JSON, which is great for feeding for example into Elastic Search for analytic - https://github.com/trentm/node-bunyan The log is piped to STDOUT so you need to pipe it into a file > /var/log/yrpri.log
To build a client_app/build production folder with web components
npm install polymer-cli
cd client_app
./createDist
If you are moving from version 6 to version 7 make sure to clear out the bower_components folder before running bower install
rm -r client_app/bower_components
For production mode you need to supply the URL to the database as an ENV variable
postgres://username:password@dbhost:dbport/dbname
For production please define SESSION_SECRET=somethingrandomandlong
Google Analytics can be disabled through DISABLE_GA=1
For SMTP support define SMTP_SERVER, SMTP_USERNAME, SMTP_PASSWORD and SMTP_PORT. We assume security through STARTTLS negotiation.
When using Heroku SENDGRID_USERNAME, and SENDGRID_PASSWORD need to be defined.
If you are running behind a web server like nginx and want to disable production to force https, you can define an ENV variable as DISABLE_FORCE_HTTPS=1
Also if you are running behind nginx you want to add the following to your config: proxy_set_header X-Forwarded-Proto https;
If you use Amazon AWS S3:
# To run with image upload to S3 enabled
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX S3_BUCKET=my-test S3_REGION=eu-central-1 ./start
If you use an alternative to Amazon AWS S3:
# To run with image upload to a S3 alternative enabled
AWS_ACCESS_KEY_ID=XXX AWS_SECRET_ACCESS_KEY=XXX S3_BUCKET=my-test S3_ENDPOINT=my.s3.website.com ./start
You will need to have the ImageMagick package installed otherwise you might get errors like: "Command failed: identify"
Active Citizen is an open source library, API and UI for activity streams and notifications
using machine learning to recommend content to users.
https://github.com/rbjarnason/active-citizen
The background workers community via the main Redis connection of the app. To start run the following command with all environmental variables needed
node server_api/active-citizen/workers/main.js
Here are basic user instructions.
Install PredictionIO
Install Universal Recommendation
Import your data with the Active Citizen events_importer script (if you already have some data)
train the template
deploy the template
https://prediction.io/ and https://github.com/actionml/universal-recommender
Here is a Dockerfile that can either be used to build a Docker container with PredictionIO
and Universal Recommendation or as a recipe for building your own non-Docker Ubuntu/Debian
based predictionIO VM on any cloud or locally.
https://github.com/rbjarnason/docker-predictionio/blob/master/Dockerfile
All those configuration variables are optional but some depend on each other.
AC_ANALYTICS_BASE_URL
AC_ANALYTICS_CLUSTER_ID
AC_ANALYTICS_KEY
ADEPT_SCALE_LICENSE_KE
ADEPT_SCALE_URL
AIRBRAKE_API_KEY
AIRBRAKE_PROJECT_ID
AWS_ACCESS_KEY_ID
AWS_SECRET_ACCESS_KEY
AWS_TRANSCODER_AUDIO_PIPELINE_ID
AWS_TRANSCODER_AUDIO_PRESET_ID
AWS_TRANSCODER_FLAC_PRESET_ID
AWS_TRANSCODER_PIPELINE_ID
AWS_TRANSCODER_PORTRAIT_PRESET_ID
AWS_TRANSCODER_PRESET_ID
DATABASE_URL
EMBEDLY_KEY
GOOGLE_APPLICATION_CREDENTIALS_JSON
GOOGLE_PERSPECTIVE_API_KEY
GOOGLE_TRANSCODING_FLAC_BUCKET
HEROKU_POSTGRESQL_URL
NEW_RELIC_APP_NAME work
NEW_RELIC_LICENSE_KEY
NEW_RELIC_LOG
NEW_RELIC_NO_CONFIG_FILE
PIOAccessKey
PIOEngineUrl
PIOEventUrl
REDIS_URL
S3_ACCELERATED_ENDPOINT
S3_AUDIO_PUBLIC_BUCKET
S3_AUDIO_UPLOAD_BUCKET
S3_BUCKET
S3_REPORTS_BUCKET
S3_VIDEO_PUBLIC_BUCKET
S3_VIDEO_THUMBNAIL_BUCKET
S3_VIDEO_UPLOAD_BUCKET
SENDGRID_PASSWORD
SENDGRID_USERNAME
Install TensorFlow
The python classifier scripts are in active-citizen/engine/classifications
The export files for Your Priorities content are in active-citizen/exporters
Currently you need to use the exporters to generate datasets for the TensorFlow python scripts
Example dataset from our Better Reykjavik citizen particiaption website is provided in
active-citizen/exporters/datasets/better_reyjkavik
If you want to help us translate the app to your language please use Trensifex for online
translation for the app. It's easy to use and free for open source projects. See instructions
in the link below.
Our mission is to bring people together to debate and prioritize innovative ideas
to improve their communities.
Your Priorities - Citizens participation application
Developed in 2008-2024 by Robert Bjarnason, robert@citizens.is Gudny Maren Valsdottir Alexander Mani Gautason Joshua Lanthier-Welch Gunnar Grimsson Katherine Breadlove Nathalie Stembert and many others...
Browser testing enabled by BrowserStack