kumaryoya / zoo_mania

14 stars 0 forks source link

MVPレビュー #157

Closed Tsuchiya2 closed 1 year ago

Tsuchiya2 commented 1 year ago

ご提出ありがとうございます。 以下の観点からレビューを行います。

  1. READMEから課題解決する実装がされているか&動いている
  2. 静的コードチェックが入っている
  3. 就活において十分な技術力を示せる機能を実装しているか
  4. UIでユーザーが迷わないような導線を作れているか・ユーザーが使いたくなるようなサービス設計ができているか

1について

READMEに記載されているMVPの部分は確認が取れました。ただ現状だと動物園に対して画像を投稿できるサービス、CRUDアプリといった印象でした。「動物園スタンプラリーの実装」「パーソナライズされた推薦」部分が実装できると、サービスに特徴が出るかと思います。

2について

概ね良さそうですが、いくつか気になった箇所があるのでRubocopを通してみましょう。 (app/controllers/profiles_controller.rbのprivateの後にここだけ空行が無いなど)

3について

・1の箇所でも記載しましたが、現状だと画像を投稿できるCRUDアプリという印象のため、現状では難しい印象を受けました。以下にあげる機能の実装を検討してみましょう。

■レコメンド 概要:投稿されたまたは事前に用意されたコンテンツと類似したコンテンツを推奨する機能をレコメンドと呼びます。代表的なアルゴリズムとして、協調フィルタリングとコンテンツフィルタリングがあります。協調フィルタリングは、ユーザの行動や嗜好データを元に類似度を算出し、コンテンツベースフィルタリングは、コンテンツの数値化された特徴や評価を元に類似度を算出します。 使用技術・ライブラリ:


■LINE通知(スタンプラリーの通知機能etc) 概要:Webプッシュはまだ普及しておらず、アプリのプッシュ通知を利用したい方には、LINEプッシュ通知がおすすめです。簡単な連携で、自分の好きなタイミングにLINEを通じてプッシュ通知を行うことができます。 使用技術・ライブラリ:


・LikesControllerのところで言うと、@post = Post.find(params[:post_id])のところが共通化できそうでした。他の箇所も同様に共通化できる箇所は共通化しておきましょう。

・resourceベースのルーティングに概ねなっているように感じました。以下の辺りとかもresourceベースに改善できないか検討してみましょう。

get 'ranking', to: 'posts#ranking'
get 'my_posts', to: 'posts#my_posts'
get 'my_like_posts', to: 'posts#my_like_posts'

4について

・topページに「ZooManiaの使い方」〜「動物園の選定基準」までが文字列として表記されるだけになっていて、やや困惑を感じました。各ページにモーダルで表示できるようにするとか、画像等々を付けてユーザーに使い方をイメージさせるようにするなど改善が必要に感じました。 ・全体的にスマホ用にしか対応できていないため、PCの際は横に複数表示されるなどのレスポンス対応をすると良いように感じました。 ・動物一覧ページ:ズラッと文字列が並んでいるような印象を与えてしまうので、セレクトボックスで地方を選択すると、その地方の動物園が表示されるようにするなど、見せ方の工夫が必要かと感じました。 ・動物園詳細ページ:所在地が文字列として表示されていますが、GoogleMapも合わせて表示してあげた方が親切かもしれません。 ・投稿詳細ページ:明確な言語化が難しいですが、このページを開いた際に、画像・タイトル・投稿者名・動物園名etcが表示されるだけで寂しさを感じました。特にコメント等のやり取りをする必要性が無ければ、動物園詳細ページ上に複数表示されるだけで良いかもしれません。

Tsuchiya2 commented 1 year ago

--- 追記 ---

今後、実装に取り組む予定のものの一覧と、それの実装に必要な日数の記載をお願いします。また、最終的な本リリースの目処も合わせてコメントに記載をお願いいたします。

kumaryoya commented 1 year ago

レビューありがとうございます! とても細かくチェックしていただき、とてもためになります!

1について READMEに記載されているMVPの部分は確認が取れました。ただ現状だと動物園に対して画像を投稿できるサービス、CRUDアプリといった印象でした。「動物園スタンプラリーの実装」「パーソナライズされた推薦」部分が実装できると、サービスに特徴が出るかと思います。

仰る通りで、現状ではCRUD機能だけのアプリなので、今後、このアプリのテーマを活かせる追加機能を実装していきたいと思います!

2について 概ね良さそうですが、いくつか気になった箇所があるのでRubocopを通してみましょう。 (app/controllers/profiles_controller.rbのprivateの後にここだけ空行が無いなど)

一応、都度、Rubocopは通していたのですが、app/controllers/profiles_controller.rbのprivateの部分は通ってしまっていたため、修正しました! 他にもないか目検でも都度確認していきます!

3について ・1の箇所でも記載しましたが、現状だと画像を投稿できるCRUDアプリという印象のため、現状では難しい印象を受けました。以下にあげる機能の実装を検討してみましょう。

レコメンドに関しては、ユーザーの位置情報を取得し、ユーザーが行ったことがない(その動物園での投稿がない)中から近い動物園をレコメンドするのはどうか考えていました! 技術的には、ご教授いただいたものの方がアピールになるでしょうか?

