Closed KentoBF5587 closed 5 months ago
どのテーブルがどんな役割なのか知りたいので各テーブルと役割をこのプルリクエストのコメント記載をお願いします
また、購入履歴のことをBuyBooksと表しているのであれば動詞を使うのではなくPurchaseHistoriesのように名詞になるようにしてあげると良いかもしれません
なお、前回の提出時には共有の設定を以下の画像のようにしているのですが、反映されないとすると「(コメント可)」にしているのが原因でしょうか……。
わからないですがもしかしたら共有用のURLになっていないのかもしれないですね
レビューありがとうございます。
Usersテーブル→ユーザー登録・ログイン機能(TwitterAPIもしくはメールアドレスでの作業を想定)、行ってみたい本屋設定・解除機能、書店レビュー機能、書店レビューへいいね・いいね解除機能(本リリース後)、プロフィール作成・編集機能、書店レビューした本屋(おすすめの本屋)に紐付けてユーザーが購入した本を紐づけて記録する機能
Bookstoresテーブル→書店検索機能、書店情報投稿・編集・削除機能、行ってみたい本屋設定・解除機能、書店レビューした本屋(おすすめの本屋)に紐付けてユーザーが購入した本を紐づけて記録する機能
Tags・TagRelationsテーブル→書店検索機能(タグ検索)、タグ設定機能
StoreReviewsテーブル→書店レビュー機能、書店レビューへいいね・いいね解除機能(本リリース後)
ReviewLikesテーブル→書店レビューへいいね・いいね解除機能(本リリース後)
WannaGoテーブル→行ってみたい本屋設定・解除機能
PurchaseHistoriesテーブル→書店レビューした本屋(おすすめの本屋)に紐付けてユーザーが購入した本を紐づけて記録する機能
Contactsテーブル→問い合わせ機能
Questions・Resultsテーブル→診断機能(本リリース後)※今回はログインなしでも利用できるよう、Usersテーブルとは紐付けず診断結果を保存しないケースを考えてテーブルを作成してみました
また、ER図の中央にあったBuyBooksテーブルの名前を、PurcharseHistoriesテーブルに名前変更しました。ありがとうございます。
修正ありがとうございます。 以下、追加のコメントになります。
created_at
, update_at
カラムが、表示されていたり、されてなかったりする箇所があるので統一をお願いします。purchase_date
カラムは命名はdateですが、データ型はintger
型で正しいでしょうか?ご確認をお願いします。first_body~sixth_body
これらのカラムは、なぜ分けているかのイメージができなかったのでご説明をおねがいします。レビューありがとうございます。
created_at
カラムと、updated_at
カラムを全てのテーブルに付け加えました。purchase_date
テーブルはdate
型の間違いでした。なお、こちらのカラムはユーザーに購入日を選択してもらうことを想定しています。例. 2024年4月21日、2023年3月など。first_body →書いた日付を入力してもらうためのカラムです。date
型
second_body →その本屋を知ったきっかけを書いてもらうためのカラムです。string
型
third_body →初めて行ったのはいつ頃かを書いてもらうためのカラムです。日付ではなく文字入力の方が書きやすいかもしれないと考え、string
型。
(4つ目の質問→この本屋に当てはまるタグを選んでもらいます。この選んだタグがBookstores
テーブルに反映され、"本屋検索機能"や"本屋投稿詳細ページ"に反映される実装が出来れば面白そうだなと現在考えています。)
fifth_body →この本屋のどんなところが好きかを書いてもらうためのカラムです。string
型
sixth_body →この本屋についての思いを自由に書いてもらうためにカラムです。他の項目よりも長く書けるように、string
型ではなくtext
型にしました。(バリデーションで最高〇〇字と文字数制限はする予定です)
以上の点を踏まえER図に修正を加えました。 よろしくお願いします。
対応ありがとうございます。 以下コメントになります。
・first_body, ...:カラム名から何を登録したデータなのかが分かるようにしましょう。
レビューありがとうございます。
StoreReviewsテーブルのカラム名を以下のように変更しました。
first_body
→date_entered
カラム
書いた日付を入力してもらうためのカラムです。date型
second_body
→opportunity
カラム
その本屋を知ったきっかけを書いてもらうためのカラムです。string型
third_body
→first_visit
カラム
初めて行ったのはいつ頃かを書いてもらうためのカラムです。日付ではなく文字入力の方が書きやすいかもしれないと考え、string型。
(4つ目の質問→この本屋に当てはまるタグを選んでもらいます。この選んだタグがBookstoresテーブルに反映され、"本屋検索機能"や"本屋投稿詳細ページ"に反映される実装が出来れば面白そうだなと現在考えています。)
fifth_body
→favorite
カラム
この本屋のどんなところが好きかを書いてもらうためのカラムです。string型
sixth_body
→free_description
カラム
この本屋についての思いを自由に書いてもらうためにカラムです。他の項目よりも長く書けるように、string型ではなくtext型にしました。(バリデーションで最高〇〇字と文字数制限はする予定です)
以上の変更をER図に反映しました。 よろしくお願いします。
修正と解説ありがとうございます。
fifth_body →favoriteカラム この本屋のどんなところが好きかを書いてもらうためのカラムです。string型
細かい&個人差がありそうな指摘で恐縮ですが、favoriteカラムだと文章が入っていると予測されない可能性もありそうなのでfavorite_reason
等、文章が保存されているとわかりそうな命名がいいかなと思いましたがいかがでしょうか。
ご確認よろしくお願いいたします。
概ね良いかと思います。LGTMです!
READMEにER図のリンクを貼り付けました。 よろしくお願いします。
※QuestionsテーブルとResultsテーブルは本リリースの際に実装予定の分岐診断のためのテーブルです。 今回はログインなしでも利用できるよう、Usersテーブルとは紐付けず診断結果を保存しないケースを考えてテーブルを作成してみました。
また130行目に記載したrailsのバージョンに誤表記が確認されたため、変更を加えました。