東京都covid19サイトへの貢献トライ(中)メモ書き

![DSC_1011.JPG](https://qiita-image-store.s3.ap-northeast-1.amazonaws.com/0/39615/8468f1d3-ea2e-dce8-4cbc-53af32b040c3.jpeg)

今日は留守番で予定も特になかったので話題になっている東京都の新型コロナウィルス感染症対策サイトへの貢献活動の様子をお届けしたい（まだ何も貢献してませんが、この記事もある意味貢献ということで）。私はOSSの活動は日頃からしているが、一般ユーザが利用する前提のUXを考慮したサービスの類ではないため、学ぶべきことが多そう、と感じたのが参加を思い立った動機。3時間弱の活動の様子をシェアする。

https://github.com/tokyo-metropolitan-gov/covid19

# 簡単に言うと

* Issueを追ってるだけで勉強になる。もちろんemojiでコメントでリアクションを残しつつ。
* GithubでのコラボレーションにおけるTipsが個人的には手に入った
* 他の都道府県に派生していたり海外のまとめサイトからの協力し合おう的なコンタクトもあったり、OSSの世界で人のつながりを見て個人的に救われる(リアルで不穏な空気をやや感じるので)
* みなさん反応が早いので発行済の未解決Issueは結構議論が進んでいるように見えた。そのため貢献先を見つけるのに時間がかかるかもしれない
    * 貢献にも「ソース修正」以外に、意見をIssueに残したり、UXについて改善提案したり、多言語対応したり、と様々な貢献方法があるので必ずしもそうではないかも
* 自分で改善点を見つけて改善を要望をPull Requestとして出している人も多い。Issueの著者がそのままオーナーになってる感じのもの。必ずしもマージされるわけではないですが。
* スタートを切っただけで修正等には至ってない


# 詳細には以下

チャットにログを残しながら作業したので、そのタイムラインをシェアする。

##### 12:32 PM

* まずはgithub上の[周知] コントリビューターの皆様へを読んでみよう
    * https://github.com/tokyo-metropolitan-gov/covid19/issues/328
* slackへ参加だ
    * covid19 チャンネルに入室完了
* Code Of Conductを読む
    * https://github.com/tokyo-metropolitan-gov/covid19/blob/development/.github/CODE_OF_CONDUCT.md
    * Code for Japanの規範もよむ

##### 12:45 PM
* good first issueのタグがあるから見に行ってみた
    * 少し議論があった様子。Issueの裏で決定がなされて様子が見えない、と。とても建設的だ
        * https://github.com/tokyo-metropolitan-gov/covid19/issues/533
        * https://github.com/tokyo-metropolitan-gov/covid19/issues/223
* べつのgood first issue案件にいってみよ
    * グラフの上部に余裕をもたせる
    * 話が少し進んでいて、オーナーがいまいちわからない
        * なるほど https://github.com/tokyo-metropolitan-gov/covid19/pull/644 に紐付けられていて 644 が閉じれば勝手に閉じるようになってる 223
            * githubのうまい使い方の勉強になるな
* Vueなのか、初めてだ、楽しみ
* 3件のgood first issueは一通り済んでそうだから次
* 半日離れるときは手放すように、とのこと
* 土曜なんでハッカソンもやってるらしい。他の都道府県でも派生が生まれてる
* 何か残すと https://github.com/tokyo-metropolitan-gov/covid19/blob/development/CONTRIBUTORS.md に名前が残せる。
    * これをまずは目指そう！
* 一通り https://github.com/tokyo-metropolitan-gov/covid19/blob/development/.github/CONTRIBUTING.md は読んだ。のでhelp wantedでissue検索してみる

##### 1:08 PM
* 多言語対応も奥が深い。日本語ですら表記を気をつけないというUX観点での判断が必要なんですね。
    * https://github.com/tokyo-metropolitan-gov/covid19/issues/62

##### 1:13 PM
* help wantedも軒並み手がついてる
* 読んでると勉強になるけど、ひとまず何か1つ始めてみたいのでコメント少ないOpen Issueで検索
    * is:open sort:comments-asc
* 武漢の人で世界のコロナ関連のOpenDataをまとめてる人から提供依頼が来てる。各地（イランとか）の情報とかも見える。こういうの
    * https://github.com/tokyo-metropolitan-gov/covid19/issues/648

##### 1:24 PM
* [周知] /flow のページの対応について
    * https://github.com/tokyo-metropolitan-gov/covid19/issues/576
* こういう周知系は目を通しておかないとな importantラベルも

##### 1:35 PM
* 決めた！これにしよう
    * 「都営地下鉄の利用者数の推移」について
        * https://github.com/tokyo-metropolitan-gov/covid19/issues/630
    * 決めるまでに1h
* ご飯にしよう

##### 6:44 PM
* 昼ゴハン買いに行って家で食べながら映画を1本見てしまった。ようやく再開
* node を10.19.0に
* yarn install
* yarn dev で localhost:3000 アクセスでローカルでページが見えた

##### 7:12 PM
* 脱線してVue.jsについて少し勉強 Reactとの違いなどの観点で
    * https://qiita.com/yoichiwo7/items/236b6535695ea67b4fbe

##### 7:30 PM
* ソースを眺め始める
* データはスタティックなのがコミットされてる
    * https://github.com/tokyo-metropolitan-gov/covid19/tree/b59502dd8ec9f92e3ac87ce18ffbe011a8ebde94/data
* データを増やすには tool配下のスクリプトをいじる必要がありそう
* php 関連のツール composer っていうのがいるみたい

##### 7:41 PM
* https://linuxize.com/post/how-to-install-php-on-ubuntu-18-04/
* https://www.digitalocean.com/community/tutorials/how-to-install-and-use-composer-on-ubuntu-18-04

```
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Your requirements could not be resolved to an installable set of packages.

  Problem 1
    - Installation request for phpoffice/phpspreadsheet 1.10.1 -> satisfiable by phpoffice/phpspreadsheet[1.10.1].
    - phpoffice/phpspreadsheet 1.10.1 requires ext-dom * -> the requested PHP extension dom is missing from your system.

  To enable extensions, verify that they are enabled in your .ini files:
    - /etc/php/7.2/cli/php.ini
    - /etc/php/7.2/cli/conf.d/10-opcache.ini
    - /etc/php/7.2/cli/conf.d/10-pdo.ini
    - /etc/php/7.2/cli/conf.d/20-calendar.ini
    - /etc/php/7.2/cli/conf.d/20-ctype.ini
    - /etc/php/7.2/cli/conf.d/20-exif.ini
    - /etc/php/7.2/cli/conf.d/20-fileinfo.ini
    - /etc/php/7.2/cli/conf.d/20-ftp.ini
    - /etc/php/7.2/cli/conf.d/20-gettext.ini
    - /etc/php/7.2/cli/conf.d/20-iconv.ini
    - /etc/php/7.2/cli/conf.d/20-json.ini
    - /etc/php/7.2/cli/conf.d/20-phar.ini
    - /etc/php/7.2/cli/conf.d/20-posix.ini
    - /etc/php/7.2/cli/conf.d/20-readline.ini
    - /etc/php/7.2/cli/conf.d/20-shmop.ini
    - /etc/php/7.2/cli/conf.d/20-sockets.ini
    - /etc/php/7.2/cli/conf.d/20-sysvmsg.ini
    - /etc/php/7.2/cli/conf.d/20-sysvsem.ini
    - /etc/php/7.2/cli/conf.d/20-sysvshm.ini
    - /etc/php/7.2/cli/conf.d/20-tokenizer.ini
  You can also run `php --ini` inside terminal to see which files are used by PHP in CLI mode.
```

* SpreadsheetをどうこうするPHPライブラリがいるらしい
* PHPさわるの初めて ワクワク
* https://phpspreadsheet.readthedocs.io/en/latest/
* ext-domっていうのも必要みたい
    * https://stackoverflow.com/questions/44952650/the-requested-php-extension-dom-is-missing-from-your-system
    * 最終的にいかが必要だった

```
sudo apt-get install php-xml
sudo apt-get install php-gd
sudo apt-get install php-mbstring
sudo apt-get install php-zip
```

* ようやくphpspreadsheetのインストールに成功

```
$ composer install
Loading composer repositories with package information
Installing dependencies (including require-dev) from lock file
Nothing to install or update
Generating autoload files
```
* 成功!

##### 8:05 PM
* ここまで来て元データのxlsxファイルが公開されていないことがわかった
    * https://github.com/tokyo-metropolitan-gov/covid19/issues/446
* 加工済み jsonしかないので一旦諦める
    * https://github.com/tokyo-metropolitan-gov/covid19/blob/b59502dd8ec9f92e3ac87ce18ffbe011a8ebde94/data/metro.json

---

正味3h弱の様子をお届けしました。ここまで目を通して頂いた方ありがとうございました。引き続き挑戦し、過程は可能であればシェアしたいと思います。