---
# System prepended metadata

title: Yandereca Technology 大概念

---

# Yandereca Technology 大概念

## バックエンドのタスク

### Todo

- OAuthのリンクの発行を依頼するGET APIを作成
    - リクエスト
        - なし
        - リダイレクト無し
    - レスポンス
        - OAuthの認証用URL
- 認証コードを受け取るAPI
    - リクエスト
        - POST
    - やること
        - トークンに変換する
        - ユーザー情報を取ってくる
            - メールアドレス
            - 名前
            - UID
        - トークンとユーザー情報をDBへ保存
            - 保存時にDB独自のユニークIDを発行
    - レスポンス
        - JWTのトークン

- domain
    - UserData
        - name:string
        - email:string
        - token:string
        - refresh_token:string
        - google_uid:string
        - created_at:string
        - updated_at:string
- タスク
    - torinikun
        - Googleのトークン（？）を使ってユーザー情報を取ってくる
    - Age
        - DBを作る
        - テーブルは以下の仕様
            - id:text //selectで使うキー
            - name:text
            - email:text
            - token:text
            - refresh_token:text
            - google_uid:text
            - created_at:timestamp
            - updated_at:timestamp
        - UserDataを引数に取ってそいつを保存する
        - Idを引数にとって該当データを取得する
    - notch_man
        - JWT発行
        - 進捗管理


## API仕様

### リクエスト発行 /request [GET]

**Request Parameters**

```
なし
```

**Response 200**

認証用URLを返す

```json=
{
    "url":"https://example.com/auth"
}
```

### コード入力 /auth [POST]

**Request Body**

```json=
{
    "code":"example-code"
}
```

**Response 200**

```json=
{
    "token":"example-jwt-token",
    "refresh_token":"example-refresh-token"
}
```

**この内部ではユーザー情報をDBに保存するなど色々な処理をやる**


### 進捗率取得 /task [GET]

**Request Parameter**

- token: example-token

ex.) https://example.com?token=example-tken

**Response**

```json=
{
    "progress": 0.25
}
```

**この流れを実装する**

https://hackmd.io/@hota1024/HyAG6p5EK

### 2021/11/05

- タスクの確認
    - フロント
    - バックエンド
- ヤンデレ画像が決まった！
    - マーブル模様の背景良さそう？
- kamonikun が友達にヤンデレイラストの制作を依頼
    - 楽しみ
