Skip to content
Permalink
Browse files

initial

  • Loading branch information...
isucon-server
isucon-server committed Oct 20, 2018
1 parent c351a44 commit 4c9dad719e000e3256d13715c35801e7df0874bd
Showing with 13,263 additions and 0 deletions.
  1. +95 −0 docs/ISUBANK_SPEC.md
  2. +57 −0 docs/ISULOGGER_SPEC.md
  3. +332 −0 docs/MANUAL.md
  4. +266 −0 docs/WEBAPP_SPEC.md
  5. +4 −0 webapp/.gitignore
  6. +14 −0 webapp/docker-compose.go.yml
  7. +16 −0 webapp/docker-compose.mockservice.yml
  8. +18 −0 webapp/docker-compose.perl.yml
  9. +23 −0 webapp/docker-compose.php.yml
  10. +16 −0 webapp/docker-compose.python.yml
  11. +19 −0 webapp/docker-compose.ruby.yml
  12. +40 −0 webapp/docker-compose.yml
  13. +3 −0 webapp/frontend/.browserslistrc
  14. +21 −0 webapp/frontend/.gitignore
  15. +26 −0 webapp/frontend/README.md
  16. +5 −0 webapp/frontend/babel.config.js
  17. +26 −0 webapp/frontend/package.json
  18. +5 −0 webapp/frontend/postcss.config.js
  19. BIN webapp/frontend/public/favicon.ico
  20. BIN webapp/frontend/public/img/isucoin_logo.png
  21. +20 −0 webapp/frontend/public/index.html
  22. +501 −0 webapp/frontend/public/js/Chart.Financial.js
  23. +10 −0 webapp/frontend/public/js/Chart.min.js
  24. +1 −0 webapp/frontend/public/js/moment.min.js
  25. +41 −0 webapp/frontend/src/App.vue
  26. BIN webapp/frontend/src/assets/logo.png
  27. +147 −0 webapp/frontend/src/components/Chart.vue
  28. +18 −0 webapp/frontend/src/components/FailSignup.vue
  29. +76 −0 webapp/frontend/src/components/Header.vue
  30. +142 −0 webapp/frontend/src/components/Log.vue
  31. +107 −0 webapp/frontend/src/components/Modal.vue
  32. +130 −0 webapp/frontend/src/components/Order.vue
  33. +42 −0 webapp/frontend/src/components/Price.vue
  34. +31 −0 webapp/frontend/src/components/ShareButton.vue
  35. +112 −0 webapp/frontend/src/components/SigninForm.vue
  36. +133 −0 webapp/frontend/src/components/SignupForm.vue
  37. +12 −0 webapp/frontend/src/main.ts
  38. +58 −0 webapp/frontend/src/model.ts
  39. +17 −0 webapp/frontend/src/router.ts
  40. +13 −0 webapp/frontend/src/shims-tsx.d.ts
  41. +4 −0 webapp/frontend/src/shims-vue.d.ts
  42. +139 −0 webapp/frontend/src/store.ts
  43. +69 −0 webapp/frontend/src/views/Top.vue
  44. +38 −0 webapp/frontend/tsconfig.json
  45. +20 −0 webapp/frontend/tslint.json
  46. +3 −0 webapp/frontend/vue.config.js
  47. +7,837 −0 webapp/frontend/yarn.lock
  48. +2 −0 webapp/go/.gitignore
  49. +4 −0 webapp/go/Dockerfile
  50. +17 −0 webapp/go/Makefile
  51. +168 −0 webapp/go/src/isucon8/isubank/isubank.go
  52. +1 −0 webapp/go/src/isucon8/isucoin/.gitignore
  53. +83 −0 webapp/go/src/isucon8/isucoin/Gopkg.lock
  54. +41 −0 webapp/go/src/isucon8/isucoin/Gopkg.toml
  55. +392 −0 webapp/go/src/isucon8/isucoin/controller/handler.go
  56. +36 −0 webapp/go/src/isucon8/isucoin/model/model.go
  57. +162 −0 webapp/go/src/isucon8/isucoin/model/order.go
  58. +165 −0 webapp/go/src/isucon8/isucoin/model/scanner.gen.go
  59. +71 −0 webapp/go/src/isucon8/isucoin/model/setting.go
  60. +298 −0 webapp/go/src/isucon8/isucoin/model/trade.go
  61. +80 −0 webapp/go/src/isucon8/isucoin/model/user.go
  62. +76 −0 webapp/go/src/isucon8/isucoin/webapp/main.go
  63. +84 −0 webapp/go/src/isucon8/isulogger/logger.go
  64. +2 −0 webapp/mockservice/Procfile
  65. +5 −0 webapp/mockservice/docker-run.sh
  66. +82 −0 webapp/mockservice/isubank/main.go
  67. +61 −0 webapp/mockservice/isulogger/main.go
  68. +3 −0 webapp/mysql/conf.d/my.cnf
  69. +63 −0 webapp/nginx/_.isucon8.flying-chair.net.crt
  70. +5 −0 webapp/nginx/_.isucon8.flying-chair.net.json
  71. +27 −0 webapp/nginx/_.isucon8.flying-chair.net.key
  72. +27 −0 webapp/nginx/fastcgi_params
  73. +21 −0 webapp/nginx/nginx.conf
  74. +36 −0 webapp/nginx/nginx.php.conf
  75. +1 −0 webapp/public/css/app.033eaee3.css
  76. BIN webapp/public/favicon.ico
  77. BIN webapp/public/img/isucoin_logo.png
  78. +1 −0 webapp/public/index.html
  79. +501 −0 webapp/public/js/Chart.Financial.js
  80. +10 −0 webapp/public/js/Chart.min.js
  81. +2 −0 webapp/public/js/app.2be81752.js
  82. +1 −0 webapp/public/js/app.2be81752.js.map
  83. +26 −0 webapp/public/js/chunk-vendors.3f054da5.js
  84. +1 −0 webapp/public/js/chunk-vendors.3f054da5.js.map
  85. +1 −0 webapp/public/js/moment.min.js
