Skip to content
Codi portal participa.gencat.cat basat en codi Decidim
Ruby HTML CSS JavaScript Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
.github
app
bin
config
db
decidim-admin-extended
decidim-admin-search_user
decidim-espais-estables
decidim-home
decidim-process-extended
decidim-regulations
decidim-type
docs
lib
log
public
spec
test
vendor
.gitignore
.ruby-version
CHANGELOG.md
Dockerfile
Gemfile
Gemfile.lock
README.md
Rakefile
config.ru
docker-compose.yml
entrypoint.sh
package.json

README.md

participa

Citizen Participation and Open Government application.

This is the open-source repository for "participa", based on Decidim.

Customizations

  • Decidim::Home, customizes the main page of Decidim.
  • Decidim::Admin::SearchUser, adds a search bar to Admin/users dashboard.
  • Decidim::Espais::Estables, customizes Decidim Assemblies.
  • Decidim::Process::Extended, customizes Decidim Participatory processes.
  • Decidim::Regulations, adds Regulations, a new type of Participatory process.
  • Decidim::Type, adds Types, for Participatory process.
  • Decidim::Admin::Extended, customize admin menu adding custom configurations.

Deploying the app

An opinionated guide to deploy this app to Heroku can be found at https://github.com/codegram/decidim-deploy-heroku.

Setting up the application

You will need to do some steps before having the app working properly once you've deployed it:

  1. Open a Rails console in the server: bundle exec rails console
  2. Create a System Admin user:
user = Decidim::System::Admin.new(email: <email>, password: <password>, password_confirmation: <password>)
user.save!
  1. Visit <your app url>/system and login with your system admin credentials
  2. Create a new organization. Check the locales you want to use for that organization, and select a default locale.
  3. Set the correct default host for the organization, otherwise the app will not work properly. Note that you need to include any subdomain you might be using.
  4. Fill the rest of the form and submit it.

You're good to go!

Testing

Run rake decidim:generate_external_test_app to generate a dummy application to test both the application and the modules.

Require missing factories in spec/factories.rb

Add require "rails_helper" to your specs and execute them from the root directory, i.e.:

rspec decidim-process-extended/spec/serializers/decidim/participatory_processes/participatory_process_serializer_spec.rb

Open Data

Public information from Participatory processes can be accessed at https://analisi.transparenciacatalunya.cat/, which is powered by Socrata.

The data is periodically updated using the soda-ruby gem to access the Socrata Open Data API.

The necessary credentials are:

SODA_DOMAIN: "soda.demo.socrata.com"
SODA_USERNAME: "user@example.com"
SODA_PASSWORD: "password"
SODA_APP_TOKEN: "app_token"
SODA_DATASET_IDENTIFIER: "dataset_identifier"

There are two rake tasks available to interact with this data:

  • rake open_data:participatory_processes:export to export the data to a CSV file
  • rake open_data:participatory_processes:publish_to_socrata to update the remote Socrata dataset

The logic of these rake tasks has been extracted to a Module in lib/open_data.rb, and ParticipatoryProcessSerializer, located at decidim-process-extended/app/serializers/decidim/participatory_processes, is the Class responsible for transforming the objects into data for the Socrata dataset.

You can’t perform that action at this time.