最中限オンライン2.0 design 今日のバージョン

今日も残りわずかになって参りました。

  • htmlでブラウザで見るのまでapiに含めるのはやめる
  • apiは/api/以下にまとめる
  • HTTPのステータスコードAPIの結果の伝達に使わない RATIONALE: TwitterAPIがNot Authrizedを返すせいで苦労をしているJSのクライアントがあるらしいので
  • 計算すれば求まる値は送信しない A
  • 単純なフォーマットを用意する A
  • Aの RATIONALE: クライアントの実装言語が多岐に渡る可能性がある。JSONのパーサのmatureな実装があるか、それの使用が容易かはわからない。なのでJSONである必要がないならJSONではないフォーマットを用意すべき。
  • 単純な認証方法を用意する RATIONALE: これも実装言語が多岐に渡ることから。
    • 実際には秘密のAPI Keyをリクエストと一緒に送ってください、という程度。お金が絡むわけでもなし、十分だろう。

必要な物

  • ■人間のログイン
  • ■人間用の/home
    • ■AI用Playerの作成ができなければいけない(/home/create_player)
      • ■作成と変更(viewsの中身)
    • ■名前の変更
    • ■Playerを選んで編集(名前の変更とか?)
  • /user/nishio
    • ここで注意が他にそれてしまった。/user/nishioでアクセスできるようにはしたいが「アカウント作成時にユニークなunix nameを入力させる」はさせたくない。というわけでは/user/(?P.*)/で、user_idがまずidとして存在するかチェックをして、存在しなかったらそれがunix nameであるかどうかを検索する。/homeでunix nameを設定できるようにし、それがuniqueでない場合にはエラーになるようにすればいい。
      • でもとりあえずそれは優先じゃないからいいや
    • 一般の人向けその人の情報
      • ■とりあえずプレイヤーリスト
    • 成績とかもここ(公開していい情報だから)→まだそもそも成績がないので表示するのは保留
  • user? player? -> 両方必要
    • player 詳細な戦績とか。とりあえずまだいらない気がしてきたので必要になってから作る
  • 人間用のゲーム観戦ページ
  • 人間用のプレイページ
    • /game/(game_id) でそのゲームの情報が見られて、なんか操作したときには /api/html/.../にアクセスして、そのapiが/game/(game_id)へのredirectを返せばいいだけだな。というわけで次に作るべきなのは/game/(game_id)だろう。

もうだいぶ眠くなってきたので、続きは明日にしよう。