教材の内容に関係のない質問や教材とは異なる環境・バージョンで進めている場合のエラーなど、教材に関係しない質問は推奨していないため回答できない場合がございます。
その場合、teratailなどの外部サイトを利用して質問することをおすすめします。教材の誤字脱字や追記・改善の要望は「文章の間違いや改善点の指摘」からお願いします。
本教材ではユーザー投稿型のブックレビューサイトを開発していきます。
当パートではブックレビューサイトの開発に必要な設計を解説します。
本のレビュー一覧が表示されるページになります。新しい順に並ぶ仕様で、画像には写っていませんが、9個以上の場合はページネーションが表示されます。
レビューを投稿するページになります。画像のアップロードは任意で投稿できます。
また、このページはログイン認証をかけてログインしている状態のみアクセスできるようにコントロールしていきます。
新規の会員登録をするページになります。本教材ではメール認証は実装しないため、即時ログインできるようになります。
本教材はでは以下の機能を実装していきます。
Copied!- ログイン/会員登録機能
- レビュー閲覧機能
- レビュー投稿機能
前項の機能を実現するために必要な情報を洗い出してみましょう。
ユーザーの情報とレビューの情報の関係性は以下のようになります。
Copied! - ユーザーは複数のレビューを投稿することができる
- レビューAに関して、レビューAを投稿したユーザーは一人しかいない
こういった関係性を1:多の関係性と言います。
これらの関係を*ER図にすると以下のようになります。
このテーブル設計により、ユーザーが複数の投稿を管理しながら、誰がどのレビュー投稿をしたのか管理できるようになります。
*ER図とは、データベースのテーブル(Entity)とテーブル同士の関連(Relationship)を図に表したものであり、データベースのテーブル設計に用いられます。
テーブル設計する際はER図を書きます。 ER図に関しては、こちらのURLを参考にしてください。
若手プログラマー必読!5分で理解できるER図の書き方5ステップ
本教材ではAWSを使ったインフラ構築も行いますので、サーバー全体のイメージを掴むためにまずは以下の図をご覧ください。
Webアプリケーションを全てAWS上のサービスで展開していきます。この章では簡単な紹介に留めておきますので、各サービスの詳細はハンズオンで構築しながら学んでいきましょう。
以上でインフラ〜アプリケーションの設計を終了します。
このパートの全体像を頭に入れておくことで、全体を意識しながら開発を進められるので、忘れてしまったらいつでも戻って見直してください。
お疲れ様でした。