---
# System prepended metadata

title: オタ友

---

# オタ友

## データベース設計

## メンバー
5401 赤川陵
5405 井尻空佑
5409 遠藤拓斗
5410 大沢毅
5414 佐藤清司
5417 雋英泰
5422 當麻英之
5426 服部亮治
5427 福井涼太
5428 波多野陸
5436 吉橋忠勝

### チーム

| 書類作成チーム | プログラムチーム |
| -------- | -------- | 
| 赤川 | 井尻 | 
| 大沢 | 遠藤 |
| 佐藤 | 服部 |
| 雋 | 福井 |
| 當麻 | 波多野 |
|  | 吉橋 |

## ページ
- ユーザログイン
- ユーザ新規登録
- 物品登録
- 物品一覧
- 物品詳細
    - 貸し借り画面
- タグ追加
- カテゴリ追加
- 貸し借り履歴
    - DM画面
    - ユーザ評価

## 実装内容（サーバサイド）

### 最小構成
- User
- Image
- Item
- Rental
    - enum State: レンタル状況を表す（実質integer）
    - before_shipping 発送前
    - after_shipping 発送済
    - on_rent 貸出中（貸し出し相手に到着）
    - before_returning 返却の発送前
    - after_returning 返却の発送後
    - finish 終了（貸し出し元に到着）

![](https://i.imgur.com/oKNf7KM.png)

### 最終的（理想）
![](https://i.imgur.com/q2IskPw.png)

### API
クライアントから送信されるデータを受け取り、要求されたデータを返す。
- ユーザログイン POST /login
    - メールアドレスとパスワードを受けとる
    - メールアドレスでユーザをデータベースから取得して、パスワードが合っているか照合
- ユーザ新規登録 POST /register
    - ユーザ名、名前、メールアドレス、パスワードを受けとり、Userに登録
- ユーザ編集 UPDATE /users/userID
    - ユーザ名、名前、メールアドレス、パスワード、住所、画像を受けとり、Userに登録
- 画像アップロード Post /images
    - 画像を受け取り、画像ファイルを保存
    - 画像のパスをImagesに登録
    - imageIDを返す
- 画像 GET /images
    - 画像を受け取り、画像ファイルを保存
    - 画像のパスをImagesに登録
    - imageIDを返す
- 物品登録 POST /items
    - 名前、レンタル料金、担保料金、カテゴリ、タグ、手渡しOKかどうか、OKならその場所を受け取り、Itemとしてデータベースに登録
- 物品一覧 GET /items
    - Itemのデータを全て返す
    - フィルタ
- 物品詳細 GET /items/itemID
    - itemIDを受け取り、そのItemのデータを返す
- タグ登録 POST /tags
    - タグ名を受け取り、Tagに登録
- カテゴリ登録 POST /categories
    - カテゴリを受け取って、データベースに登録
    - カテゴリの一覧を返す
- 貸し借り機能 POST /rentals
    - 貸すItem、借りるUser、貸し出し開始日、返却日を受け取り、Rentalに登録
    - 登録したRentalを返す
- 貸し借り詳細 GET /rentals/renatalID
    - rentalIDを受け取り、そのRentalのデータを返す
- DM機能 POST /rental/rentalID/messages
    - Rental、送信User、メッセージを受け取り、Messageに登録
- ユーザ評価 POST /rentals/rentalID/reviews
    - Renatal、送信User、評価を受け取り、Reviewに登録

## タスク
### 資料チーム
- 必要なテストの書き出し
- 使用説明書
- アプリケーション機能の詳細設計書
- テスト仕様書(試験方法の明記)
ー(赤川、大沢)
### プログー（雋、當麻、佐藤）ラムチーム
- データベースの確認ー（（雋、當麻、佐藤））あｋかｗｇがｗわ赤川、おおｓさ大沢