完成物
自己紹介
まだまだひよっこ中のひよっこなので暖かい目で見ていただけると幸いです。(どMなので厳しいのでもOK!)
最近は、何かと大変ですね。僕も春休みに入りインターンも一時休業となりました。
給料がなくて悲しいのです、、、
もし、お仕事あれば連絡ください!!
開発の経緯
避難も兼ねて地元に石川県に帰ったわけですが、あらびっくりやることがございません。
なのでずっとゴロゴロ。。。
そんな日々を2週間続けてたある日、なにやら面白い活動が、、、
東京都 新型コロナウイルス対策サイトの話ですねー。
俺も作りたい!!
そう思いまして、作ることになりました。
クソな経緯でごめんなさい
まずなにから?
どうやって作ろうか、、、考えました。
ソースコードを持って来れば行けそうですね!!
実は、貢献する方法も乗せて来れているんですねー。
じゃあ簡単じゃん!!!
実は、vueとかnuxtとかさっぱりなんですねー。
でも、とりあえず東京都の部分を全部石川県に置き換えますねー。
ogp?favicon?も初めて知ったのですが、adobeを使ってうまく石川県ようにしますねー。
割と簡単に置き換えられた
なんだ!簡単じゃーん!!余裕余裕。。。。
肝心のデータがないじゃん!!
これほど準備も計画もなにも立てていないことを悔やんだことはありません。
どれどれ、石川県のコロナウイルスのデータはどこかな〜??
ちゃんとあるじゃーん!!
ポチッと、、
はーい!おっけー。なんらかのcsvとかexcelデータはないんだ。(悲)
それでも一応オープンデータ?!
大学で学んだことを生かして、、、
しっかりスクレイピング
割とpythonならできると思っていたので、bs4とpandasでデータを整形しますねー。
まあこんな感じで書けましたわい。(冗長なコードがあったら教えて欲しいと甘えたい)
追記
当初の石川県ホームページと現在とで少しずつコロナ情報フォーマットが変わっていった。
そのため、幾度となく修正をした。
のちに、県の情シスより連絡がありフォーマットを統一してくれるということだったので
それ以降は問題なし。
いよいよデプロイ?
さてとどうすればあげられるのか??
私はherokuしか使ったことのないものだったので、、、
んー、悩みました。
そして見つけた一筋の光 〜netlifyとの出会い〜
https://tech.moyashidaisuke.com/entry/covid19-netlify
こんな簡単にできるの?!
すげー時代だなと感心しました。
よっしゃー!公開できたぜ!(4月23日のスクショ)
https://covid19-ishikawa.com/
まあまあええやん!
しかし!!!ここでもう一つの問題が、、、
これってデータの更新は手動??
いや、ちょっと待てちょっと待てお兄さん。。。
実は、インターン先でcronを使った経験があったので
すぐに察しましたよ!
さくらさんにサーバーを借りて、、、
一瞬でしたね。
さくらさんにメールをしたら迅速に対応してくださり
多分、サーバーの費用はかからないはず!
クラウドサーバーに仕掛けます。
シェルに実行コマンドを書いて
cronで定期実行
Github Actionsでの自動更新に変更
内容は以下の長野県の記事を参考に、、、
https://qiita.com/wataruoguchi/items/0f69f72777237674074b
実際のコード
https://github.com/Retsuki/covid19-ishikawa-scraper
完成しましたね!!
かかった日数
4日?
1日目:サイトを石川版に改良
2日目:データをスクレイピング
3日目:悲しいことがあって、、休んだ。
4日目:データ自動更新
:Twitter apiで朝6時に状況ツイートしている。
5日目:石川県のコロナウイルスサイトの情報開示が変わったため、再度スクレイピングコードを修正
20日目:netlifyにコロナ対策サイトとしてサービスが無制限使用できるように申請(当日に無制限となる)
20日目:本番用デプロイ
21日目:google search consoleでurl登録
22日目:ドメイン取得, netlifyでドメイン変更
24日目:Github actionsにて自動更新
24日目:ロゴデザインの変更
24日目:サイトマップを作成, search consoleで送信(SEO対策)
25日目:石川県コロナのニュースを表示(自動更新)
25日目:居住地別の感染者数グラフを追加
取り組んでみて
非常に楽しかったよ!!
ほぼほぼパクリだけど、東京都を作った人たちは本当に偉大ですよ。
全部その人たちのおかげでできましたから。
今年は「達成」が目標の僕だったので
実は、大変嬉しい日々でした。
工夫した点
スクレイピング
当初より元サイトの石川県ホームページのフォーマットが少しずつ変わっていたりと
統一性がなかったので、都度修正をして汎用性を高めていった。
Twitterで自動ツイート
地元の友達などはSNSの方が利用していたので
ツイッターにて朝6時に自動ツイートするようにした。
県内コロナニュースを上位6件のリンクも公開するように
元サイトの更新がニュースよりも遅いので、
それであれば上位6件の最新ニュースを見せた方がいいと考えた。
居住地別の感染者数棒グラフ
元サイトの石川県のホームページではtableとして公開してある。
しかし、19の市区町村があるため見にくいと感じた。
また知り合いに聞くと、感染者が確認されていない市区町村もあったため
どのくらい自分たちが外出自粛をすれば良いかの目安がわからなかったと言っていた。
なので、棒グラフにすることで自分の地域の感染者情報を一目でわかるようにした。
日本へ
頑張ろうとは言いません。
困っている人がいたら助ける。それで少しは平和になるんじゃないかな。
世界に平和を祈って、、、
we can do it!!!
# 石川県コロナアカウント
https://twitter.com/Ishikawa_Covid
お世話になったサイトたち
[東京都新型コロナウイルス対策サイト]
https://stopcovid19.metro.tokyo.lg.jp/
[東京都新型コロナウイルス感染症対策サイトをforkしてnetlifyでdev環境を立ち上げる手順]
https://tech.moyashidaisuke.com/entry/covid19-netlify
[新型コロナウイルス感染症の県内の患者発生状況]
https://www.pref.ishikawa.lg.jp/kansen/coronakennai.html
[さくらクラウド]
https://cloud.sakura.ad.jp/
[我が学部]
https://www.iniad.org/