Why: * Try to make the repo more friendly for first time contributors and any contributor on general How: * Adding a PRs-welcom badget that links to the issues list filtered by PRs-welcome label * Adding a Link to on the Contributing guide to a free course about Pull Request and Contributions on Github.
107 lines
4.5 KiB
Markdown
107 lines
4.5 KiB
Markdown

|
|
|
|
# Consul
|
|
|
|
Citizen Participation and Open Government Application
|
|
|
|
[](https://travis-ci.org/consul/consul)
|
|
[](https://codeclimate.com/github/consul/consul)
|
|
[](https://gemnasium.com/consul/consul)
|
|
[](https://coveralls.io/github/consul/consul?branch=master)
|
|
[](https://crowdin.com/project/consul)
|
|
[](http://www.gnu.org/licenses/agpl-3.0)
|
|
|
|
[](https://www.w3.org/WAI/eval/Overview)
|
|
[](https://rocketvalidator.com/opensource)
|
|
|
|
[](https://gitter.im/consul/consul?utm_source=badge&utm_medium=badge&utm_campaign=pr-badge&utm_content=badge)
|
|
[](https://github.com/consul/consul/issues?q=is%3Aissue+is%3Aopen+label%3APRs-welcome)
|
|
|
|
This is the opensource code repository of the eParticipation website 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)
|
|
|
|
## Tech stack
|
|
|
|
The application backend is written in the [Ruby language](https://www.ruby-lang.org/) using the [Ruby on Rails](http://rubyonrails.org/) framework.
|
|
|
|
Frontend tools used include [SCSS](http://sass-lang.com/) over [Foundation](http://foundation.zurb.com/) for the styles.
|
|
|
|
## Configuration for development and test environments
|
|
|
|
**NOTE**: For more detailed instructions check the [docs](https://github.com/consul/consul/tree/master/doc/en/dev_test_setup.md)
|
|
|
|
Prerequisites: install git, Ruby 2.3.2, bundler gem, ghostscript and PostgreSQL (>=9.4).
|
|
|
|
```
|
|
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:setup
|
|
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
|
|
```
|
|
|
|
If you add SCSS code you can check it with:
|
|
|
|
```
|
|
scss-lint
|
|
```
|
|
|
|
To maintain accesibility level, if you add new colors use a [Color contrast checker](http://webaim.org/resources/contrastchecker/) (WCAG AA is mandatory, WCAG AAA is recommended)
|
|
|
|
If you work on Coffeescript code you can check it with [coffeelint](http://www.coffeelint.org/) (install with `npm install -g coffeelint`) :
|
|
|
|
```
|
|
coffeelint .
|
|
```
|
|
|
|
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
|
|
|
|
### Customization
|
|
|
|
Read more on documentation:
|
|
|
|
* English: [CUSTOMIZE_EN.md](CUSTOMIZE_EN.md)
|
|
* Spanish: [CUSTOMIZE_ES.md](CUSTOMIZE_ES.md)
|
|
|
|
### OAuth
|
|
|
|
To test authentication services with external OAuth suppliers - right now Twitter, Facebook and Google - you'll need to create an "application" in each of the supported platforms and set the *key* and *secret* provided in your *secrets.yml*
|
|
|
|
In the case of Google, verify that the APIs *Contacts API* and *Google+ API* are enabled for the application.
|
|
|
|
## License
|
|
|
|
Code published under AFFERO GPL v3 (see [LICENSE-AGPLv3.txt](LICENSE-AGPLv3.txt))
|
|
|
|
## Contributions
|
|
|
|
See [CONTRIBUTING.md](CONTRIBUTING.md)
|