クラロワAPIを使ったアプリを作成#5

今日はアプリの設計をざっくりと決める。

やりたいこと

・クランメンバーの昇格や降格や追放に使える情報
 ・過去4週分の寄付枚数の累計
    ・過去10週分のクラン対戦メダルの枚数
    ・そのプレイヤーのクランへの貢献スコアを算出
 ・高い順にソートして表示する

必要な画面

・貢献度の高い順にソートする画面
 ・貢献度指標ー10週分の対戦メダル、4週分の寄付枚数を表示
          ・貢献度の計算は以下より算出
    ・「対戦メダル」「使ったデッキ数」
    ・「寄付枚数」
    ・「現在の役職」
    ・「過去の貢献度」
   

・プレイヤーリストをクリックした時に、そのプレイヤーの詳細画面に遷移
 ・現在の役職及びそのスコアを表示
 ・過去の貢献度スコアを表示
    ・各週のクラン対戦メダルと使ったデッキ数を表示
 ・各週の寄付枚数を表示

データベース

・プレイヤータグ(キー)
・プレイヤー名
・現在のトロフィ
・現在クランのメンバーであるか?
・貢献度指標
・対戦メダル(x10) 
・使ったデッキ数(x10)
・対戦メダルのSeasonID(x10)
・対戦メダルのweek(x10)
・対戦メダルのトータル
・寄付の枚数(x4)
・寄付のweek(x4)
・寄付のトータル
・現在の役職
・過去の貢献度

データベースをqueueにしたいけどできるのか?

機能と使うAPI

DBの操作関連の機能

現在のプレイヤー名のリストを獲得して、dbに入れる・プレイヤー基本情報の獲得
 ・現在、データベースにない人を追加する。
 ・/clans/{clanTag}/membersを使う
  ・プレイヤー名, トロフィ, 役職
・脱退した人のデータを消す。
 ・現在のクランメンバーかというフラグを使って削除
 ・定期的に実行して、データベースを整理する。
対戦メダル・seasonID・sectionIndex・使ったデッキ数の取得とデータベースに格納
 ・https://api.clashroyale.com/v1/clans/%23LGVVQQJ2/riverracelog?limit=10
貢献度指標の計算及び格納(これはデータベースに格納すべきなのか?)
 ・リレーショナルデータベースではダメそう
・寄付の枚数の収集
 ・このデータは1週分ずつしか取れないので、内部にためていく必要がある。
 ・火曜日の日付でデータをためていくのが良さそう。
 ・ここだけちょっと大変そうだなぁー

・データベースからデータを取り出し、計算し、表示する。

・ソートフィルターを作る。
 ・貢献度指数でソート
 ・寄付の合計枚数でソート
 ・対戦メダルでソート

・画面にリストを表示する機能
 ・こいつがデータベースからデータを取り出して計算して表示する形式まで持っていく。

なんとなく思ったこと

・クランの役職の昇格や降格をリコメンドするページが欲しい
・そのリコメンドに機械学習を取り入れたら面白そう

この記事が気に入ったらサポートをしてみませんか?