Chetan Mittal
Chetan Mittal Dev - Blog


Chetan Mittal Dev - Blog


Shortlisting open source projects which use Rails and VueJS to contribute to ... part 2 .. UPDATED

Chetan Mittal's photo
Chetan Mittal
·Sep 29, 2022·

3 min read

Shortlisting open source projects which use Rails and VueJS to contribute to ... part 2 .. UPDATED

Table of contents

  • 1. Zammad
  • 2. Loomio
  • 3. Chatwoot

In part 1 I mentioned the 3 shortlisted open source projects which use Ruby on Rails as backend and VueJS as frontend.

  1. [x] Zammad
  2. [ ] Loomio
  3. [ ] Chatwoot

And I was dicey on which one to pick?

1. Zammad

Zammad is out of the list. Why? Because Zammad does not have a functional VueJS frontend. So, it won't make sense, for me, to commit to a non VueJS open source project as I am currently learning VueJS.

Though, Zammad would become a good candidate for someone who wants to contribute to a Coffeescript based open source project.

2. Loomio

Loomio is an open source project which provides an internal decision making tool and is built on both Ruby on Rails and VueJS. It shares a few features with another open source project Discourse but differentiates itself with polls, charts, etc.

Loomio is out of the list too as it uses Ruby 2.7.6 and is not getting installed on my Ruby 3.1.2 and Ubuntu 22.04 local development machine. So, I just don't want to waste my time in managing different setups just for the sake of fixing a few bugs of an open source software which i won't be using myself.

UPDATE - 01/10/22

I am considering Loomio as I was able to install Ruby version 2.7.6 (Loomio still uses Ruby 2 which is however sad and I am sorta interested to contribute by bringing it to Ruby 3). All thanks to this wonderful post by @deanpcmad.

As I use RVM to manage my rubies thus I added a pinch of how to install older rubies on Ubuntu 22.04 using RVM.

$ sudo apt install build-essential
$ cd ~/Downloads
$ wget
$ tar zxvf openssl-1.1.1g.tar.gz
$ cd openssl-1.1.1g
$ ./config --prefix=$HOME/.openssl/openssl-1.1.1g --openssldir=$HOME/.openssl/openssl-1.1.1g
$ make
$ make test # you might get a few tests failing but just ignore
$ make install
$ rm -rf ~/.openssl/openssl-1.1.1g/certs
$ ln -s /etc/ssl/certs ~/.openssl/openssl-1.1.1g/certs
$ cd ~
# let us install older rubies now by using RVM. Hurray!
$ rvm install ruby-3.0.4 --with-openssl-dir=$HOME/.openssl/openssl-1.1.1g

I installed both Rubies 2.7.6 for Loomio and 3.0.4 for Chatwoot.

Booting Loomio server on my local Ubuntu 22.04 machine using Ruby 2.7.6

chetanmittal@chetanmittal-ubuntu2204:~/workspace/loomio$ USE_VUE=1 rails s
=> Booting Puma
=> Rails application starting in development 
=> Run `bin/rails server --help` for more startup options
DEPRECATION WARNING: default_worker_options= is deprecated and will be removed from Sidekiq 7.0 (use default_job_options= instead) (called from <main> at /home/chetanmittal/workspace/loomio/config/initializers/sidekiq.rb:1)
/home/chetanmittal/workspace/loomio/config/initializers/sidekiq.rb:2: warning: Sidekiq's Delayed Extensions will be removed in Sidekiq 7.0
`Redis#exists(key)` will return an Integer by default in redis-rb 4.3. The option to explicitly disable this behaviour via `Redis.exists_returns_integer` will be removed in 5.0. You should use `exists?` instead.
/home/chetanmittal/.rvm/gems/ruby-2.7.6/gems/bootsnap-1.13.0/lib/bootsnap/load_path_cache/core_ext/kernel_require.rb:32: warning: ⛔️ WARNING: Sidekiq testing API enabled, but this is not the test environment.  Your jobs will not go to Redis.
Puma starting in single mode...
* Puma version: 5.6.5 (ruby 2.7.6-p219) ("Birdie's Version")
*  Min threads: 5
*  Max threads: 5
*  Environment: development
*          PID: 15078
* Listening on
* Listening on http://[::1]:3000
Use Ctrl-C to stop

Loomio running on my Ubuntu 22.04 local development machine

Screenshot from 2022-10-01 08-34-42.png

3. Chatwoot

To be cont ... part 3

Share this