はじめて作成したwebサービスをHerokuに公開したので、経緯をまとめます。非IT系のエンジニアなのでweb系の知識といえば、このブログを運営しながらつけた知識くらいでした。Web上の情報を漁りながらそれらを合成した感じ。同じような人の参考になれば幸いです。
前提スキル
上述の通り、Web系の知識はWordpressを使う上で身につけた知識くらい。そんな中、5月くらいから、ふだんExcelで管理していたデータをスマートに管理したいな、と思って素人ながらにデータベースやPHP、Rubyなどをかじって悶々としてました。お試しでコーディングを始めたのが6月の中頃(はてブの履歴による)
こんな感じ。
- ふだんからLinuxサーバー上で仕事をしている
- HTMLの基本的なタグは書ける
- dotinstallの下記ふたつを修了
- ひとつトライアルでRailsを使ったサービスを作ろうと試みるもハードルを上げ過ぎて一旦ストップ
- 英文ドキュメントに抵抗なし
基本構成
基本構成は、Ruby on Rails + Twitter Bootstrap + Herokuです。
どれをとってもその手軽さに驚きました。普段ぜんぜん違う世界で仕事をしていますが、Railsの「設定より規約」という考え方は特に刺激を受けました。
またHerokuで独自ドメインを使うのにDozensというサービスを使用してます。
完成(?)したサービス
できたWebサービスの紹介を。
「すみまる君でGO」です。
すみまる君とは東京スカイツリーを中心として墨田区内を走る循環バス。その時刻表を作りました。公式サイトの時刻表がPDFで提供されているだけなので、アクセスしづらいし非常に見辛い。ふと、Railsで作れるんじゃないか?と思ったのが先週末でした。
総工数は12時間くらい
最初の10時間でやったこと
先週末東京スカイツリーの足元にある「東京ソラマチ」に買い物へ出掛けた帰りに思いついて、夕方に家についてからその日は明け方4時までガシガシと作業しました。だいたい10時間くらいの工数で構想からHerokuへのアップロードまで終了。- データベースのテーブル構成を考える。(路線、バス停、時刻表の1セルの3つ)
- RailsにTwitter Bootstrapを使ってプロジェクトを作成
- いろいろコーディング
- 時刻表PDFをCSVに変換して、rake db:seedで取り込み
- Herokuにユーザー登録、初アプリを登録
- ドメイン取得
残り2時間くらいでやったこと
最後にあとの2時間くらいで下記をちょいちょいとやって今に至ります。- responsiveにしたつもりが動いてなかったのでcssをbootstrapのdefaultに戻す
- はてなブックマークとFacebookのボタンを追加
- Google Analyticsのアクセス解析コードを追加
使用Gem
gem 'execjs' gem 'simple_form' gem 'thin' gem 'therubyracer', :platforms => :ruby gem "twitter-bootstrap-rails" gem 'less-rails' gem 'google-analytics-rails'
あとはHerokuではsqlite3が使えないらしいので、'pg'も使用。
開発環境
開発環境はこんな感じ。- 作業マシン
- Macbook Air "13 (2012)
- テキストエディタ
- Emacs
- ターミナル
- OSX標準のもの
- 動作確認ブラウザ
- Safari(Mac), Chrome(Mac), Safari(iPhone)