Skip to content
Snippets Groups Projects

coverage

release

Voca

Create&Manage Decidim instances on-the-fly, deploy all its ecosystem. Voca focuses on Decidim, released on APGL-3 open-source license and all the ecosystem around the platform. As Decidim is not a tool, but a framework for digital democratic participation, many tools gravitates around Decidim.

*Our ambition is to create with Voca an open-source SaaS service from Decidim & its ecosystem.*

Repositories

repo info stable version
voca-system Install and manage decidim instances through a Dashboard v0.1.0
voca-tasks Gem embedded in our Decidim image. Manipulate and manage decidim instances. v0.1.0
voca-jps Jelastic Manifest to deploy Decidim images v0.1.0
voca-docker Build Decidim docker images for Voca v0.1.0
voca-protos RPC prototypes for voca v0.1.0

Decidim::Voca

This Gem allows configuring a Decidim instance with gRPC. This is a domain-specific gem, which is useful only if you host your own Voca system.

Readings before starting

Repository structure

Generated client

The client is generated with bundle exec rake update_voca_proto, and save the client and service in /lib/decidim/voca/rpc

RPC Decidim Service

The entry point for RPC Decidim Service is in /app/rpc/decidim/voca/decidim_service_controller.rb. This controller have a method per registered message, and will call some concerns in the /app/rpc/decidim/voca/rpc folder.

Updating commands

We use Rectify::Command in /app/commmands/decidim/voca for all update-related command.

Installation

Add this line to your application's Gemfile:

gem "decidim-voca"

And then execute:

bundle install

Development

We suppose you have docker installed in your environment.

docker-compose up -d
docker-compose run --rm app bash -c "cd $RAILS_ROOT && rails db:migrate"

Your development app with the gem is ready on http://localhost:3000

Run tests

test_app will create a spec/dummy app, and will run a local PostGres container. This command has to be done before executing tests.

bundle && bundle exec rake test_app

Once this command pass, execute:

bundle exec rspec spec

to run the unit tests.

Contributing

See Contributing.

License

See License.