If you use the Citizen OS open source code, please let us know: info@citizenos.com! <3 We are mostly interested in the usage statistics. Perhaps you can open the stats for us?
Citizen OS is a free participation platform for collaborative text creation, structured discussion and voting. Read about the newest developments on our news page: https://citizenos.com/news/.
The Citizen OS Foundation is a civic tech non-profit organisation based in Tallinn, Estonia.
Our mission is “to empower as many people as possible to participate in respectful, meaningful discussions in order to collaboratively decide on issues that affect their wellbeing."
The main focus of the Citizen OS Foundation is our collaborative decision-making platform for civic initiatives, which is provided free of charge to anyone who wants to use it. The online platform allows for deliberative discussions, collaborative decision-making and voting in situations where it is either impossible or inconvenient for participants to be in the same room.
In Estonia, where a national e-ID system is in place, the Citizen OS platform is also used in situations when a large number of people need to digitally sign a single document, such as people's initiatives, petitions, housing associations agreements and NGO general meetings. Documents signed using the Citizen OS platform are accepted by all levels of government, including the Riigikogu (Estonia’s Parliament) and the national Commercial Register.
We listen to our users in issues.
TOC:
config/local.json.example
as a basis to get the right plugin configuration.7z
executable in PATH. Used to generate BDOC-s wrapped in ZIP, initially used and designed for containers sent to Estonian Parliament. To install on Debian/Ubuntu (apt-get install p7zip-full
).git clone git@github.com:citizenos/citizenos-api.git
cd citizenos-api
npm install
sudo -- sh -c -e "echo '127.0.0.1 dev.api.citizenos.com' >> /etc/hosts"
sudo su -c "DATABASE_URL=postgres://citizenos:citizenos@localhost:5432/citizenos npm run dbcreate" postgres
sudo su -c "psql -c \"CREATE USER citizenos WITH PASSWORD 'citizenos'\"" postgres
sudo su -c "psql -c \"GRANT ALL PRIVILEGES ON DATABASE citizenos TO citizenos\"" postgres
We use https://github.com/lorenwest/node-config.
Configuration files are in ./config
directory.
Order of applying, further down the list overrides value from the sources above it:
default.json
- Global configuration that is same for all environments.{process.env.NODE_ENV}.json
- Environment specific overrides.local.json
- Your local configuration that you create your self. This file is for YOUR SPECIFIC overrides, the file is in .gitignore so you don't accidentally commit it.custom-environment-variables.json
Examples of Citizen OS API configuration: https://github.com/citizenos/citizenos-api/wiki/Configuration
npm start
NOTES:
./config/certs/citizenosCARoot.pem
to your trusted CA certificate store or browsers will complain.You need to do the following to update Citizen OS on your server:
prod
branch.citizenos-api
and etherpad-lite
running before you execute tests.npm test
./logs/app.log
Node.JS runs out of memory. This can be solved by tuning the garbage collection (GC) of Node.JS runtime via V8 options.
--max-old-space-size
- Max size of the old generation (in Mbytes). By default it's 1.5GB. Set it to amount that is maximum that you want Node.JS process to allocate. Example: node --max-old-space-size=250 ./bin/www
Reading:
Google+ API is not enabled. Enable Google+ API at https://console.developers.google.com/apis/library/plus.googleapis.com by clicking "ENABLE".
master
branchprod
branchDB changes require migrations, please read https://github.com/citizenos/citizenos-api/wiki/DB-Migrations