Git Product home page Git Product logo

consul's Introduction

CONSUL logo

CONSUL

Citizen Participation and Open Government Application

Build status Code Climate Coverage Status Crowdin License: AGPL v3

Accessibility conformance A11y issues checked with Rocket Validator

Join the chat at https://gitter.im/consul/consul Help wanted

Knapsack Pro Parallel CI builds for RSpec tests

This is the opensource code repository of the eParticipation website CONSUL, originally developed for the Madrid City government eParticipation website

Documentation

Check the ongoing documentation at https://docs.consulproject.org 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.

CONSUL Project main website

You can access the main website of the project at http://consulproject.org where you can find documentation about the use of the platform, videos, and links to the community space.

Configuration for development and test environments

NOTE: For more detailed instructions check the docs

a. using docker-compose (recommended)

git clone https://github.com/consul/consul.git
cd consul
# add the composer-specific database config
cp config/database-docker.yml.example config/database.yml
cp config/secrets.yml.example config/secrets.yml
cp .env.example .env
# build the required images
docker-compose build
# choose a database password and spawn the containers
docker-compose up
# connect to the app container and prepare the database
docker exec -it consul_app_1 bash -li
bin/rake db:create
bin/rake db:migrate
bin/rake db:dev_seed
RAILS_ENV=test rake db:setup
# ready to use -- by default, port 3000 is exposed on host

Troubleshooting

# Sometimes a lockfile prevents the containers to be restarted
# in this case, it is safe to just remove it
host$ rm tmp/pids/server.pid
# If the cache gets corrupted simply clean it
host$ rm -rf tmp/cache/*

b. on host

Prerequisites: install git, Ruby 2.6.7, CMake, pkg-config, shared-mime-info, Node.js and PostgreSQL (>=9.5).

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

Run the tests with:

# Optionally; it takes a long time to complete
bin/rspec

You can use the default admin user from the seeds file:

user: [email protected] pass: 12345678

But for some actions like voting, you will need a verified user, the seeds file also includes one:

user: [email protected] pass: 12345678

Debugging

The DelayedJobs process log can be found at /home/deploy/consul/current/log/delayed_job.log.

Configuration for production environments

See installer

Current state

Development started on 2015 July 15th. Code was deployed to production on 2015 september 7th to decide.madrid.es. Since then new features are added often. You can take a look at the current features at the project's website and future features at the Roadmap and open issues list.

License

Code published under AFFERO GPL v3 (see LICENSE-AGPLv3.txt)

Contributions

See CONTRIBUTING.md

consul's People

Contributors

abelardogilm avatar agileontheweb avatar aitbw avatar amaia avatar amiedes avatar ana06 avatar bertocq avatar catileptic avatar decabeza avatar dependabot-preview[bot] avatar dependabot-support avatar depfu[bot] avatar dgilperez avatar entantoencuanto avatar javierm avatar jsperezg avatar juandefelix avatar kikito avatar lumaray avatar mariacheca avatar martgnz avatar matisnape avatar microweb10 avatar mlovic avatar nahiasolutions avatar raul-fuentes avatar senen avatar taitus avatar voodoorai2000 avatar xuanxu avatar

Stargazers

 avatar

Watchers

 avatar  avatar  avatar

consul's Issues

Instagram icon not appearing in footer

From the admin panel (/admin) , from Settings > Global settings > Configuration settings > Instagram handle, I configure the URL that I intend to display in the footer section, attached to an Instagram icon. This functionality works as expected to Facebook, Youtube, Telegram but adding a URL to the Instagram handle and pressing Update does not have the effect of adding that icon to the footer.

Note: after you paste the URL in the input box, press Update. There is no global Update button at the end of the page - each setting is updated individually.

Automatically delete head branches

Hi, @decembrya 😄.

In order to make it easier to keep track of the active branches and have less messages saying "you can now delete this branch", would it be possible to activate the "automatically delete head branches" option in the repository settings? Like this:

Repo settings, with a checked "automatically delete head branches" checkbox

Thanks!

Fix font in footer

This section should use the same font as the entire website (in our case, Titilium Web).
image

Change user validation

Details for testing (the staging environment can be used for this):

In order to begin the validation procedure, sign up with a user. This will not work unless you have a SMTP server integrated.
Then, go to the account page and click "Verify my account".
image


In order to verify their account, the user should provide only the following information:

  • their email address
  • their phone number
  • their CNP (personal identifying number)
  • (checkbox) they need to accept the terms and conditions of the platform
  • (checkbox) "Declar pe proprie răspundere că am împlinit 18 ani."
  • (checkbox) "Declar pe proprie răspundere că am reședinta temporară sau permanentă în Brașov."

At the bottom of the form, there should be another text, saying "Dacă întâmpini probleme cu procesul de verificare, contactează-ne." There should be a "mailto:" link on it.

We need to deactivate the validation based on the postcode, and the validation based on a SMS.
The verification form should only have one step and contain only the details above. After the user fills everything in, they click "verify" and they are verified.

Add support for RON

RON needs to be added as a new currency in CURRENCY_SYMBOLS = %w[€ $ £ ¥].freeze.

In order to adhere to the way contributing is done in Consul (documentation), we need to create app/models/custom/budget.rb and add this new currency in a customization of the budget model.
Screenshot 2021-07-29 at 12 14 36

We also need to change how the currency is displayed. The format should be <sum> <currency> (as in 20 RON). The current way in which Consul displayed currency is:
Screenshot 2021-07-29 at 14 44 35

Make sure to add require_dependency at the top of the file as in the examples in the documentation.

Deploy code to the staging environment

Hi, @decembrya 😄.

When we'd like to show you a feature (or set of features) so you can check everything works in a way that's good for you, how shall we deploy the code to the staging/test server? Is that server configured so we can use Capistrano? Are we deploying the code or are you deploying it? If we're the ones deploying the code (which IMHO would smooth the process), we'd need to be able to log in as the user running the Rails application process (usually called "deploy") via SSH using our public SSH keys.

We've sent you an email with our public keys.

Add fields to user model

We need two more items that a user has to fill in when they register:

  • a field where they fill in their personal identifying code, CNP (cod numeric personal), with validation for 13 numeric (only) characters allowed
  • a field where they tick a checkbox with the following text next to it "Declar pe proprie răspundere că am minim 18 ani și că am reședința în orașul Brașov, sau o viză de flotant valabilă pentru orașul Brașov" ("I hereby declare that I am at least 18 years old and that I have valid temporary or permanent residency in Brașov").

Please use translatable strings and add both Romanian and English labels for these items.

Both items (the CNP and the fact that the user has checked that radio box) need to be displayed in the user profile, which the administrator can access at /users/<id>.

Please adhere to the way contributing in done in Consul (documentation) and create a custom user model in app/models/custom/.

image

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.