オープンソースのTrelloクローン Libreboard
Trelloは、https://www.trello.com で提供されているオンラインのタスク管理サービスで、利用している人も多いと思います。僕自身も以前書いたSCRUM BOOT CAMP THE BOOK
の執筆の進捗管理や、Regional Scrum Gathering Tokyo
のタスク管理などで使っていました。
このTrello
のオープンソース版のクローンが登場したので紹介します。
Libreboard
Libreboardは、こちらで開発が進められているオープンソースソフトウェアでMITライセンスで提供されています。2014年の頭に開発が始まり、最初の開発ペースは早くありませんでしたが、昨年末くらいから急激に開発速度が上がってきているようです。
技術的には、NodejsのフレームワークであるMeteor(メテオ)
を利用しています。
Meteorの詳細については以下を参照すると良いでしょう。
- 本家サイト
- MeteorのGitHubレポジトリ
- 体感!JavaScriptで超速アプリケーション開発 -Meteor完全解説(少々古いので読み替えが必要な箇所あり)
- リアルタイムWebアプリケーションフレームワークMeteorについて
- フルスタックJSフレームワークMeteorのメリット&デメリット
インストール
今回もいつものようにVagrant
を使って環境を構築します。なおLibreboardの配布物の中にDockerfile
が含まれているのでそちらを使っても簡単に試せるはずです。
いきなりですが、Vagrantfile
は以下のような感じにします。OSはUbuntu 14.04を利用します。起動時にShell Provisionerを使って必要なパッケージのインストールやアプリケーションの配置、初期化を行っています。これでVagrantを起動すると、ポートフォワードの設定がしてあるので、母艦側で、http://localhost:3000
にアクセスすることで、Libreboardが表示されるはずです。
VAGRANTFILE_API_VERSION = "2"
$script = <<SCRIPT
#!/bin/bash
sudo apt-get update
sudo apt-get install -y git curl nodejs nodejs-dev npm supervisor
sudo chmod 777 /opt
if [ ! -d /opt/libreboard ] ; then
sudo -H -u vagrant -s bash -c 'git clone https://github.com/libreboard/libreboard.git /opt/libreboard'
fi
if [ ! -f /usr/local/bin/meteor ] ; then
sudo -H -u vagrant -s bash -c 'curl https://install.meteor.com/ | sh'
fi
echo "creating directory..."
sudo -H -u vagrant -s bash -c 'mkdir -p /opt/libreboard/.meteor/local/isopacks'
sudo -H -u vagrant -s bash -c 'chmod -R 777 /opt/libreboard/.meteor/local/'
echo "setting supervisor..."
echo "[program:libreboard]" > /etc/supervisor/conf.d/libreboard.conf
echo "directory=/opt/libreboard" >> /etc/supervisor/conf.d/libreboard.conf
echo "command=/usr/local/bin/meteor" >> /etc/supervisor/conf.d/libreboard.conf
echo "autorestart=true" >> /etc/supervisor/conf.d/libreboard.conf
echo "redirect_stderr=true" >> /etc/supervisor/conf.d/libreboard.conf
echo 'environment=HOME="/home/vagrant"' >> /etc/supervisor/conf.d/libreboard.conf
service supervisor restart
echo "provisioning process completed..."
SCRIPT
Vagrant.configure(VAGRANTFILE_API_VERSION) do |config|
config.vm.box = "opscode-ubuntu-14.04"
config.vm.network "forwarded_port", guest: 3000, host: 3000
config.vm.network "private_network", ip: "192.168.33.10"
config.vm.provision "shell", inline: $script
end
動作イメージ
実際の画面は以下のような感じになります。
以下はサインアップ・ログイン画面。

サインアップを選択すると、新規アカウントの作成画面が表示されるので、適当にアカウントを作成します。

初回ログイン時はWelcome Boardと呼ばれるデフォルトのボードだけが作られています。

Trelloと同じように新しくボードを作成し、レーンを作りタスクを追加していけばOKです。 以下の例では3つのレーンを作ってその中にそれぞれタスクが状態別に配置されています。 もちろんTrelloと同じようにドラッグ&ドロップでタスクを移動したり、順番を変えることもできます。

タスクをクリックして表示される詳細画面もTrelloと同じです。(ただし、まだチェックリストの機能などはありません)

まとめ
ざっくり見てきましたが、ではすぐにTrelloを捨ててこれに移行できるかというとそれは時期尚早な感じです。 ただし開発のペースが上がってきているようなので、早晩Trelloにある機能はどんどん揃っていくのではないかと思います。なので動向を抑えておくと良いかと思います。 また、Meteorを使った開発の参考になるかもしれません。
アジャイルコーチングやトレーニングを提供しています
株式会社アトラクタでは、アジャイル開発に取り組むチーム向けのコーチングや、認定スクラムマスター研修などの各種トレーニングを提供しています。ぜひお気軽にご相談ください。
詳細はこちら