公開したサービス
https://covid19-candle-hyogo.ml
GitHubのソースコードはこちら
動機
公表されている日毎の感染者グラフや累計のグラフって
回復した人や亡くなった人は差し引かれないので
常に拡大に向かっている感覚しか与えないと思います。
僕自身もそうですが
知りたいのはどちらかというと「傾向」
拡大傾向なのか、終息傾向なのか、あるいは均衡を保ったような状態なのか
兵庫県のオープンデータであるこちらのexcelデータの
入院中の箇所が実質の県内陽性者数なのですが
前日比で-20人となる日なんかもあって、
実は、実質の陽性者数は増えたり減ったりしてる訳です。
僕はmqlという為替自動売買ツールの開発言語の経験があったのもあり
為替のローソク足チャートを応用すれば、感染拡大の傾向を視覚化出来るだろうと考えました。
ローソク足チャートとは?
為替や株の値動きなんかを分析する為にしばしば利用されるグラフです。
値上がりしてるのか値下がりしているのか
上げ下げが非常に視覚的に分かりやすく、江戸時代の米相場での利用から現在に至るまで
利用されているチャートです。
ちなみに日本発祥です。
コンテナ構成
scraping-bot
言語: python
説明: 30分ごとに兵庫県のホームページのエクセルファイルをコンテナ内にダウンロードし
postgreSQLにデータを格納
gqlkit-server
言語: Go
パッケージ: gqlgen
説明: GraphQLサーバー、scraping-botコンテナが格納したデータをpostgreSQLから読み込み
GraphQLのQueryとしてサービスする
nuxt
言語: javascript
説明: gqlkit-serverが提供するGraphQLからデータを受け取り
echarts.jsを用いてローソク足チャートを描画します。
また、ローソク足と5日間平均線、10日間平均線の値の並び順によって
感染拡大の度合いを評価するアラートも表示します。
GraphQLクライアントはrapiを使用
その他コンテナ
postgres
pgweb(データベース確認用)
まとめ
今回、サーバーはmixhostのVPSを使わせていただきました。
受付は一旦、4月末までのようですがコロナ関連のアプリやサイトを公開する場合
12ヶ月間無償で利用可能とのことです。
有り難い限り