こんにちは村上です。
昨年に引き続き今年もハッカソンが開催されました。
昨年は業務都合ででれなかったので、今年こそはと思い参画しました!!
自分の中でハッカソンの目標は
- 動くものを作る
- すぐに使えるものを作る
で、開発スピードにこだわったものにしました。
アイデアソンにて
すぐに使えるものを作る
ということから社内で運用するあったらいいなを考えていました。
社内のコミュニケーションツールやスケジュール管理とかはすでにあるし、再開発になっても意味がないと思っていたんで、いろいろ悩みましたが、こんなのを考えました。
Message Vote
名前の通り、メッセージと投票ができるツールです。
社内の取り組みの一つに社内でと思う人を月に1回答票しましょうという取り組みがあります。
これをシステム化してみようかなと考えました。
あと、投票のシステムの他にも同じ職場で働く人に感謝の気持ちを伝えることができるメッセンジャーみたいのも作ってみようかなと考えました。
要素技術
システムの構築はもちろんWEBシステムで考えていましたが、メッセージを送ったり、見たり、その通知を受け取ったりはクライアントアプリがある方が良いと考えたので、WEBの構築とは別にクライアントアプリも作りました。
- Ruby on Railsを使ったWEBシステム構築
- メッセージの通知を受け取るクライアントアプリ
です。
クライアントアプリについては、Windows限定にさせていただきました。
マルチプラットフォームで動作可能に作りたかったんですが、時間との兼ね合いもあり、今回は断念。。。
いざハッカソンへ
ハッカソンは一日それも6時間ほどしか実装時間がないので、開発環境構築とデモ用の構築は前日までに終わらせて置きました。
(デモ用はとりあえず社内のサーバーにて。)
構成やらはこんな感じです。
サーバー
- nginx
- Ruby on Rails
- PostgreSQL
クライアントアプリ
- .NET 4.0 (C#)
機能やらはこんな感じです。
WEB
- プロフィール
- メッセージ機能
- 投票作成機能
- 投票箱機能
クライアント
- メッセージ通知機能
- メッセージ表示機能
これを2人でやりました。
動くものは作れたのか???
もちろんです!!!
予定していた機能はほぼ実装完了です!!!
WEBの画面周りは「twitter-bootstrap-rails」を使ってかなり簡略化はしましたが、デモではメッセージ、メッセージの通知、投票すべてをデモできました。
とりあえず、目標の一つの「動くものを作る」は達成できました。
もう一つの「使えるものを作る」はできておりません。
それは、運用用のサーバーの調達とか社内の人のデータ投入とかがあってそれが終わってないからです。
あと、画面周りをもう少しキラキラさせていので、WEBデザイナーの人を募集中です!!!
感想
ハッカソンをするといつも思いますけど、メチャメチャ疲れます。。。
頭をフル回転させてものを作るのと、時間の制約という圧力から疲労がたまるんでしょう。
でも、それは心地よい疲労感でマラソンにゴール後の疲労感に似ていると思います。
良かった点は、事前に環境面の構築を終えていたので当日は実装のみに集中できたのが良かったです。
反省点は、導入まで行えなかった点です。あと、社内にはMacユーザー、Linuxユーザーがいるのでマルチプラットフォームの条件をクリアしないことにはクライアントアプリの導入は難しそうです。
アイデアソン、ハッカソンともに結果は2位でした。
参加チームが少なかったのもあるけど、入賞できてよかったです。
感想ですが、ハッカソンみたいな短時間でモノを作るという体験は非常に貴重だと思いました。
同じ開発ですが、普段の業務とはまったく違うことをいろいろと感じれるし、あとはやっぱり開発が好きだということを感じれるからです。
来年も多くの人に参加して欲しいですね。
余談
メッセージ機能は「感謝の気持ちを伝える」ということから考えたものでした。
ただ、このハッカソンが終わってから社内あるツールをみるとその機能があることを知りました。
残念。。。