Railsで好き嫌い管理アプリ作った
https://kobayasitabel.herokuapp.com/
タイトルの通りです。
知人の好き嫌いが激しすぎて何ならば食べられて何ならば食べられないのか判別が難しかったので勢いで作りました。
中身は大したことのない簡単なものですが、Railsの開発の速さと生産性の高さを感じることができたのはいい経験でしたね。
大まかに概要
インフラには主にHerokuを使用。DBはHeroku Postgresを使ってデータの永続化。
バックエンドはRailsで記述し、フロントエンドにはちょびっとだけReast.jsを使っています。UIはマテリアルデザインを使ってみたかったのでBootstrap Materialを採用。
機能はメニューの入力に対して食べられる、食べられないを返すだけ。
とはいえ、メニュー登録が手動だと色々萎えるので、Twitterからツイートを引っ張ってきてMeCabで解析して好き嫌い判定データを登録するPerlスクリプトをcronで叩いています。AWSにインスタンスを一台立てて、そこにプログラムをおいてあります。
バックエンド
ほとんどコーディングしてません。Scaffoldさまさまです。
Perlスクリプトから叩かれるAPI部分もScaffoldでほとんど完成しているのでそれ使ってます。
せいぜいCSRF対策で弾かれないようにprotect_from_forgeryをexceptしてるぐらい。
フロントエンド
bootstrap-material-designとかreact-railsとかのgemを使ってます。React.jsは使っていますが、Ajaxで判定結果表示するぐらいにしか使っていないので、それはReact.jsを使っているとは言わない、ぐらいのレベルでしかないです。
デザインは特に凝っているわけではありませんが、Bootstrapのありがちデザインから脱出できたのが少し嬉しい。後、モバイルから見てもそこまで崩れないように注意しました。