Qiita Teams that are logged in
You are not logged in to any team

Log in to Qiita Team
Community
OrganizationAdvent CalendarQiitadon (β)
Service
Qiita JobsQiita ZineQiita Blog
68
Help us understand the problem. What is going on with this article?
@nsd24

大学生が山口県版新型コロナウイルス対策サイトの立ち上げ, 運用, 県との交渉をしてみた

image.png

山口県公認 新型コロナウイルス感染症対策サイト

はじめに

こんにちは。
にっしです。
東京都がOSSで開発した新型コロナウイルス感染症対策サイト山口県版を制作しました。

3/19リリース時点では非公式でしたが、4/24に山口県公認となりました。

この記事では、山口県コロナウイルス感染症対策サイト開発の経緯などについて語ろうと思います。

開発決意〜リリースまでの流れ

開発しようと決意したのが3/15で、実際に開発を始めたのが3/16、リリース日は3/19なので約4日でリリースまで行いました。 
ゆるゆる開発したので、他の県のサイトなどと比較すると早い方ではないと思います。(1日でリリースまで行っているサイトもあるので)

開発決意

3/15、いつものようにtwitterを徘徊していると、以下のtweetを見つけました。

「東京都がOSSで開発して派生サイトが開発されているらしい、、、」ということで他の県の派生サイトを調べてみると、三重県版は高専生たちが開発していることがわかりました。

"僕も元高専生として負けてられないな" , ”多くの人が利用するOSSの開発に携わりたい” , ”つよつよな人たちが開発しているプロジェクトに参加して圧倒的に成長したい” という強い気持ちから、「とりあえずやろう!!!」と思い実現を決心しました。

まだ誰も山口県版を制作してないことを確認(2020/3/15時点)し、決意表明tweetをしました。

また、code for japanのslackワークスペースに入り、山口県版の開発を始めることを宣言しました。

image.png

以上が、開発決意までの流れになります。

自分は「とりあえず行動しよう」が合言葉でチャレンジ精神が豊富な人間なので、勢い半分で開発を始めました。

2020/3/15

この日は、slackワークスペースの作成など開発する前の準備作業を行いました。

2020/3/16

この日は、東京都のリポジトリをながめてどのような議論をしているのか、システム構成はどのようになっているのか調査しました。

2020/3/17

この日は、code for japanの方が制作していただいた資料をもとに山口県版への移行作業を進めました。

2020/3/18

