![Logo of CONSUL](https://raw.githubusercontent.com/consul/consul/master/public/consul_logo.png) # CONSUL Citizen Participation and Open Government Application [![Build Status](https://travis-ci.org/consul/consul.svg?branch=master)](https://travis-ci.org/consul/consul) [![Code Climate](https://codeclimate.com/github/consul/consul/badges/gpa.svg)](https://codeclimate.com/github/consul/consul) [![Dependency Status](https://gemnasium.com/consul/consul.svg)](https://gemnasium.com/consul/consul) [![Coverage Status](https://coveralls.io/repos/github/consul/consul/badge.svg?branch=master)](https://coveralls.io/github/consul/consul?branch=master) [![Crowdin](https://d322cqt584bo4o.cloudfront.net/consul/localized.svg)](https://crowdin.com/project/consul) [![License: AGPL v3](https://img.shields.io/badge/License-AGPL%20v3-blue.svg)](http://www.gnu.org/licenses/agpl-3.0) [![Accessibility conformance](https://img.shields.io/badge/accessibility-WAI:AA-green.svg)](https://www.w3.org/WAI/eval/Overview) [![A11y issues checked with Rocket Validator](https://rocketvalidator.com/badges/checked_with_rocket_validator.svg?url=https://rocketvalidator.com)](https://rocketvalidator.com/opensource) [![Join the chat at https://gitter.im/consul/consul](https://badges.gitter.im/consul/consul.svg)](https://gitter.im/consul/consul?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge) [![PRs Welcome](https://img.shields.io/badge/PRs-welcome-brightgreen.svg?style=flat-square)](https://github.com/consul/consul/issues?q=is%3Aissue+is%3Aopen+label%3APRs-welcome) This is the opensource code repository of the eParticipation website CONSUL, originally developed for the Madrid City government eParticipation website ## Current state Development started on [2015 July 15th](https://github.com/consul/consul/commit/8db36308379accd44b5de4f680a54c41a0cc6fc6). Code was deployed to production on 2015 september 7th to [decide.madrid.es](https://decide.madrid.es). Since then new features are added often. You can take a look at the current features in [features]( http://www.decide.es/en/) or [docs](https://github.com/consul/consul/tree/master/doc) and future features in the [open issues list](https://github.com/consul/consul/issues). For current status on upcoming features go to [Roadmap](https://github.com/consul/consul/projects/6) ## Configuration for development and test environments **NOTE**: For more detailed instructions check the [docs](https://github.com/consul/docs/tree/master/en/getting_started/prerequisites) Prerequisites: install git, Ruby 2.3.2, bundler gem, and PostgreSQL (>=9.4). ```bash git clone https://github.com/consul/consul.git cd consul bundle install cp config/database.yml.example config/database.yml cp config/secrets.yml.example config/secrets.yml bin/rake db:create bin/rake db:migrate bin/rake db:dev_seed RAILS_ENV=test rake db:setup ``` Run the app locally: ``` bin/rails s ``` Prerequisites for testing: install PhantomJS >= 2.1.1 Run the tests with: ``` bin/rspec ``` You can use the default admin user from the seeds file: **user:** admin@consul.dev **pass:** 12345678 But for some actions like voting, you will need a verified user, the seeds file also includes one: **user:** verified@consul.dev **pass:** 12345678 ## Documentation Please check the ongoing documentation at https://consul_docs.gitbooks.io/docs/content/ to learn more about how to start your own CONSUL fork, install it, customize it and learn to use it from an administrator/maintainer perspective. You can contribute to it at https://github.com/consul/docs ## License Code published under AFFERO GPL v3 (see [LICENSE-AGPLv3.txt](LICENSE-AGPLv3.txt)) ## Contributions See [CONTRIBUTING.md](CONTRIBUTING.md) ## Working with Docker Prerequisites ------------- You should have installed Docker and Docker Compose in your machine. Also if you are going to work with docker first replace the database.yml with the preconfigured file made it to work it cp config/database-docker.yml.example config/database.yml The First step is to build the container sudo docker build -t consul . Then run sudo docker-compose up -d database to create your application and database images. Once built you can initialize your development DB and populate it with sudo docker-compose run app rake db:create sudo docker-compose run app rake db:migrate sudo docker-compose run app rake db:seed sudo docker-compose run app rake db:dev_seed If you want to run the rails console just run in another terminal: `sudo docker-compose run app rails console` Now we can finally run the application with sudo docker-compose up To verify the containers are up execute **sudo docker ps .** You should see output similar to this: ![enter image description here](https://i.imgur.com/ASvzXrd.png) now you can enter to localhost:3000 to verify that CONSUL is running ![enter image description here](https://i.imgur.com/Fl3XOIg.png)