Example Apps
If you have worked in the past with Ruby on Rails, you will notice quickly that Decidim is not your typical Ruby on Rails Vanilla App.
We have tried using Consul but we found some problems on reutilization, adaptation, modularization and configuration. You can read more about that on Propuesta de Cambios de Arquitectura de Consul (in spanish only). As a summary, we decided to try with a model based in RoR Engines. A good resource regarding this approach is Component Based Rails Applications.
What this means
This means that:
-
Decidim is a gem, available in rubygems.org. You can install it with the command
gem install decidim
-
Decidim is a command line generator of Ruby on Rails applications. After you have install it you can generate a new RoR app with
decidim HelloWorld
-
This app has a dependency the gem itself. You can see this in the Gemfile of the generated app.
-
This app can be extended by making changes in the app (see Customising) and by working with Modules.
Examples
Here are some good examples of what can be done with Decidim:
Helsinki OmaStadi
See the website at https://omastadi.hel.fi/
See the source code at https://github.com/City-of-Helsinki/decidim-helsinki/
Some highlights:
-
They have their Gemfile with lots of modules with their own code. Some of them are also in ruybgems (like
decidim-access_requests
,decidim-antivirus
,decidim-mpassid
,decidim-process_groups_content_block
,decidim-suomifi
,decidim-term_customizer
), others are only in GitHub (decidim-accountability_simple
,decidim-apiauth
,decidim-combined_budgeting
,decidim-plans
,decidim-redirects
). They even use a module made by other organization in the community (decidim-budgets_enhanced
) -
They have their UI customized to their needs. See the CSS and HTML (views).
-
They have an awesome README explaining how it works and what changes have made.
Decidim Barcelona
See the website at https://decidim.barcelona
See the source code at https://github.com/AjuntamentdeBarcelona/decidim-barcelona
Some highlights:
-
In the Gemfile, they use some modules that are local only, as folders in the repository using the "path" Bundler directive:
decidim-dataviz
,decidim-stats
,decidim-valid_auth
-
For the footer (FEDER logo notice) they use the
deface
gem instead of overriding. See Pull Request.
inDICEs
See the website at https://participate.indices-culture.eu/
See the source code at https://github.com/Platoniq/decidim-indices
Some highlights:
-
In the Gemfile, they use modules on their git repositories:
decidim-decidim_awesome
,decidim-direct_verifications
,decidim-notify
anddecidim-term_customizer
. -
They have their UI customized to their needs.