---
# System prepended metadata

title: API仕様要望

---

# API仕様要望

- gRPC/Protoつかいたい話
    - gRPCちょっと調べてみて難しかったらREST

## MUST要件
- ユーザー登録
- 投稿
- 投稿の参照
- いいね・リツイート

## MUSTを満たすためのAPI
- ユーザー登録
    - request: id(or メールアドレス？), screen_name, password
    - response: status code
- 認証
    - JWT?
- 投稿
    - request: message, (reply_id)
    - response: id
- 投稿取得
    - request: post_id
    - response: posts[]
- いいね
    - request: post_id
    - response: status code
- リツイート
    - request: status_id
    - response: status code
- タイムライン
    - request: since_id
    - response: posts[]


### 絶対あったほうがいいAPI
- フォロー
    - request: user_id
    - response: status code
- アンフォロー
    - request: user_id
    - response: status code
- user_timeline
    - user[]
    - posts[]
- 返信
    - 投稿時にreply_idを付ける

## データ構造
- posts
    - id
    - message
    - created_at
    - likes[]
    - retweets[]

- likes
    - like_count
    - user[]

- retweets
    - retweet_count
    - user[]

- user
    - id
    - screen_name
    - image
    - name

## あると便利かも
- 画像・動画アップロード
- 編集機能
- 投稿への参照（コメント付きリツイート）