1.2 要求モデル - 要求
===
# 管理者
## 好奇心
DDDを取り入れること
# ユーザー
## 家の中にある全ての物を在庫として管理したい
- 大小問わず家の中の全ての「物」を登録できること
## 一点物の他に、抵抗が100個入ったパックなど電子部品にも対応させたい
## 食べ物とか賞味期限のあるものはそれも一緒に管理したい
## 日用品など、使ったら消滅するものはステータスとして保存する
## やっぱり基本同じものは商品カタログを参照することにして、在庫情報は1つにつき実装するようにしたい
- 在庫は「商品カタログ」と「在庫情報」に分けて保存できること
- 在庫情報には「在庫IDと商品カタログID,ステータス,登録日,購入金額(任意),貸し出し許可, 賞味期限(任意)」が保存され、同じものの場合でも在庫IDが違うので管理できるようにすること
- ステータスには、「Available(利用可能)」「Corrupted(故障中)」「Disposed(廃棄済み・使用済み)」「Away(貸出中)」を選べること。
- 貸し出し許可には、「Anyone」「Friends」「None」が選べること。
## 収納場所の情報は「棚」「箱」「袋」のように入れ子で指定できる
## 「物」は「机」「筆箱の中」などあらゆる場所に逐次移動することができて、その都度簡単に更新できる
- 収納場所情報には、「場所ID, 場所名, 場所親ID」が含まれ、上の階層の場所を親IDとして表現できること
- 筆箱のように一見「物」のように見えても、その中に別の「物」を入れられる場合は「収納場所」として登録すること
## 物を人に貸出す時、貸し出し期限とかも含めて保存しておきたい
- 貸し出し台帳には、「貸出ID, 貸りた人ID, 在庫ID, 貸し出し期限」を含むこと
## 物を移動したときにはバーコードとかで追跡できるようにしたい
## コンセプトは特に整理しなくても、開いてる箱に投げ入れてバーコード登録するだけでなくさないってこと
- 在庫場所情報には「在庫ID, 場所ID, 移動日時」が保存され、その時何がどこにあったか後から確認できること
- 在庫場所情報は、在庫IDのバーコードと場所IDのバーコードを読むだけで登録できること
## 価値が高くなってるものを自動で発見して「メルカリでウリませんか?購入価格の3倍になってます」的なことをできるようにしたい
- 期限のない商品・日用品や消耗品でない商品は、商品カタログのISBN情報で、Amazonの価格トラッカーに照会して相場を確認すること
## ネットで購入した商品は自動的に「商品カタログ」や「在庫情報」に追加するようにしたい
- Amazonや秋月電子の商品URLから、自動でカタログを取得出来る機能を付けること
## 商品の登録は煩雑なので、物体認識で撮るだけ判定する機能も欲しい
- あまり認識にコストをかけたくないので、「CloudVisionAPI」を使うこと
## 使用期限があるものは「今日期限が切れます」みたいな通知が出るようにしたい
- 在庫情報から期限が迫っているものをピックアップして通知すること
## 在庫の検索は、アイテム文字やカテゴリ、ISBNなど一般的なもので検索出来るように
- 商品カタログには、「商品名, メーカー名, アイテムのカテゴリID, 商品の説明文, ISBN」を登録すること
- カテゴリIDも入れること
- カテゴリーは、「カテゴリーID, カテゴリ名, 親カテゴリーID」で構成される