前のパートに戻る 完了して次のパートへ  

  0-4 pitmark の設計を考える

今回のパートでは pitmark を作る上でどのように設計を行うかを解説します。

すべての画面の洗い出し


設計をする前に本講座で作成する画面を全て紹介します。 画面は全部で 7 画面あります。

サインインページ

サインインページではユーザーのサインインを行います。

サインアップページ

サインアップページではユーザーの新規登録を行います。

認証情報変更ページ

サインインに必要な認証情報の変更を行います。

トップページ

サインイン後に表示するトップページです。ここではアプリケーションに登録されているブックマークを一覧表示します。

ブックマーク詳細ページ

ブックマーク詳細ページではブックマークしたユーザーを列挙し、コメントを閲覧できます。またスターの登録が行えます。

ブックマーク登録ページ

ブックマーク登録ページではブックマークの登録を行います。URL とコメントを登録します。

プロファイルページ

プロファイルページでは自分のプロファイル情報および自分がブックマークした一覧を表示します。また退会もここから行います。

プロファイル編集機能

プロファイル編集機能では自分のプロファイル情報の編集ができます。専用のページではなくダイアログで行います。

必要なデータの洗い出し


今回のコースで開発する機能は以下の 4 つです。

  • 認証機能
  • ブックマーク登録機能
  • スター機能
  • プロファイル編集

これらの機能を開発する上で必要なデータを書き出してみます。※は複数持つことが可能なデータです。例えば 1 つのブックマークコメントには複数のスターをつけることができます。

認証情報

  • メールアドレス
  • パスワード

ブックマーク

  • URL
  • タイトル
  • コメント※

ブックマークコメント

  • コメント内容
  • コメントしたユーザー
  • スターをつけたユーザーの情報※

プロファイル

  • ユーザー名
  • 認証 ID
  • Gravatar の URL
  • ブックマーク※

データの構造を考える


Firebase で使用する firestore は Ruby on Rails などで使用する RDB(リレーショナルデータベース)とは異なり、ドキュメントデータベースと呼ばれるものです。firebase ではデータをツリー状で管理します。ここでは上であげたデータがどのようなツリーになるかを考えておきましょう。json のサンプルで示します。

またユニークな値となる項目は重要な項目です。設計の時点でしっかり考慮しておきましょう。今回はユニークな項目には (+) というマークをつけることにします。(id は必ずユニークとなるようにします)

なお、認証情報は Firebase Authentication という機能で管理されますのでデータとして管理しません。

ブックマーク情報

ユーザー情報

議論

0 質問

このコースの評価は?