Global Forest Watch(GFW)は、ダイナミックなオンラインフォレスト監視およびアラートシステムであり、どこでも森林をよりよく管理できるようになります。このリポジトリには、GFW Webアプリが含まれています。

GFW Webアプリは、NextJS、React、Reduxで構築されています。
リポジトリのクローン:
$ git clone https://github.com/wri/gfw.git依存関係のインストール:
$ yarn .env.sampleを.env.localにコピーし、サーバーを起動します。
$ yarn devこれで、アプリにhttp://0.0.0.0:3000でアクセスできるようになりました。
開発と展開のためにGitflowワークローに従います。
プルリクエストをdevelopて、ステージングサーバーとプリプロダクションサーバーの両方に自動的に展開されます。機能を生産にリリースするために、 develop masterに統合し、生産への自動展開をトリガーします。
Herokuを使用してアプリを展開します。生産は、 masterからGlobalForestWatch.orgに自動的に展開されます。
ステージングとプリプロダクションの2つのステージング環境があります。どちらもdevelopから自動的に展開されます。
主な違いは、ステージングがアクセスするAPIのステージング環境を指すことです。これは、 NEXT_PUBLIC_FEATURE_ENV env変数によって設定されます。
Herokuのレビューアプリ機能も利用しています。
プルリクエストが作成されると、 preproductionのNEXT_PUBLIC_FEATURE_ENVを使用してHerokuによってレビューアプリが自動的に展開され、環境へのリンクがそれぞれのプルリクエストに自動的に追加されます。
GitHubリリースを使用して、アプリの変更を記録しています。これを管理するために、GitHubリリース、タグ付け(メジャー、マイナー、パッチ)、セマンティックリリースログの自動化のためのNPMパッケージであるZeitリリースを使用しています。セマンティックチェンジログのより詳細な説明については、この投稿を参照してください。
開発時には、次のようにコミットにタグを付けることができます。 patchが可能な場合(major/minor/patch/ignore) fix some excellent bug (patch) 。このコミットタイトルは、リリースのために正しいセクションに自動的にグループ化されます。それ以外の場合は、リリース中に各コミットを割り当てる(または無視)するように求められます。あなたはすべてのコミットのためにこれをしなければならないので、押しつぶすことを忘れないでください!
では、どのようにしてGFWでリリースしますか?
npx release [type]を実行します。ここで、タイプはmajor 、 minor 、 patch 、またはpreなります(詳細については、Zeitドキュメントを参照)。マップレイヤーと関連するデータセットはRW-APIに保存され、 globalforestwatch.org/map MAPはレイヤーマネージャーを使用してレイナリングします。
これらのレイヤー、それらの伝説のスタイル、およびそれらの相互作用を定義するために使用されるスキーマは、グローバルフォレストウォッチプラットフォームに固有のものです。
GFWのレイヤー/データセットを作成または変更するときは、APIドキュメントマークダウンファイルに概説されているスキーマと構文に従ってください。
GFW固有のレイヤーとデータセットを表示するには、次のエンドポイントを使用します。
https://api.resourcewatch.org/v1/dataset?app = gfw&includes=layer、vocabulary&page&page•page] = 200
BrowserStackを使用して、クロスブラウザーの問題を見つけて修正します。