tiwanari / isucon2019-qualification

わいわい
0 stars 0 forks source link

Applicationについて #7

Open tiwanari opened 5 years ago

tiwanari commented 5 years ago

Applicationについて、準備や本番の環境の改善できそうなところ・困っているところなどなんでもコメント

tiwanari commented 5 years ago

みんなGo初心者みたいなところあるので、Go自体の勉強と、Goでつくるwebappについて学んでおくとよいかな

vintersnow commented 5 years ago

ISUCARI アプリケーション仕様書

ISUCARIロゴ

ISUCARIは椅子を売りたい人/買いたい人をつなげるフリマアプリです。 従来のECサービスと比べて以下の特徴があります。

ISUCARIの使い方

椅子を売ろう!

まずは椅子を出品しよう!

  1. 椅子の情報をいれよう!
    • タイムラインページの右下の出品ボタンを押すと出品画面にいくよ!
    • シンプルなフォームに情報を入力すれば即出品♪
    • 1-1
  2. 売れるのを待とう!
    • あなたの椅子が買われるのを楽しみに待とう♪
  3. 椅子を発送しよう!
    • 無事購入されたら椅子を発送しよう!
    • 商品ページかマイページから取引画面に行こう👀

売れた椅子を発送しよう!

  1. 集荷予約をしよう!
    • 集荷予約をして椅子を送る準備をしよう😤
    • 集荷予約は取引画面からできるぞ!
    • 2-1
  2. 配達員に椅子をわたそう!
    • 配達員が来たらQRコードを見せよう📱
    • 椅子を渡したら発送完了ボタンを押そう♪
    • 2-2
  3. 購入者の受け取りを待とう!
    • 椅子が届くのをまとう♪
    • 届いたかどうかは取引画面で確認できるぞ!
    • 購入者が椅子を受け取ったら取引完了♪

椅子を買おう!

  1. ほしい椅子を探そう!
    • タイムライン、カテゴリタイムラインから好みの椅子を探そう👀
    • カテゴリタイムラインへはサイドバーからいけるよ!
    • 3-1
  2. 椅子を買おう!
    • 運命の椅子を見つけたら購入しよう😎
    • カード番号を入力して簡単1ステップ購入!
    • 3-2
  3. 椅子が届くのを待とう⏱
    • 出品者が発送するのを待とう!
    • 発送されたかどうかは取引画面で確認できるぞ!
  4. 取引を完了しよう!
    • 椅子が届いたら「取引完了」をしよう!
    • これで取引完了♪

キャンペーン機能について

マニュアルを参照

外部サービスの仕様

外部サービス仕様書 を参照

ISUCARI ステータス遷移表

WHO items transaction_evidences shippings
/sell (出品) 出品者 on_sale - -
/buy (購入) 購入者 trading wait_shipping initial
/ship (集荷予約) 出品者 wait_pickup
/ship_done (発送完了) 出品者 wait_done shipping or done
/complete (取引完了) 購入者 sold_out done done
vintersnow commented 5 years ago

外部サービスAPIの仕様

予選マニュアルに利用可能なURLなどの情報があるので確認してください。

payment service

決済サービスAPI。クレジットカード情報の非保持化にも対応しているので安心して利用できます。

POST /card

API仕様

example:

# request
{
  "shop_id": "11",
  "card_number": "AAAAAAAA"
}

# response
{
  "token": "abcdefg"
}

{
  "error": "card number is wrong"
}

POST /token

API仕様

example:

# request
{
  "shop_id": "11",
  "token": "abcd",
  "api_key": "itisapikey",
  "price": 10000
}

# response
{
  "status": "ok"
}

{
  "error": "wrong shop id"
}

shipment service

配送サービスAPI。配送会社が直接住所を扱うことで、お客様同士は住所を教え合うことなく利用できます。

Authorization

AuthorizationヘッダのBearerトークンに、予め払い出されているユニークなappidを使用して認証を行う。

Authorization: Bearer <APP_ID>

POST /create

API仕様

POST /request

API仕様

GET /accept

API仕様

GET /status

API仕様

ステータスの仕様

ステータスは以下

  1. initial: 集荷予約作成
    • /create を呼ばれた後はこの状態
  2. wait_pickup: 集荷待ち
    • /request を呼ばれた後はこの状態
  3. shipping: 配送中
    • /accept を呼ばれた後はこの状態
  4. done: 配送完了
    • 配送が終了するとこのステータスになる
vintersnow commented 5 years ago

pprof