本システム一番の見せ場...のはずが、CSS書き換え効かない問題が立ちはだかる。
苦手キーの算出ロジックは実装済み。
(文字表示のみ)
組織に所属するメンバー全員のタイピング成績が閲覧できるページです。
コンテンツ未定のため、ロゴしかありません(笑
苦労した甲斐あって、Docker-composeで構成したMySQL上にめでたくデータを格納することに成功。
いくつかどハマりした箇所があったので挙げておく。
e-typingサイト上でchrome拡張を動かしており、そこからローカルサーバに通信しようとすると、CORSが発生する。
通信先のサーバをpermissions
に記述することで回避できる。
{
"中略":"",
"permissions": [
"http://localhost:3000/"
],
}
fetchでPOSTする際に変数でencodedBody
などと記述していたが、
nodeJS側でリクエストボディがemptyとなる状況が発生。
リクエストボディはbody
という変数で送らないと認識されない模様。
(根拠はまだ探していない)
あまり時間がないので使い方は後日書きます。
ソースを読んでそのまま使えそうな方はそのままお使い下さい(笑
タイピング練習サイトに「e-typing」があるのですが、
グループ内で結果を共有して分析とか自動化したいね、という話があり、ユーティリティを作り始めました。
github:e-typing-extension
リザルト画面にiframeを使っているので、それが表示された瞬間に処理を開始します。
あとはクエリセレクタで表示されている値を取得して、サーバに送るだけ。
現在のところこんな形で値が取れています。
{
accuracy: "100%",
level: "A",
miss: "0",
score: "237",
weak_point: "",
wpm: "237.25"
}
POST先とタイミングをユーザに決めてもらうので、
サーバアドレスの入力フォームをDOMで追加しないといけないな、というところです。
サーバに送る前の値をchrome extensionでインターセプトすることにしました。
jQueryはもう業務でも使っていないのでpure jsで色々書けるようになった方がいいかなと。react.jsを使ったchrome extensionもあるみたいなのですが。。。
これはReactJS
一択でいいんじゃないですかね。
苦手なキーの表示にキーボードを表示したいけどライブラリあったかな。グラフはChart.js
一択。
チャレンジするならGo
だと思いますが早く実用に載せたいので応急措置的にNodeでもいいかなぁ。
docker swarm使おうかとも思ったのですが、今回はLAN内に限定した使い方にしようかと思っていて、ローカルサーバに2系統は不要ですよね、と。
ローカルサーバじゃなくてラズパイでもいいかな。