コスパ.today 開発記録 Part1:概要

magmaslime Blog / コスパ.today Part1:概要

この記事では、コスパ.todayの開発記録を書いていきます。
今回は、コスパ.today の概要について紹介します。

costperfomance

コスパ.today とは

コスパ.today は、Amazon や楽天市場などのショッピングサイトから、今日もっともコスパの良い商品をランキングしたサイトです。例えば水であれば、1 リットルあたりの値段がもっとも安い順にランキングしています。

about_costperfomance

2019 年 5 月現在は 1 日 2 回、朝と夕方に情報を更新し、なるべく最新の情報が保たれるようにしています。
また、ペットボトルのサイズでフィルタができるようにしてあり、欲しいサイズのペットボトルのランキングを見ることもできます。

filter-bottle-size

コスパ.today の目的

コスパ.today の目的はシンプルで、「なるべく安いものを買う」支援をすることです。ショッピングサイトで買うものの中には、定期的に買う消耗品があると思います。そういったものは、商品ごとの品質よりは、商品の値段で買うこともあるかと思います。
しかし、商品によっては容量やセット数が異なっており値段による直接の比較ができないことや、Amazon や楽天などサイトが違うとすぐには比較できないことがあると思います。
そこでコスパ.today では、「容量・セット数を正規化」し、「Amazon、楽天それぞれから検索」することで、今ショッピングサイトの中で一番コスパの良い商品を選ぶことができるようにしました。
2019 年 5 月現在では、商品としては「水」、対象ショッピングサイトは「Amazon」「楽天」のみをサポートしていますが、今後は商品・ショッピングサイトともに拡充していこうとしています。

どんなアーキテクチャか

コスパ.today は以下のような技術を使って作成しました。
アプリのバックエンドは Rails、フロントエンドは React です。 Rails は API サーバとして利用しており、React から問い合わせが来たら JSON 形式で商品情報を返すようにしています。 また、インフラとしては、Web サーバは Heroku 上で動かし、データベースは Heroku の PostgreSQL を使っています。CDN は CloudFlare を利用しています。
さらに、Rails は API サーバとしての役割だけでなく、1 日 2 回 毎日ランキング 1 位の商品を紹介するツイートを投稿する役割も持っています。

costperfomance-architect

今回は コスパ.today を作った目的と、使っている技術を紹介しました。
次の記事以降では、コスパ.today を作るために利用した技術を、ひとつずつ実際に構築しながら見ていきたいと思います。