---
# System prepended metadata

title: ぽにょぽにょ設計書

---



---
# ぽにょぽにょ設計書

## 大概念

- タスクを操作する✓
    - 登録（バックエンド）✓
    - 読み取り（バックエンド）✓
    - 表示
    - チェック（バックエンド）

---

        - 表示
        - 中のデータを弄る
- 締め切りをチェック
    - 締め切りを過ぎたら出力を出す
- 晒される情報を登録する


## エンティティ（データのモデル）

```json
TaskEntity
{
    "task_name":string,
    "deadline":date,
    "task_id":string,
    "check":boolean,
    "created_at":date,
    "user_id":string,      
    "priority":number,     //優先順位option
    "updated_at":date,     //option
    "task_detial":string,  //詳細説明option
}

//とりあえずバックは要らない
EpisodeEnity
{
    "desc":string    //恥ずかしエピソード
    "user_id":string //ユーザーID
}

```

## バックエンド

**バックエンドが発行するIDは全てUUIDを用いること**

### タスクの登録

#### URI

```
/api/v1/task [POST]
```

```json
{
    "task_name":string,
    "deadline":date,
    "user_id":string,
}
```

### レスポンスデータ（出力）


```json=

//成功した場合
{
    "task_id":string,
}

//失敗した場合
{
    "status_message":string //失敗理由
}
```

### タスクの読み出し

#### URI

```
/api/v1/task?task_id=hogehoge [GET]
```

### レスポンスデータ（出力）

```json
{
    "name":string,
    "deadline":date,
    "id":string,
    "check":boolean,
    "created_at":date,  
    "user_id":string,
}

//失敗した場合
{
    "status_message":string //失敗理由
}

```

### タスクの読み出し（一括取得）

ユーザーIDに紐付いたデータを全件取得

#### URI

```
/api/v1/task?user_id=hogehoge [GET]
```

### レスポンスデータ（出力）
```json=
{
    tasks:[
        {
            "task_name":string,
            "deadline":date,
            "task_id":string,
            "check":boolean,
            "created_at":date,  
            "user_id":string
        },
        {
            "task_name":string,
            "deadline":date,
            "task_id":string,
            "check":boolean,
            "created_at":date,  
            "user_id":string
        },
    ]
}

//失敗した場合
{
    "status_message":string //失敗理由
}

```
### チェックボックス
タスクの完成状況を表示する

### リクエストデータ（選択）
```json=
{
    "check":boolean,
    "task_id":string,
}
```

### レスポンスデータ（出力）
```json=
{
    "task_name":string,
    "deadline":date,
    "task_id":string,
    "check":boolean,
    "created_at":date,  
    "user_id":string,
}

//失敗した場合
{
    "status_message":string //失敗理由
}
```

## 恥ずかしエピソードに絡んだ処理

### エピソードの登録[/episode POST] 

**Request Body**

```json=
{
    "desc":"恥ずかしエピソード",
    "user_id":"example-user-id"
}
```

**Response**

```json=
{
    "status_message":string //失敗理由
}
```

### エピソードの読みだし[/episode?user_id=<user-id>] GET
    
```json=
{
    "desc":"恥ずかしエピソード"
}
```

## フロントエンド

![](https://i.imgur.com/R3TKJxK.gif)

