2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

【個人開発】ジョージアを認識し魅力を持つためのジョージア料理診断アプリを作成しました

Last updated at Posted at 2025-01-16

初めに

初めまして!
私はプログラミングスクールRUNTEQでRuby on Railsを学習しているいとけんと申します。
この度、卒業制作として 「ガマルジョバ/გამარჯობა」 というアプリを本リリースしました!
おすすめのジョージア料理を紹介して作り方のサイトに遷移し、Xで共有できるジョージア料理診断サービスWebアプリです。
アプリを使うことで、下記のことを可能にするのを目指しています。

1: 多くの人が:flag_ge:ジョージア:flag_ge:に関心、興味を持つこと
2: ログイン機能を用いて、コメント投稿機能、各料理の口コミに対していいね できる機能をつけて、ジョージア料理の楽しさを体験出来るようにすること

読みづらい箇所もあるかと存じますが、ぜひご覧いただけると幸いです

サービスのURL

URL: https://gamarjoba.jp/

Github

URL: https://github.com/Itok1000/master

ジョージア料理診断アプリ ガマルジョバ.png

「ガマルジョバ/გამარჯობა」を開発した理由

私の趣味は旅行:earth_americas:でこれまでに31の国と地域を訪問しています。
ジョージア:flag_ge:は2年ほど前にプライベートで訪問しました。実はこの国、幾度の内乱と戦争で衰退した国を第3次産業で経済発展させるために日本のパスポートなどに対して1年以内ならビザ申請不要で入国することができます。そのため以前からノマドワーカー、リモートワーカーから注目されていました。
実際に訪問してコーカサス山脈の南側、黒海の東岸に位置し、アジアとヨーロッパをつなぐ交通の要衝であることから、アジアとヨーロッパの文化が融合したエキゾチックな雰囲気に魅力を感じました。
しかし、実際に訪問している日本人の多くは前述でも記載したように1年以内ならビザ申請不要という魅力で訪問したノマドワーカー、リモートワーカーであり、観光で訪問する日本人は少ない印象を覚えました。
一方、ジョージア側:flag_ge:は第3次産業における観光事業に力を注ぎ経済発展させたいという理由から国を挙げて:flag_ge:について多角的に発信していますが、観光どころか認識できない人が多い現状です。
ではどうすれば魅力を持ってくれるか認識してくれる人が出てくるかと考えた際、食文化が魅力を持ち訪れる人を生み出すきっかけになるのではないかと考えました。
私も以前松屋でシュクメルリという鶏肉のガーリック煮込みを口にしたことをきっかけに:flag_ge:訪問へつながり、この味を自宅で表現したいと感じていました。
その時下記のサイトに出会い、これなら自宅でも作れると思いました。
また下記の方の認知度をさらに高めていきたいと感じこのようなサービスコンセプトにたどり着きました。
https://ca-voir.com/topics/nobuyo-kitchen/
実際に作ってみて、豊富な調味料と料理の多様性、日本人の口に合う味、アレンジがしやすい、 懐の深さを感じました。
このことから各個人が作ると味と見た目も変わります。
そのため、各個人で作ったのを共有できるようにするため、ログインしてからコメント投稿機能、各料理の口コミに対していいね、レビュー評価できる機能をつけて、ジョージア料理の楽しさを体験出来るようにしようと決めました。

※Xでジョージア:flag_ge:を知りたい場合は下記をご確認ください。

アプリの機能一覧

ログインなしで利用できる機能
・ジョージアの基礎情報のカラム(ジョージアって何?)
・ジョージア料理の特徴についてのカラム(ジョージア料理って何?)
・診断機能
・診断結果を表示
・Xにてシェア共有
・下記のサイトに遷移
・ANSWER1の場合
https://ca-voir.com/nobuyo-kitchen-ojakhuri-jp/
・ANSWER2の場合
https://ca-voir.com/nobuyo-kitchen-badrijani-jp/
・ANSWER3の場合
https://ca-voir.com/nobuyo-kitchen-sokos-chashushuli-jp/
・ANSWER4の場合
https://ca-voir.com/nobuyo-kitchen-pkhali-jp/
・ANSWER5の場合
https://ca-voir.com/nobuyo-kitchen-ostri-jp/
・ANSWER6の場合
https://ca-voir.com/nobuyo-kitchen-chikhirtma-jp/
・ANSWER7の場合
https://ca-voir.com/nobuyo-kitchen-shkmeruli-jp/
認証
・ユーザー新規登録
・ログイン機能(Sorcery, Googleログイン)
・パスワードリセット機能
・ログアウト機能
ログイン後の機能
・診断機能
・診断結果を表示
・口コミ投稿
・いいね機能
・コメント
・いいねと投稿したものを保存する機能
・タイトルを動的に出力
・ファビコン機能
・デコレーターの導入
・画像加工・合成
・OGP(動的)
・Minimagick系の画像加工(アップ時に画像を指定のサイズに加工・webp化する)
・レーティング機能(raty.js使用)
・独自ドメイン
・i18n機能を生かして英語とジョージア語の翻訳機能を追加

サービスの利用イメージ

診断機能、診断結果を表示
Image from Gyazo

ユーザーがこのサービスをログインなしでいくつかの質問を診断することができます。この診断は、YESNO方式を用いて、ユーザーの好み、ユーザーの状況に基づいて診断結果を表示します。

