pj-picbook / picbook

9 stars 0 forks source link

データモデリング再考 #79

Closed tokku5552 closed 2 years ago

tokku5552 commented 2 years ago

概要

背景

  1. 今回、初期の設計でBookとRegisteredBookを分けて保持するように設計した。理由は、本棚に登録するときに保持しておきたい情報(読んだ回数、読んだ履歴、追加した日など)と、楽天APIから取得できる純粋に商品としての本の情報を分けて管理するため。ただ、この方式だと作品詳細画面では別のデータモデルを参照することになり、どこから画面遷移してきたのかを判断する必要が出てしまう。

  2. もう一つ分けた理由としては、楽天APIからの情報取得とその保持をなるべく少ない回数で行いたかったため。レート制限の問題や、同じ本の情報がfirestore上のあらゆる箇所に保存される事になり非効率と考えた。

論点

上記が初期の徳田の考え方だが、開発を進めていく上で関連issueで議論されている通り、以下の問題点が浮かび上がった。

1. 本棚or検索画面で選択された本の情報をどうやって詳細画面に渡すか

2. ユーザーと本棚の関係

進め方(案)

tokku5552 commented 2 years ago
  1. については技術的な問題で、実現したい要件は明確ですが、2. については要件が少し曖昧なので、 #13 でそこを詰めれればと思います。
tokku5552 commented 2 years ago

というスキーマの変更をコードに落としておく