Heroku Buttonを試すためにアンケートアプリを作ってみた
Githubに公開してあるソースをボタンひとつでHerokuにデプロイ出来る Heroku Button を試すために、アンケートアプリを作りました。
ので、作成過程の備忘録。
動作してるもの
enquete
Heroku Buttonの設置はREADMEにボタンを書いて、app.jsonを用意するだけなのでとてもお手軽。
app.jsonには使用するアドオンなんかも指定できるので、DB使ったアプリとかも問題なしですね。
Heroku Buttonはリファラを見てアクセス元のリポジトリからコードを取得しているようなので、Github上でブランチ生やして、そのブランチ上でHeroku Buttonをクリックすればブランチ上のコードからアプリをデプロイできる。
そこら辺上手く使えると便利そう。
アンケートアプリ自体は、ちゃんと作り込んだ訳ではないので怪しい部分は多々あり。
アンケート作成画面のライブプレビューがちゃんと動かなかったり。。。
Live Preview Error · Issue #18 · kaakaa/Enquete
中身の話
フレームワークはSinatra / Haml / ActiveRecord。
Markdown形式でアンケートが書けると良いなぁということで、StackOverflowのエディタであるwmdを使用しています。
(現在、wmdはpagedownとして公開されているようです pagedown - A JavaScript Markdown converter and editor - Google Project Hosting)
元々wmdにform要素を記述する機能は無かったようなのですが、Github上でformタグが記述できるように拡張したフォークが存在したのでそれを使用しています。
さらにSinatraから使えるように少し修正を加えました。
kaakaa/wmd
結果の集計画面は Highcharts による円グラフ等を使用しています。
Highchartsは手軽に使えるので良いですね。
備忘録
作ってる内に躓いた点を備忘として残しておきます。
- RubyのTimeで◯日後などを取得するにはActiveSupportが便利
- アンケートの回答を集計する
- mapとかinjectとか、まだまだ苦手だけど使えると便利そう
- Hamlからヘルパーメソッドを呼び、ヘルパー内でjavascriptコードを生成する