e-typing分析プロジェクト

2019-08-04に作成

e-typing

所有者限定モードのためこのボードには投稿できません ボードとは?

e-typing分析プロジェクト始めました

タイピング練習サイトに「e-typing」があるのですが、
グループ内で結果を共有して分析とか自動化したいね、という話があり、ユーティリティを作り始めました。

github:e-typing-extension

原理

リザルト画面にiframeを使っているので、それが表示された瞬間に処理を開始します。
リザルト画面
あとはクエリセレクタで表示されている値を取得して、サーバに送るだけ。

現在のところこんな形で値が取れています。

{
        accuracy: "100%",
        level: "A",
        miss: "0",
        score: "237", 
        weak_point: "",
        wpm: "237.25"
}

POST先とタイミングをユーザに決めてもらうので、
サーバアドレスの入力フォームをDOMで追加しないといけないな、というところです。

現在検討中の技術

クライアントサイド

データ収集

サーバに送る前の値をchrome extensionでインターセプトすることにしました。

  • chrome extension
  • pure javascript

jQueryはもう業務でも使っていないのでpure jsで色々書けるようになった方がいいかなと。react.jsを使ったchrome extensionもあるみたいなのですが。。。

データ表示

  • ReactJS

これはReactJS一択でいいんじゃないですかね。
苦手なキーの表示にキーボードを表示したいけどライブラリあったかな。グラフはChart.js一択。

サーバサイド

  • Go言語 あるいはNodeJS/Typescript

チャレンジするならGoだと思いますが早く実用に載せたいので応急措置的にNodeでもいいかなぁ。

docker/docker-compose

  • Go環境
  • DB
    • おそらくMySQL
  • react統合するかどうか

docker swarm使おうかとも思ったのですが、今回はLAN内に限定した使い方にしようかと思っていて、ローカルサーバに2系統は不要ですよね、と。
ローカルサーバじゃなくてラズパイでもいいかな。