In part 1 I mentioned the 3 shortlisted open source projects which use Ruby on Rails as backend and VueJS as frontend.
- [x] Zammad
- [ ] Loomio
- [ ] Chatwoot
And I was dicey on which one to pick?
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.
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 https://www.openssl.org/source/openssl-1.1.1g.tar.gz $ 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 220.127.116.11 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 http://127.0.0.1:3000 * Listening on http://[::1]:3000 Use Ctrl-C to stop
Loomio running on my Ubuntu 22.04 local development machine
To be cont ... part 3