みらいテックラボ

音声・画像認識や機械学習など, 週末プログラマである管理人が興味のある技術の紹介や実際にトライしてみた様子などメモしていく.

奈良版Covid19まとめサイトについて

奈良県内のCode for Naraを中心に, Code for Yamatokoriyama, Code for Ikomaの有志で, 奈良版の「新型コロナウイルス感染症まとめサイト(非公式)」を3月16日に立ち上げ, 1か月が経過した.

stopcovid19.code4nara.org

このサイトは, 複製・改変が許されたオープンソースライセンスで公開されている「東京都公式新型コロナウイルス対策サイト」[1]の仕組みがベースとなっており, 奈良県だけでなくほぼ全国の道府県でも有志によって派生版が立ち上げられている.
(最近では, 同じ県で複数のサイトが立ち上がったりと, 少し乱立気味な感じもしますが...)


今回は, 奈良県版のサイト立ち上げを少し振り返ってみようと思う.
(な~んて書いてますが, 私は少しだけお手伝いしている単なるメンバの一人です. )


1. サイト立ち上げ
奈良県版サイトを作成しようという話が出て数日後の3月14日に, code4nagoyaのバージョンをForkし開発が始まった.
当時は奈良県内のCovid19陽性患者数は累計で10名以下で, まだ公表されているデータ自体が少なかったこともあり, 入院患者数や陽性患者数など最小限の情報に絞って立ち上がっていた愛知県版サイトをベースにしたのだ.
サイトのコードは, Vue.js + Nuxt.jsといったフレームワークが使われており, これらに詳しいメンバがいないこともあり, かなり試行錯誤しながらの開発であった.
私自身もVue.jsやNuxt.jsのフレームワークどころかフロントエンドのアプリさえやったことがなかったので, まったくのお手上げ状態.
データ準備やアイコンなどはできるメンバがやったが, コードの改修はほぼ一人のエンジニアが孤軍奮闘してくれた.
それでもほぼ2日間で, 本当に最低限の情報と品位ではあったが, 一応サイト公開[2]にこぎつけた.
[4/19時点の画面]
f:id:moonlight-aska:20200419235940p:plain


2. 県内自治体サイトへのリンク
基本は奈良県が公表する情報に基づいてその情報を見やすく表示しているのだが, 新型コロナウイルスに関して一般の方が欲しい情報は実は県内の各自治体の対策情報の中にあったりする.
例えば, 学校関連情報, 自治体のイベント/施設情報, 事業者支援情報など.
そこで, 各自治体の新型コロナウイルス対策サイトもしく緊急情報など関連ページへのリンクを作成して表示することに.
そして出来上がったリンクページがこんな感じ.
f:id:moonlight-aska:20200419213840p:plain:w500
分かり易くて, 実にいい.
これはCode for Ikomaから参加してくれたスーパー高校生がほぼ1日で実装してくれたのだー.
Code for Ikomaの代表が送り込んできたVue使い. とても頼もしい!!
自治体の対策サイト等の情報は, 私の方で地道に自治体サイト巡ってリスト化した.
まずは, できることからお手伝い.


3. 少し独自路線へ
サイト立ち上げから2-3週間経過すると, ある程度情報の更新もルーチンワーク化し, またコードの理解もある程度進み, 各地のサイトのよいところを奈良県版へも導入しようとか, あるいはもっとサイトを活用してもらうために奈良県の公表する情報だけでなく, 役立ち情報へのリンクなどを増やしていこうといった議論も行われるようになった.
そして, より活用してもらえるサイトにするために, また, 継続して運営していけるように,

・現在の枠組みにとらわれることなく, 別サイトで情報を公開し, そこへのリンクを貼るといったことも取り入れ, 早く情報提供できる仕組みを作る.
 (Vue.jsなどのフレームワークを使えるメンバがほとんどいないけど, 他の手法で情報ページを作れる人はそこそこいてる.)
新型コロナウイルスは現状では短期間で収束する兆しはまったくないので, 各種データの更新を楽に行えるように, 情報の自動更新の仕組みを作る.

などの取組みも始まった.
また, この頃になると, 奈良県まとめサイト見て, 自分もお手伝いしたいと参加してくれるエンジニアもちらほら. 嬉しい限りである.

3.1 学校休校情報
別手法でのコンテンツ作成という意味では, 学校休校情報は早く提供することが大事だったので, GitHub Pagesを利用している.
f:id:moonlight-aska:20200419225003p:plain

3.2 データの自動更新
GitHub Actionなどを活用し, データの自動更新などにも取り組んでいる.
f:id:moonlight-aska:20200419221434p:plain
ツールならVue関係なく実装できるということもあり, ここではPythonを使って, 奈良県/奈良市のホームページの緊急情報をスクレイピングするツールの作成など, 少しコード実装でもお手伝いすることができた.

また, 現在はまだ公開されていないが, テイクアウト情報をまとめているメンバもいる.
f:id:moonlight-aska:20200419222922p:plain:w400
出来上がれば, こちらもリンク貼ることになるかと...

それぞれのメンバが, 今自分ができることをやろうと頑張っている.

全国に緊急事態宣言が出され, 「外出等の自粛」「3つの密(密閉、密集、密接)を避ける」などの要請もあり, 不自由な生活がしばらく続くが, 少しでも奈良県まとめサイトの情報がお役に立てれば, サイトの立ち上げにかかわった一人として嬉しい.

----
[1] 東京都 新型コロナウイルス感染症対策サイト / Tokyo COVID-19 Task Force website https://stopcovid19.metro.tokyo.lg.jp/
[2] 奈良版 新型コロナウイルスまとめサイト(非公式)の公開