この日までで、フロントエンドのタスクはほぼ完了しました。

  • 山口県版で表示するデータの収集・反映2(nsd
  • データ自動更新スクリプトの作成1(dream_expさん
  • facebookページの作成(crispytaffyさん
  • サイトのテスト(atososonさん
  • さくらのクラウドの契約(無償提供)(nsd

  • さくらのクラウドの環境構築・本番サーバの立ち上げ1(Tomitomiさん, nsd)

2020/3/19

リリース後にhttps化の作業をするなど少々慌てる場面はありましたが、無事予定通りリリースを行うことができました。

※ここにすべての方のお名前を載せることはできていませんが、制作に協力していただいた方、ありがとうございました!
※追加してほしいなどの要望がありましたら追加いたします

更新の完全自動化、オープンデータ化、公認化までの流れ

3/19のリリース時点では、データを完全に手作業で入力し更新していました。
リリース後は、運用コストをなるべく減らすため、更新の完全自動化を目標に作業を行いました。
更新の完全自動化を行うにあたって、長野県版の開発者の記事を参考にしデータを外部ファイルから読み込むようにしました。

この時点ではオープンデータ化されていなかったので、新しくwebスクレイピング用のスクリプトをdream_expさんに作成していただきました。
しかし、スクレイピング先のサイトである山口県公式ページの一部削除やレイアウトの変更が不定期に行われ、そのたびに修正するという作業を行うことになってしまいました。

webスクレイピングでは運用コストが高いため、データを出している山口県庁の方にオープンデータ化の交渉をすることにしました。
(リリース直後に1度オープンデータ化の交渉を行いましたが、断られたためここでは別の部署の方に連絡を行いました)

山口県 健康福祉部 厚政課の方に連絡をとり、4/16に山口県庁に向かい詳細を直接お話をさせていただくことになりました。
この交渉には、新型コロナウイルス感染症対策サイトのためのデータ公開支援の資料を利用させていただき進めました。
交渉の結果、山口県オープンデータカタログサイトオープンデータを公開してもらえることが決定しました。
また、県庁の方の提案で、更新の完全自動化後に公認化をしていただけることになりました。

オープンデータはcsvデータで提供していただけるようになりました。
コロナサイトでは、jsonデータを読み込ませるようにしていたため、csvデータをjsonデータに定期的に変換するためのリポジトリを作成しました。

以上の過程によって、4/19に更新の完全自動化オープンデータ化県公認の作業を完了することができました。

山口県版独自の実装

市区町村別陽性患者の累計データを以下のように地図形式で可視化しました。

image.png

本データの可視化を行う際に、3つの可視化手法を比較・検討いたしました。

1つ目は、地図形式です。本データにおけるこの手法の長所は、各市町村の位置関係が明快でわかりやすい点です。各市町村の位置関係を知識として持っておられる方であれば、すぐに知りたい市のデータを見つけることができます。短所は、各市町村ごとの面積が異なることによってデータの捉え方に影響が出るのではないかという点です。今回の場合ですと、山口市であれば面積が比較的面積が大きいですが、下松市であれば面積が小さい、全体でみると小さい市より大きい市が目立つため、面積が大きい市町村で感染者が多ければ、感染者が増えていると勘違いしてしまう人が増えてしまうかもしれません。また、市町村の数が多すぎると、一度にみることができる情報量が減ってしまうため見づらくなってしまう場合もあると考えています。

2つ目は、カラム地図形式(参考)です。この手法の長所は、どの市町村も大きさを均一にすることで、地図形式のように、データを全体で見た時の捉え方の歪みがなくなる点です。短所としては、各市町村の位置がわかりずらくなってしまいすぐに知りたい市町村のデータを見つけ出せない点にあります。

3つ目は、地図上で感染者数をマルの大きさで表す形式(参考)です。この手法の長所は、地図形式の長所を保ちつつ、地図形式の短所を克服している点にあります。一方、短所としては市町村データの大きさが小さすぎると他の市町村のデータと干渉してしまう可能性があるという点です。

以上の3つの可視化手法を本データにおいては検討いたしました。その結果、地図形式を採用いたしました。

理由といたしましては、本サイトは多くの山口県に関心がある方が閲覧しているため、各市町村の位置関係をわかりやすくしすぐにデータを見つけてもらえるようにしたほうがいいと思ったからです。

私自身、カラム地図を見た際に「僕の知りたい〇〇県はどこにあるんだ?」とデータの位置をすぐに見つけることができなかったことが体験としてあるため、カラム地図の採用は見送ることにしました。

地図上で感染者数をマルの大きさで表す形式では、面積が大きい市町村と小さい市町村の差が激しかったため、他の市町村データとの干渉が起こりやすいと考え、この手法も採用を見送ることにしました。
地図形式では、山口県は比較的市町村の数が少ないため、地図形式でも1度に十分な情報量を提供できると考えました。
最終的には、地図形式に各市町村名と感染者数の情報を追加したデータを可視化データとして提供しようと考えました。

可視化についての議論は今後も続けていくので、改善したほうが良いところなどあればissueを立ててくれるとありがたいです。

取材・報道

宇部日報の方では1面Topで掲載されました。

販促品の作成

制作サイトの認知度を向上させるために作成しました。
現在、山口県庁, 山口大学工学部などに掲示されています。

リンクをはっていただいたサイト(一部抜粋)

まとめ

今回山口県版新型コロナウイルス対策サイトを無事立ち上げここまで運用してくることができたのは、東京都のOSSを開発してくださった方々を始め、code for japanの方々、サーバーを無償提供していただいたさくらインターネットの方々、オープンデータ化の提案を受け入れていただいた山口県庁の方々、山口県版新型コロナウイルス感染症対策サイトに関わっていただいたすべての方々のおかげです。

今回の開発・運用を通して様々な知見を得ることができ、今まで「なんとなく開発」してきたことに対する反省点などを見つけることができました。
今後も様々なサービス開発に関わっていく予定なので、今後も技術力をより磨いていきたいです。

68
Help us understand the problem. What is going on with this article?
Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away
nsd24
田舎の大学生です。 高専ロボコンチームリーダーやってました。
weekend-engineer
あらゆるアイデアをカタチにするエンジニア集団

Comments

No comments
Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account Login
68
Help us understand the problem. What is going on with this article?