LINE通知(スタンプラリーの通知機能etc) 概要:Webプッシュはまだ普及しておらず、アプリのプッシュ通知を利用したい方には、LINEプッシュ通知がおすすめです。簡単な連携で、自分の好きなタイミングにLINEを通じてプッシュ通知を行うことができます。

LINE通知に関しては、実装してみたいと思います! ありがとうございます! スタンプラリー、レコメンド、投稿へのいいねなど、何を通知するかは検討したいと思います!

・LikesControllerのところで言うと、@post = Post.find(params[:post_id])のところが共通化できそうでした。他の箇所も同様に共通化できる箇所は共通化しておきましょう。

ご指摘ありがとうございました! 修正しました! 他の部分もチェックしたところ大丈夫そうでした!

・resourceベースのルーティングに概ねなっているように感じました。以下の辺りとかもresourceベースに改善できないか検討してみましょう。 get 'ranking', to: 'posts#ranking' get 'my_posts', to: 'posts#my_posts' get 'my_like_posts', to: 'posts#my_like_posts'

ご指摘ありがとうございます! 修正しました!

4について ・topページに「ZooManiaの使い方」〜「動物園の選定基準」までが文字列として表記されるだけになっていて、やや困惑を感じました。各ページにモーダルで表示できるようにするとか、画像等々を付けてユーザーに使い方をイメージさせるようにするなど改善が必要に感じました。 ・全体的にスマホ用にしか対応できていないため、PCの際は横に複数表示されるなどのレスポンス対応をすると良いように感じました。

仰る通りで、とても見づらい、理解しづらいかと思いますので、改善したいと思います。

・動物一覧ページ:ズラッと文字列が並んでいるような印象を与えてしまうので、セレクトボックスで地方を選択すると、その地方の動物園が表示されるようにするなど、見せ方の工夫が必要かと感じました。

検索機能は今後導入する予定なので、実装してみたいと思います! ありがとうございます!

・動物園詳細ページ:所在地が文字列として表示されていますが、GoogleMapも合わせて表示してあげた方が親切かもしれません。

ありがとうございます! 是非、実装してみます!

・投稿詳細ページ:明確な言語化が難しいですが、このページを開いた際に、画像・タイトル・投稿者名・動物園名etcが表示されるだけで寂しさを感じました。特にコメント等のやり取りをする必要性が無ければ、動物園詳細ページ上に複数表示されるだけで良いかもしれません。

このページは、私も不要だと思い、当初は取り入れていなかったのですが、ogpがユーザーが投稿した際の画像になるよう動的にした方がいいとのお声をいただき、作成しました! なので、現状、Twitterの共有リンクが詳細ページにしかありません! 詳細ページにしかないビューを付け加えるなどの工夫を付け加える方向でどうでしょうか?

kumaryoya commented 1 year ago

今後、実装に取り組む予定のものの一覧と、それの実装に必要な日数の記載をお願いします。また、最終的な本リリースの目処も合わせてコメントに記載をお願いいたします。

あと、ご相談なのですが、「ある動物が、どの動物園にいるのか検索機能が欲しい」という声をいくつかいただいているのですが、いい感じのAPIがない、データベースに全て登録するのは手間がかかるため、 日本動物園水族館協会のHPの飼育動物検索のリンク(https://www.jaza.jp/animal) をリンク先を明示して表示するのはどうなのでしょうか?

本リリースは2023/8/31を予定しています!

長々と申し訳ございませんが、よろしくお願いします!

Tsuchiya2 commented 1 year ago

回答ありがとうございます。 以下返信になります。


レコメンドに関しては、ユーザーの位置情報を取得し、ユーザーが行ったことがない(その動物園での投稿がない)中から近い動物園をレコメンドするのはどうか考えていました!

こちらでも良いですが、某か軸やロジックの上でレコメンドしてあげると良いと思います。その基準や軸はご自身で判断してください。

このページは、私も不要だと思い、当初は取り入れていなかったのですが、ogpがユーザーが投稿した際の画像になるよう動的にした方がいいとのお声をいただき、作成しました! なので、現状、Twitterの共有リンクが詳細ページにしかありません! 詳細ページにしかないビューを付け加えるなどの工夫を付け加える方向でどうでしょうか?

詳細ページに意義があまり感じられなかったのでOGPは詳細ページではなく、別な方法で課題解決を図ったほうが個人的には良いと思いました。

あと、ご相談なのですが、「ある動物が、どの動物園にいるのか検索機能が欲しい」という声をいくつかいただいているのですが、いい感じのAPIがない、データベースに全て登録するのは手間がかかるため、 日本動物園水族館協会のHPの飼育動物検索のリンク(https://www.jaza.jp/animal) をリンク先を明示して表示するのはどうなのでしょうか?

動物で検索したいという要望に対して、リンクを貼り付けて解消を図るということは、「=> 他のサービスを紹介する」と同義かと思いますが、それで良いかどうかの判断かと思います。その意見はもしかしたらこのサービス内でそれを実現してほしいという意見かと思うので、どう扱うかは開発者・サービス運営者が判断しましょう。

Tsuchiya2 commented 1 year ago

以下の順番で取り組むようにすると良いかもしれません。

上記の日程を計算した上でになりますが、8/18頃を本番リリース日として開發を進めましょう。


引き続き開發頑張ってください。