一人ハッカソンを開催して、活動時間の記録アプリを作ってみました。
今から何やるか選んで、ストップウォッチ的に時間を記録して、後でレビューするためのツールとしてこしらえました。
ろくにテストもしてない状態で晒すのも…とは思ったのですが、できたところまでで晒す!っていうプレッシャーあってのハッカソンって気もしますし、
偉い人もこう言ってることですし。
Twitter/Facebookのアカウントで使えるようにしたので、試しに使ってみるかって方大歓迎です。
ただ、以下のような注意点があります。
- データについて最低限の多重化はしていますが、万一消えた場合の責任は負いかねます。ごめんなさい。後でデータのExport機能(csv or Google Calendar)を実装しようかなと思ってます。
- テスト・デバッグはこれからなので、とても不安定です。特にこの先数日は酷いことになってると思います。
- バグ報告・要望とかもらうとより喜びますが、すぐの対応はできない可能性が高いです。
使い方はこのポストの下の方に。
発端
せっかく今は時間を100%自由にデザインできる期間なので、いつ何をやったかをメモ帳に記録するようにしてました。してましたが、さすがに3ヶ月もたつと「やってらんない・・・」となり、ようやく「今のままだと後で見直すのも大変だし、入力ももうちょっと楽にしたい」と思うに至りました。
多分表計算アプリにフォーム組んだりで改善しそうだし目的にかないそうなアプリやサービスも見つかりましたが、ちょうどRubyとRuby on Railsの本を読んだところだったので自分で作ってみるか、と。
で、やるからにはイベントチックにやったほうが楽しそうだと、(一人だけど)ハッカソンとしてやりました。
ロールプレイングゲームとかでも、発売日はいけるところまで一気にいくつもりでお菓子買い込んだりするのが楽しいですよね。ですよね。
ほんとは旅館とか行けるともっと楽しかったけど、さすがに一人を痛感しそうだったので自宅です・・・
感想
- とにっかく楽しかった。今からやるぞーって買い出しに行く段階から楽しかった。
- 最近input重視の勉強だったので、目に見えて出来上がっていくのはテンション上がったしいい気分転換になった。
- 事前に学習してたRuby, RoRの知識の定着にかなり役立った気がしてる。というかあんま分かってなかったことがよく分かった。
- 2日後に晒すのが前提だったので、思い付いた仕様の取捨選択に迷いがなくなって前に進めやすかった
- RoR,Herokuの楽チンさがよく分かった。ちょっと慣れたので今後はもうちょい楽にプロトタイピングとかできると思う。(次はYesodかGAEに手を出したいけど)
- これでメモ帳記録とサヨナラできる!
- 両日とも夜には体中ガタガタだは頭痛するは大変だった。ほんと体力無い・・
- ユースケース的にモバイルインターフェイス必須なのに手が出せなかった。残念。
- UIやデザインを詰める時間も取れなかった。無念。
アプリの説明
ログインするとこんな画面になります。ざっくりとした分類でよければ(今から勉強するよ、とか)、学習一般の「開始」ボタンを選ぶと計測が始まります。
この画面で「いったん終了」を選ぶと今回の活動時間が記録されます。
何かメモがあれば(100ページ目まで読んだ、とか)、メモ欄に書いておくと時間と一緒に記録されます。
ちなみにこの画面でも開始時間は記録済みなので、ブラウザ閉じても大丈夫です。
こんな感じで履歴に残ります。
統計タブからは、文字通り統計情報を表示するタブです。が、今は指定したサブカテゴリごとの合計時間とかその程度です。
あと、ホームの「他のアクティビティを探す」からより具体的な活動を選べます。
Amazonの検索結果をマージしてるので本とかは見つかりやすいと思います。
「登録」を押すと登録画面へ。ちまみに「詳細」のリンクからAmazonの詳細ページに飛べますが、アフィリエイトタグを仕込んでます。さあ踏んで下さい!
登録する時は、タイトル・カテゴリー・サブカテゴリーは変更できます。自分にとってわかりやすい感じにするとよいかもしれません。
「マイ・アクティビティに登録する」を選べば、ホーム画面に表示されるようになります。
検索で見つからなかったり、独自のアクティビティ(僕の場合は「Sumtimer開発」とか)があれば、ホームの「自分でアクティビティを作る」で作成できます。
「アクティビティの再利用」にチェックを入れると、他の人の検索にヒットして登録できるようになります。「サイクリング」みたいな一般的なのを作る時はチェック入れてもらうとうれしいです。画像はjpg, gif, pngの2MBまでなら使用できます。(無くても大丈夫です。次の画面みたいなアイコンになります。)
実装した画面は以上かな…
自分で使ってみつつ、デバッグ・機能改善していきたいと思います。
あと、とにかく楽しかったし、作りたいものはたくさんあるので、1〜2ヶ月に1回くらいのペースでまたハッカソン出来るとよいなと思いました。
使用した言語・ツール・プラットフォーム等:
Ruby, Ruby on Rails, OmniAuth, carrierwave, JavaScript, Twitter bootstrap, Amazon Advertising API, Heroku, Amazon S3
はじめまして。
「RubyOnRails ストップウォッチ」の検索ワードで訪問しました。
まさにこういうツールを今から作るのですが、完成イメージの参考になります。^^
まだ使っていらっしゃいますか?