Advertisement

Rubyistからみたsoupcurry.info

CTO at Enishi Tech Inc.
Jun. 11, 2007
Advertisement

More Related Content

Advertisement

Rubyistからみたsoupcurry.info

  1. Rubyist からみた soupcurry.info dara 設 樂 洋 爾 (しだら ようじ) dara@shidara.net http://d.hatena.ne.jp/darashi 1
  2. My Projects • Web Services • soupcurry.info http://soupcurry.info/ • FON finder http://fonfinder.orzorz.org/ • face detector http://face.orgorz.org/ • buzztter http://buzztter.com/ • RubyGems • Locapoint http://locapoint.rubyforge.org/ • Jpmobile http://jpmobile.rubyforge.org/ • Objectdetect http://objectdetect.rubyforge.org/ 2
  3. スープカレー 3 チキン 辛さ8 CHAIN GANG ORIGINAL SOUP CURRY & BAR 龍祈 http://soupcurry.info/shop/138 • 中毒性がある →我慢できない • お店ごとに個性的 →食べ歩きを楽しみたい • 店舗が乱立気味 →好みにあったお店で
  4. 典型的なシチュエーション • 今すぐカレーを食べたい気分だ。 • 今日は普段行かない場所に居るので、折角だから近 くの行ったことのないお店で食べてみたい。 • お目当ての店に着いたけれど、スープが切れて閉店 していた。近くのお店はどこだろう。 • ガイド本は持ち歩きたくない。 • お店のレビューを見たい。 • 不慣れな土地でも迷わずに行きたい。 4
  5. ソリューション 5 携帯電話用スープカレー店データベース + レビュー検索エンジン
  6. スープカレー店位置情報サイト soupcurry.info 6 http://soupcurry.info
  7. サイト規模 7 • 全国約520店舗を網羅 • Code LOC: 1227 • Google検索「スープカレー」第1位 (2007/5/17現在)
  8. アクセス解析 • PC: Google Analytics 2007/4/16-2007/5/16 • 14,372 セッション • 10,745 ユニークユーザ • 48,004 ページビュー • 携帯: 2007/4/1-2007/4/30 • 36,961 ページビュー 8
  9. トップページ 9
  10. 10 店舗情報(1)
  11. 店舗情報(2) 11
  12. 付近の店舗 12
  13. 13 GPSで最寄りの店舗を検索
  14. 店舗情報 14
  15. EZナビウォークと連携 15 実際はURLへ単なるリンク 例) http://walk.eznavi.jp/map?datum=0&unit=1&lat=+43.07820&lon=+141.34624&fm=1
  16. Jpmobile + GeoKit • Jpmobile Rails用携帯電話プラグイン キャリアの判定, 端末固有情報取得, 位置情報取得, 文字コード変換 • GeoKit http://geokit.rubyforge.org/ 距離の計算, 近隣検索クエリ, Geocoding 16 request.mobile.position.distance_to(‘札幌駅’) 携帯電話から札幌駅までの距離:
  17. レビュー検索 • Web検索 Yahoo! Japan / blog検索 Technorati • cronで定期的に巡回 • 検索ヒット数から有名度指標を計算して表示 17
  18. hotpepper.jp API • Web上にクーポンがある場合は表示 • 電話番号をキーにしてクエリを発行(REST) http://api.hotpepper.jp/GourmetSearch/V1/?ShopTel=0117371600&key=guest 18 http://api.hotpepper.jp
  19. 定休日判定 • 定休日文字列から定休日を判定 • 火曜日(祝日の場合は翌日) • 火曜日(祝日の場合は営業) • 月曜日/第2,4土曜日 • 無休(年末年始を除く)/その他/不定 • Rubyの柔軟な文字列処理: わずか78行 19
  20. テーブル構成 20 • 店舗情報: shops, chains • 地名データ: regions, prefectures • オープンiエリアデータ: iareas, iarea_meshes • レビュー: blog_articles, yahoo_results • タグ情報: tags, tags_shops • ユーザ情報: users, sessions • ログ: logs
  21. 運用 21
  22. サイトポリシー • 客観的情報サイトに徹する • 自動化できる部分はどんどん自動化 • レビュー検索, クーポン検索 • 負担なくデータを更新できるインタフェイス (当初は緯度経度と電話番号のみを格納していた) • 技術遊びのテストベッド とにかくおもしろそうなことをやる 22
  23. 管理画面 (1) 23 各種リマインダ
  24. 管理画面 (2) 24
  25. 履歴 25 • 2003年ごろ 構想, プロトタイプ作成 • 2005/01/24 soupcurry.infoドメイン取得 • 2005/02/11 第1世代 リリース (Ruby CGI, さくらインターネット) • 2005/12/08 第2世代 開発開始 • 2006/01/24 第2世代 リリース (Ruby on Rails, bluehost)
  26. ホスティング 26 bluehost http://bluehost.com/ 共有, Rails 1.2.3, MySQL 4.1.21, FastCGI Dual Core AMD Opteron(tm) Processor 265 x 2, 4GB
  27. 試行錯誤 27 KML出力(Google Earth)
  28. フィードバック • 13件のフィードバック(2007年4月) • データの鮮度維持に不可欠 • 開店, 閉店, 誤情報の訂正, 臨時休業, 臨時営業, 定休 日・営業時間の変更, システム改善の提案, ... • スープカレーファンの方, お店の方からも • 投稿フォーム設置により増加(以前はメールのみ) • サイト開設をきっかけに交流 28
  29. まとめ • soupcurry.infoは • 「今すぐスープカレーを食べたい」「自分好みの スープカレーに出会いたい」という カレー好きの願いを叶えるサイト • 技術遊びのテストベッド • Ruby On Railsのおかげで楽しくプログラミング • 携帯サイト構築にはJpmobileをお試しください 29
  30. Future Works • 汎用位置情報サイト構築フレームワークの開発 • 集合知にあやかりたい: wiki的位置情報サイト →Google Mapsの改良でモチベーション低下 • AjaxなUIを実装 • ぐるなびAPIにも対応? • 評判識別精度の向上、評判の要約 30
Advertisement