Skip to content
This repository has been archived by the owner on Mar 28, 2022. It is now read-only.

Latest commit

 

History

History
194 lines (123 loc) · 10.7 KB

CONTRIBUTING.md

File metadata and controls

194 lines (123 loc) · 10.7 KB

プロジェクトへの参加方法

本プロジェクトに興味を持っていただきありがとうございます。

プロジェクトの責任者をしています、大山と申します。何か質問があれば、Issue へのコメントや、Slack 等でお気軽に質問してください。プロジェクトへの参加方法をお伝えいたします。

プロジェクトに参加する前に、本ドキュメントとプロジェクトの行動規範 をご一読ください。

プロジェクトの目的

本プロジェクトは、「若者からご年配の方まで、ひとりひとりが現状を把握し、適切な対策をとれること」を目指して運営しています。

  • 兵庫県や政府による新型コロナウイルスに関する公式情報と客観的な数値をわかりやすく伝えること
  • 兵庫県にお住まいの方や、兵庫県内に拠点を持つ企業の方、兵庫県を訪れる方が、現状を把握して適切な対策を取れるようにすること

なお、兵庫県や政府以外からの情報は、本プロジェクトでは発信しないポリシーで運営しています。

マイルストーン

本プロジェクトのマイルストーンです。以下の流れで機能の追加を行う予定です。

  1. [完了] サイトの構築
  2. [完了] データ取得の自動化
  3. [方法検討中] 多言語対応
  4. コンテンツの拡充

プロジェクト体制

本プロジェクトは以下の体制で運営しています。

サイトの制作・開発以外にも様々なタスクがございます。エンジニアやデザイナー以外の方の参加も大歓迎です。

  • プロジェクト責任者
  • 開発チーム
    • サイトの制作・開発
  • 広報チーム
    • Twitter, Facebook など SNS の運用
    • メディアへの発信

機能やコンテンツの企画はメンバー全員が担当しています。

コミュニケーション

本プロジェクト用のチャットを Slack にて準備しております。サイト制作にご協力頂ける方であれば誰でも参加可能です。こちらからご参加下さい。

また、コミュニケーションにあたっては、Code for Japan の 行動規範 もご確認ください。

サイト制作の流れ

まとめサイトの制作は、Slack と GitHub を使用してオープンに進めております。

  1. [Slack] 新機能やコンテンツに関する企画
  2. [GitHub] 課題の追加
  3. [GitHub] 課題の対応
  4. [GitHub] サイトへの反映

課題管理

対応が必要なタスク、改善要望、不具合報告などの課題は GitHub の Issue で管理しています。

課題の登録について

  • Issue の登録は誰でも可能です。必ず既に同様の Issue が無いか検索をしてから作成してください
  • Issue へのコメントはご自由にどうぞ
  • 新しい機能やコンテンツなど、要求が不明瞭な課題については、最初に Slack で相談するとスムーズに進行します

課題対応の流れ

  1. 対応できそうで、誰も対応中でない Issue を探す
  2. Issue に「やります!」等とコメントしてから開発を開始
  3. 対応が完了したら Pull Request を送信
  4. コミッターがレビューし問題なければマージします

注意事項

  • 個人用の作業履歴など、不要なコミットはまとめてから Pull Request を送って下さい
  • good first issue / help wanted / bug を優先して対応いただけると助かります
  • improve(改善提案)がついたIssueについては必ず反映できると限りませんのでご了承ください(特にUI系について)
  • わかりやすい簡単な修正をスポット的に行うだけであれば、自分のリポジトリに Fork をして、修正版を Pull Request いただいてもかまいません。
  • 半日以上作業から離れそうな場合は、他の人が作業を引き継げるようにしておいてください。(Issue を抱えたまま長時間オフになると、そのIssueがブロックされてしまいます。)
  • 1日以上更新されない Issue については、当方で assign を外させていただくことがあります。作業途中でも、Draft Pull Request を送ってもらえると、動きが把握しやすくなります。
  • Issue に関連した質問等は、Slack より Issue 内のコメントを活用しましょう

コミッター

開発チームの以下のメンバーがコミッターとして、Pull Request のレビューやマージを担当しています。

サイトの技術的な質問や相談は以下のメンバー宛てにお願いします。

ブランチ運用について

