飲食店口コミまとめサイト「Restaurary」をリリース
GitHub: フロントエンド:https://github.com/Yutaka-Kudo/reviews-nuxt バックエンド:https://github.com/Yutaka-Kudo/restaurant_reviews Restaurant × Library 図書館のように多くの情報が得られる場になるように。 各グルメサイトに散らばっている飲食店の口コミをまとめて表示するサイトをつくりました。 サーバー:Google Compute Engine 言語:Python, JavaScript フレームワーク:Django, Nuxt.js, Vuetify ■概要・仕組 ・Google、ぐるなび、HotPepper、食べログ、UberEats等の主要グルメサイトからseleniumでのスクレイピングを用い、エリアごとに口コミや評価値を集め、店舗ごとにまとめて表示します。 ・また、独自の採点方法によるエリアごとのランキングも閲覧できます。 ・バックエンドにDjango Rest Frameworkで作成したRest APIを置き、フロントエンドは表示速度を求めNuxt.jsのSSG(静的サイトジェネレーター)で作成。Nuxtのaxiosでデータの受け渡しをする。 ・Google Tag Managerでサーチコンソールやアナリティクスに対応。 ・PWAに対応。 ■想定されたユーザー 飲食店を探す際に多数のグルメサイトの口コミ・点数を参考にするグルメ中級者 ■ユーザーが持つ課題 1. 各グルメサイトごとに評価基準、ユーザー層、信憑性が違い、何を参考にするべきか迷う。 2. 他サイトも見たいとき、ページ遷移が面倒。 ■課題の解決方法 ・各グルメサイトの口コミを一括で閲覧することにより、サイトごとの特性に惑わされることが少なくなり、多数の意見で広い視野を持ち本日のディナーを決められる。 ・また、全体の中で最新の口コミを閲覧できるので時系列の信憑性も高い。 ・各サイトごとの採点基準を加味した独自の採点方法 例:食べログは他サイトと比べ、相対的に高得点が付き難いので補正して合計に反映 ■こだわった点・苦労した点 ・該当箇所を黄色にハイライト、読み仮名・ローマ字読みにも対応のインクリメンタルサーチを実装。 ・スクロールに伴う、ヘッダと評価点アイコンの動き。 ・各サイトごとに名前が違う店舗を同一店舗と判断させることに苦労した。可能な限りスクリプトで自動化するべく、形態素解析をしてDB内の名前から類似度が高いものを選ぶ仕組を作った。差分が多く選びきれないものは集めて最後に手動で選別する。