グラフ共有サービス『ぐらふふ』作りました。

#忘れないうちにメモ

http://graph-hu.herokuapp.com/

ぐらふふ

簡単なグラフを共有するWEBサービスです。
グラフを作成するにはTwitterアカウントが必要です。

開発環境

OS X 10.7.4
Rails 3.2.6
ruby 1.9.3p125

開発の経緯

ランニングの距離とか体重をグラフ化するサービスあったらいいな。と思って
折れ線グラフのみを前提とした開発スタート。
しかし、X軸のラベルの文字が重なってしまうことが発覚。
もうだめだと思ったがGoogleChartは色々なグラフも描画できるようなので開発続行。

グラフの精度について

グラフの描画にはGoogleChartを使っています。
でも、APIの仕様を把握しきれていなくて、選択したグラフのタイプによっては
入力項目が予想した通りに反映しない場合など、怪しい箇所がいくつかあります。
かといって、まったくのデタラメを表示している訳ではありません。

相対値

入力する値は絶対値ではなく、相対値で表示してると思って頂ければ、
入力中のイメージとグラフのイメージが近くなるかと思います。

サポートしてるグラフの種類

  • 折れ線グラフ
  • 棒グラフ
  • 円グラフ
  • レーダーチャート



http://graph-hu.herokuapp.com/graphs/3

製作期間

2ヶ月ちょっとくらいかかりました。
細かい仕様は決めず進めていると、随所で出戻りが発生してしまい、
時間がかかってしまった気がします。

苦労したところ

グラフ毎に送るパラメータが若干違ったこと。
対応策として、グラフの種類毎にクラスを定義して調整を行いました。

KPT

Keep
  • TODOは山積みだけど一区切りできるところまで作ることができた!
  • 万葉さんで学んだことを生かせた
  • "テストコード"で気づきがあった
  • (途中からだけど)トピックブランチ使って開発を進めた
  • Vim
Problem
  • (1)Simple_form、使い方わからず途中で放置した感じある
  • (1)後半になってテンプレート名が適当になった
  • (3)モチベーション維持が難しい、途中で飽きそうになった
  • (2)Herokuが便利すぎて勉強にならない
  • (1)単一継承テーブルの使い方が怪しい
  • (4)設計が甘い
  • (4)ペルソナ設定していない
  • (5)わくわくが足りない
  • (6)API調べるのしんどい
Try
  • (1)(3)誰かにコードレビューして貰う
  • (2)VPSデビューする
  • (3)複数のアプリを平行して開発する
  • (3)誰かからアプリ開発依頼を請ける
  • (4)(3)複数人で開発を行う
  • (5)わくわくするものを作る
  • (6)ひとりで調べない

TODO

  • 画像を表示するHTMLコードをテキストボックスに表示する
  • SNSへ投稿するボタン設置する
  • Pointモデルにact_as_list使う
  • Pointレコードの新規作成と編集を共通のフォームで行う
  • CSVでアップロード、エクスポートする
  • X軸、Y軸を入力するグラフのサポートする
  • モデルのリファクタリング