東京都版に似たブランチ運用を行っており、それに加えて運用しやすいように少々改変を加えています。

  • development: 開発用のブランチです。全てのコミット・PRはこのブランチに向けて行ってください。
  • staging: 検証用のブランチです。こちらに直接コミット・PR等を行うことはありません(例外として、developmentからのマージPRとデータ更新PRのみ許容されます)。
  • master: 本番環境のブランチです。こちらに直接コミット・PR等を行うことはありません(例外として、stagingからのマージPRとデータ更新PRのみ許容されます)。
  • dev-pages: 開発環境 (development) のコンテンツを格納するブランチです。developmentブランチのビルド結果が出力されます。
  • stg-pages: 検証環境 (staging) のコンテンツを格納するブランチです。stagingブランチのビルド結果が出力されます。
  • prod-pages: 本番環境のコンテンツを格納するブランチです。masterブランチのビルド結果が出力されます。

各種環境とデプロイについて

本プロジェクトでは以下の環境が存在します。

サーバーにはNetlify を使用しています。

development / 開発環境

https://dev.stop-covid19-hyogo.org/

最新の開発状況が反映される環境です。 development ブランチを更新すると CI/CD が実行されサーバーのコンテンツを更新します。

staging / 検証環境

https://stg.stop-covid19-hyogo.org/

本番リリース前の確認を行うための環境です。developmentをマージし、正しく動作するかを確認するのに用います。

production / 本番環境

https://stop-covid19-hyogo.org/

本番環境です。 新機能追加時等、stagingで正しく動くことが確認されたコードをマージすると、CI/CD が実行されサーバーのコンテンツを更新します。

各種リソースについて

デザインデータ

サイトで使用するデザインデータは Figma を使用して制作しています。こちらをご覧下さい。

データ更新の作業手順

作業手順

  1. 毎時 0 分 / スクレイピングスクリプトが実行され、サイト用の JSON データが生成される
  2. 毎日 21:15 / 生成された JSON データを更新するための Pull Request が作成される
  3. JSON データは auto-merge-bot により自動的にマージされ、開発環境のデータが更新される
  4. 毎日 21:30 / Slack の #covid19 チャンネルにデータ確認のリマインダーが通知される
  5. 開発環境のデータと、兵庫県ホームページのデータが同じか複数人で確認
  6. 問題なければ、コミッターの誰かがリリースタグを設定し、本番環境を更新する

JSON 生成の元となるデータ

JSON データは、兵庫県のホームページに公開されている以下のデータから生成されます。

データ確認の詳細手順

上記の元データをダウンロードし、開発環境の内容が一致しているか以下の手順で確認します。

  1. a の Excel の最終行の値と、サイトの検査陽性者の状況の値が一致しているか?
  2. b の Excel の最大番号と、サイトの陽性患者の属性の最大 No が一致しているか?
  3. b の Excel の最終行にあるクラスター別の値と、サイトのクラスター別陽性患者数の内容が一致しているか。
  4. c の Excel のPCR検査数の合計と、サイトの検査実施数の累計が一致しているか?
  5. c の Excel の陽性件数の合計と、サイトの陽性患者数の累計が一致しているか?

上記手順を変更したい場合は、改善案を Issue に登録するようお願いします。 なお、手順は誰でも行うことができ、データの誤りを確実に指摘できる内容としてください。

東京都版のマージ方針

新しい機能の追加や既知の不具合を解消するため、5月上旬までは定期的(週1程度)でマージします。

定期更新ツイートの作業手順

  1. 毎日 21時 / Slack の#covid19-dev を確認して、更新や機能追加の状況を確認
  2. 毎日 22時 / #general で本番環境へのリリース投稿確認
  3. 念のため、まとめサイトが最新の状態になっているか自分で確認
  4. 定型文をコピーし、日付変更して #covid19-pr にスレッドを作成(軽微な追加事項あれば追記)
  5. 他のメンバー1名が確認し、 問題なければ翌朝 7:00 に投稿するよう Hootsuite に登録 
  6. スレッドに「セット完了!」を投稿

ツイート定型文

【*/* Twitter投稿】
【データ更新】兵庫県が2020/0*/**に公表した、最新感染動向データを、兵庫県コロナウイルスまとめサイトに反映しました。
<<https://stop-covid19-hyogo.org/>> #StopCovid19Hyogo #StopCovid19JP #兵庫コロナ情報