本教材ではユーザー投稿型のブックレビューサイトを開発していきます。当パートではブックレビューサイトの開発に必要な設計を解説します。トップページ本のレビュー一覧が表示されるページになります。新しい順に並ぶ仕様で、画像には写っていませんが、9個以上の場合はページネーションが表示されます。レビュー投稿ページレビューを投稿するページになります。画像のアップロードは任意で投稿できます。このページはログイン認証をかけてログインしている状態のみアクセスできるようにコントロールしていきます。レビュー閲覧ページレビューの詳細を閲覧するページになります。ログイン会員登録済みのユーザーがログインするページになります。新規の会員登録をするページになります。本教材ではメール認証は実装しないため、即時ログインできるようになります。必要な機能の洗い出し本教材はでは以下の機能を実装していきます。必要なデータの洗い出し前項の機能を実現するために必要な情報を洗い出してみましょう。本の画像レビューした人は誰か?レビュー投稿日時2つのデータの関係性を考えてみるユーザーの情報とレビューの情報の関係性は以下のようになります。レビューAに関して、レビューAを投稿したユーザーは一人しかいないこういった関係性を1:多の関係性と言います。これらの関係を*ER図にすると以下のようになります。このテーブル設計により、ユーザーが複数の投稿を管理しながら、誰がどのレビュー投稿をしたのか管理できるようになります。*ER図とは、データベースのテーブル(Entity)とテーブル同士の関連(Relationship)を図に表したものであり、データベースのテーブル設計に用いられます。テーブル設計する際はER図を書きます。ER図に関しては、こちらのURLを参考にしてください。本教材ではAWSを使ったインフラ構築も行いますので、サーバー全体のイメージを掴むためにまずは以下の図をご覧ください。Webアプリケーションを全てAWS上のサービスで展開していきます。この章では簡単な紹介に留めておきますので、各サービスの詳細はハンズオンで構築しながら学んでいきましょう。バーチャルプライベートクラウド。擬似的に隔離されたネットワークを構築できるので、1アプリにつき1つのVPCを割り当てています。伸縮可能なクラウドサーバーになり、EC2上でLaravelが動作する環境を構築していきます。リレーショナルデータベースサービス。各種データベースをクラウド上に構築でき、耐障害性もデフォルトで兼ね備えているため、本教材ではRDSを利用します。負荷分散のため複数のEC2にアクセスを振り分けるサービス。本教材ではEC2を1台で動作させるため、負荷分散機能は使わず利用します。ドメインの名前解決サービス。所謂DNSサーバーに当たるサービスで独自ドメインとRLBをつなぐ役割を果たしています。最後に以上でインフラ〜アプリケーションの設計を終了します。このパートの全体像を頭に入れておくことで、全体を意識しながら開発を進められるので、忘れてしまったらいつでも戻って見直してください。"この評価の理由をお聞かせください。text:'12月28日~1月5日の期間は年末年始のため質問の回答が遅れる場合がございます。$('.announce').after(announce_text);。