どうもー、クソグラフクリエイターです。
はいっ、とういうわけで今日はですねー、Pixelaで体重を記録していこうと思うわけなんですが。


というわけで、完成したグラフがこちらになります。
pixela-weight

Quantityの値として「体重の前日からの差分」を記録するようにしたので、Totalに記録開始時点からの増減が出て良かった。
あと、colorでmomijiを指定していますが、これが減ったら緑、増えたら赤になるのでプログラマー的な色彩感覚に合ってるような気がしています。

最初の頃は、IntelliJのHTTP Client(を利用したPixela Client)を使って登録していましたが、さすがに毎回PC開いてJSON書き換えてとかやってると大変なので、Reactの練習がてら体重を登録するアプリを作ってみました。


とりあえず、OptionalDataに我が家の体重計(OMRONのHBF-214)で計測できるものをすべて突っ込むような作りにしています。登録のタイミングで直近のPixelを取得してきて、OptionalDataから体重の値を取得、入力した体重と差分を出してQuantityの値も自動計算するようにしています。(一回も登録されていない場合は、初回登録扱いでQuantityにはゼロをセットします)

見た目としては↓な感じ

pixela-health


で、それをFirebase hostingにデプロイしたので、体重計に乗ってその場でスマホから登録できて一気に楽になった感があります。

firestoreとかにPixelaのグラフ設定とか保存して誰でも使えるようにしようかなー、とか思ったりしたけど、さすがにPixelaのTokenを預かるのも嫌だし、外部のサービスにPixelaのToken預けるのも嫌だろうなぁということで、とりあえずは個人専用としています。(誰でもログインはできるけど、指定したユーザー以外は登録できないような簡単な制御を入れている感じ)
Pixelaが複数Tokenの登録をサポートするようになったらまた複数ユーザー対応とか考えようかな、と思っています。(そんな日はくるのか?

他にも色々とやろうと思ってたこととか、直そうと思ってる箇所とかあるけど、普通に使えてるのでモチベーションが出ないし、最近はSteamでセールしててついうっかりポチってしまった、荷物を配送するゲームやったりしててあまりコードに手を入れられていない状態だったりします。

なので、使いたい人はryosms/pixela-healthをフォークするなりクローンするなりして、自分用の設定を入れた上で自分のFirebaseにデプロイするといいと思います。