@@ -0,0 +1,95 @@
# いすこん銀行 API

超すごい最新鋭のネット銀行 いすこん銀行 の口座から入出金ができるAPI

## End Points

#### baseurl

baseurlは各アプリケーションごとにユニークなURLを払い出す

#### Authorization

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

```
Authorization: Bearer <APP_ID>
```

### `POST /check`

指定した金額の残高を指定したユーザーが保持しているかを確認します
※ ただし予約分を含みません

また、このAPIのpriceに0を指定することでユーザーの存在チェックに利用することもできます

- request: application/json
- bank_id
- price
- response: application/json
- status: 200
- status: 400
- error: paramater invalid
- error: credit is insufficien
- status: 401
- error: app_id not found
- status: 404
- error: bank_id not found

### `POST /reserve`

口座から資金を確保し決済予約を行います

予約した決済の有効期限は5分間で期限内で未使用の予約は必ず確定( `POST /commit` )できます

- request: application/json
- bank_id
- price
- `>0` の場合は振込
- `<0` の場合は引き落とし
- response: application/json
- status: 200
- reserve_id: bigint
- status: 400
- error: paramater invalid
- error: credit is insufficien
- status: 401
- error: app_id not found
- status: 404
- error: bank_id not found

### `POST /commit`

決済予約をしたreserve_idを確定します

※ 上述の通り、期限内のreserve_idの成功は保証されているため、50xなどのエラーが発生したときは適宜リトライすることを推奨します

- request: application/json
- reserve_ids
- response: application/json
- status: 200
- status: 400
- error: paramater invalid
- error: reserve is already expired
- error: reserve is already committed
- status: 401
- error: app_id not found
- status: 404
- error: reserve_id not found

### `POST /cancel`

reserve APIで予約した決済を取り消します

- request: application/json
- reserve_ids
- response: application/json
- status: 200
- status: 400
- error: paramater invalid
- error: reserve is already expired
- error: reserve is already committed
- status: 401
- error: app_id not found
- status: 404
- error: reserve_id not found
@@ -0,0 +1,57 @@
# ISULOGGER

海外の超イケてるリアルタイム分析基盤

## 制限事項

- bodyサイズは 1MB まで
- 同時に発行できるリクエストは10並列まで
- 1秒あたりのリクエスト数は20リクエストまで

## End Points

#### baseurl

baseurlは各アプリケーションごとにユニークなURLを払い出す

#### Authorization

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

```
Authorization: Bearer <APP_ID>
```

### `POST /send`

- request: application/json
- tag
- time
- data

- response:
- status: 200
- status: 400
- error: invalid data
- status: 401
- error: app_id not found
- status: 429
- Too Many Requests

### `POST /send_bulk`

- request: application/json
- array
- tag
- time
- data
- response:
- status: 200
- status: 400
- error: invalid data
- status: 401
- error: app_id not found
- status: 413
- error: request body too large
- status: 429
- Too Many Requests
Oops, something went wrong.

0 comments on commit 4c9dad7

Please sign in to comment.
You can’t perform that action at this time.