Closed tokku5552 closed 2 years ago
今回、初期の設計でBookとRegisteredBookを分けて保持するように設計した。理由は、本棚に登録するときに保持しておきたい情報(読んだ回数、読んだ履歴、追加した日など)と、楽天APIから取得できる純粋に商品としての本の情報を分けて管理するため。ただ、この方式だと作品詳細画面では別のデータモデルを参照することになり、どこから画面遷移してきたのかを判断する必要が出てしまう。
もう一つ分けた理由としては、楽天APIからの情報取得とその保持をなるべく少ない回数で行いたかったため。レート制限の問題や、同じ本の情報がfirestore上のあらゆる箇所に保存される事になり非効率と考えた。
上記が初期の徳田の考え方だが、開発を進めていく上で関連issueで議論されている通り、以下の問題点が浮かび上がった。
というスキーマの変更をコードに落としておく
概要
48
13
背景
今回、初期の設計でBookとRegisteredBookを分けて保持するように設計した。理由は、本棚に登録するときに保持しておきたい情報(読んだ回数、読んだ履歴、追加した日など)と、楽天APIから取得できる純粋に商品としての本の情報を分けて管理するため。ただ、この方式だと作品詳細画面では別のデータモデルを参照することになり、どこから画面遷移してきたのかを判断する必要が出てしまう。
もう一つ分けた理由としては、楽天APIからの情報取得とその保持をなるべく少ない回数で行いたかったため。レート制限の問題や、同じ本の情報がfirestore上のあらゆる箇所に保存される事になり非効率と考えた。
論点
上記が初期の徳田の考え方だが、開発を進めていく上で関連issueで議論されている通り、以下の問題点が浮かび上がった。
1. 本棚or検索画面で選択された本の情報をどうやって詳細画面に渡すか
2. ユーザーと本棚の関係
進め方(案)