・Xにてシェア共有
Image from Gyazo
Image from Gyazo

また、Xでのシェア機能を用いて、多くの人に共有できます。診断はログインの有無関係なく可能です。ユーザー登録しログインすると、各料理の掲示板にとびます

・口コミ投稿,コメント,レーティング機能
Image from GyazoImage from GyazoImage from Gyazo

ここでは自ら作った物を各料理掲示板の中で口コミや5つ星の評価をすることができ、画像アップロードして投稿することもできます

・レーティング機能
Image from Gyazo

各口コミ詳細を見るとレビュー評価も確認できます

・いいね機能
Image from Gyazo

参考になった口コミに関しては、「いいね」をすることが可能です

・いいねと投稿したものを保存する機能
Image from Gyazo

いいねした投稿、ユーザー自身が投稿した口コミはヘッダー上でにアクセスできます

使用技術

ツール 内容
・フロントエンド Rails 7.2.1, JavaScript, Bootstrap, CANVA, 農民イラスト,BecassoApp, https://www.mofa.go.jp/mofaj/area/georgia/index.html (ジョージアって何?のコーナーにて位置を参考にしたため)
・バックエンド Rails 7.2.1, (ruby 3.2.3 (2024-01-18 revision 52bb2ac0a6) [x86_64-linux])
・本番のインフラ環境 fly.io, AWS S3,Google Cloud
・データベース PostgreSQL
・認証 Sorcery
・開発環境 Docker

工夫した点

①診断時の質問数を最低限にする

企画時の画面遷移図において診断時質問数は5つにする予定でしたが、これを3つに減らしました。
理由は実際に先輩方の診断アプリ、クイズアプリを触ってみた際設問数が多すぎるとユーザーが飽きる、疲れる印象を覚えたからです。またYESNO方式の質問を5つにすると32通りになります。これだと個人開発する側としては32通りのジョージア料理を準備しないといけません。そこでおすすめのレシピを下記の基準で選定し8つの料理に絞りました
・私自身が:flag_ge:で口にし、日本人の口によく合う料理
・日本でも手軽に作れて、下記のサイトで本格的に再現できる料理

各種料理の作り方を特定のページへの遷移ではなく、クックパット検索結果を表示するなどに変更する提案も技術講師側からいただきましたが、ジョージア料理の作り方の資料が少ないこととそのやり方(APIを用いた対応)をすると、実際の作り方と全くかけ離れた料理ができてしまい魅力につながらなくなるといったリスクがあると考えました。
また特定のページへの遷移をすることでブロガーの人の認知度をさらに高める効果があり、お互いがWinWinになる効果があると認識しているので、この機能は取り下げています。

②診断前にジョージアの基礎知識のコーナーを設ける

マイナーなトピックを使った診断アプリですので、ユーザーが最初にジョージア料理や使い方、ジョージアの基本情報についてを診断前に置くことでユーザーが興味をひかせるよう意識しております。
実際先輩方のポートフォリオ(診断アプリなど)に触れた際、いきなり診断してもそれ自体がわからないとアプリの魅力に繋がらないのではないかと思ったからです。
また、そのコーナーに繋がるリンクボタン、コーナーの写真などは2年前ジョージア訪問時に撮影した写真をAI加工アプリBecassoAppで加工し、興味を引かせるようにしています。

③レーティング機能を用いてデータを可視化する

レーティング機能を導入することでユーザーがこの料理に対する評価してデータを可視化し、各料理の平均値として設定することでどの料理が好まれるのかをユーザーが把握できるようにします。
またraty.jsを使用して、ユーザーが星型評価のアイコン表示・入力が簡単にできるよう工夫しています。
Image from Gyazo

Image from Gyazo

今後の展望

下記の機能を検討しています

今後予定してる機能
・●×クイズ機能
・管理画面の追加

・●×クイズ機能
診断以外にジョージア:flag_ge:にまつわるクイズを追加して、触れるユーザー数を増やすようこちらも結果をXシェアできるようにします

・管理画面の追加
口コミ投稿と異なるものが投稿されるので、管理画面を追加して管理者権限で削除できるようにします

アプリ本リリースを通して

まずはこのアプリを作成するにあたり、RUNTEQの講師の方やスクールの先輩方および同期生には数々の相談に乗って頂き本当にありがとうございました。
入学前及びカリキュラム学習中は私自身が個人開発なんてできるのだろうかリリースして誰かに喜んでくれるだろうかと悩み苦しみ自暴自棄、挫折していたこともありました。
それでも周りの同期生の活躍を見て「私自身も頑張らないと後悔だけ残る」と感じ、こちらの個人開発に一日もめげず諦めずに実装し続け、講師の方のアドバイスとヒント、サポートのおかげでリリースすることができました。
本リリースはできましたが、最終的なこのアプリの理想としては、多くの人が:flag_ge:ジョージア:flag_ge:に関心、興味を持ち、:flag_ge:に訪れる人が1人でも多く増やせるアプリにすることです。
そのためにも今後パブリックコメントを通して、機能の修正、追加、削除なども進める方針です。
このアプリを通して、一人でも多くの人が:flag_ge:ジョージア:flag_ge:を知るきっかけになれたら本当に嬉しいです。
ここまでご覧いただきありがとうございました!!!

2
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
2
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?