Global Forest Watch (GFW) ist ein dynamisches Online -Waldüberwachungs- und Warnsystem, das die Menschen überall ermöglicht, die Wälder besser zu verwalten. Dieses Repository enthält die GFW -Web -App.

Die GFW -Web -App ist mit NextJs, React und Redux erstellt.
Klonen Sie das Repo:
$ git clone https://github.com/wri/gfw.gitAbhängigkeiten installieren:
$ yarn Kopieren Sie das .env.sample in .env.local und starten Sie den Server:
$ yarn devDie App sollte nun unter http://0.0.0.0:3000 zugänglich sein.
Wir folgen einem Gitflow -Worklow für Entwicklung und Bereitstellung.
Wir fusionieren Pull-Anfragen in develop , die automatisch sowohl für die Staging- als auch für die Vorproduktionserver bereitgestellt werden. Um Funktionen in Produktion zu veröffentlichen, verschmelzen wir develop mit master zusammen und lösen eine automatische Bereitstellung für die Produktion aus.
Wir verwenden Heroku, um unsere Apps bereitzustellen. Die Produktion wird automatisch vom master auf globalForestwatch.org bereitgestellt.
Wir haben zwei Staging-Umgebungen: Inszenierung und Vorproduktion. Beide werden automatisch von develop eingesetzt.
Der Hauptunterschied besteht darin, dass das Staging auf die Staging-Umgebungen der APIs, auf die wir zugreifen, auf die Produktionspunkte hinweisen. Dies wird durch die NEXT_PUBLIC_FEATURE_ENV ENV -Variable festgelegt.
Wir nutzen auch die Rezensions -Apps -Funktion von Heroku.
Wenn eine Pull -Anfrage erstellt wird, wird eine Überprüfungs -App von Heroku automatisch mit einem NEXT_PUBLIC_FEATURE_ENV der preproduction bereitgestellt, und eine Link zur Umgebung wird automatisch zur jeweiligen Pull -Anforderung hinzugefügt.
Wir verwenden Github -Releases, um Änderungen an der App aufzuzeichnen. Um dies zu unterstützen, verwenden wir Zeit -Releases, ein NPM -Paket zum Umgang mit Github -Releases, Tagging -Commits (Major, Minor, Patch) und automatisierende Semantic -Release -Protokolle. Eine detailliertere Erklärung von semantischen Changelogs finden Sie in diesem Beitrag.
Bei der Entwicklung können Sie Ihre Commits wie folgt markieren: fix some excellent bug (patch) wo patch sein kann (major/minor/patch/ignore) . Dieser Commit -Titel wird automatisch in den richtigen Abschnitt für die Veröffentlichung eingeteilt. Andernfalls werden Sie während der Veröffentlichung aufgefordert, jeden Ihrer Commits zuzuweisen (oder zu ignorieren). Sie müssen dies für jeden Commit tun, also vergessen Sie nicht, zu quetschen!
Wie machen Sie also eine Veröffentlichung bei GFW?
npx release [type] aus, wobei der Typ major , minor , patch oder pre sein kann (siehe ZEIT -Dokumente für weitere Details). MAP-Ebenen und relevante Datensätze werden im RW-API gespeichert, und im globalforestwatch.org/map verwendet der Layer-Manager sie.
Das Schema, das verwendet wird, um diese Schichten, ihre Legenden und ihre Interaktionen zu definieren, sind spezifisch für die Global Forest Watch -Plattform.
Befolgen Sie beim Erstellen oder Ändern von Ebenen/Datensätzen für GFW das Schema und die Syntax, die in der API -Dokumentations -Markdown -Datei beschrieben sind.
Um GFW-spezifische Ebenen und Datensätze anzuzeigen, verwenden Sie den folgenden Endpunkt:
https://api.resourcewatch.org/v1/dataset?app=gfw&includes=layer, Vocabulary, Metadata&page -Disize ]=200
Wir verwenden BrowsStack, um Cross-Browser-Probleme zu finden und zu beheben.