Global Forest Watch (GFW) adalah sistem pemantauan dan peringatan hutan online yang dinamis yang memberdayakan orang di mana pun untuk mengelola hutan dengan lebih baik. Repositori ini berisi aplikasi web GFW.

Aplikasi Web GFW dibangun dengan NextJS, React dan Redux.
Kloning repo:
$ git clone https://github.com/wri/gfw.gitMenginstal dependensi:
$ yarn Salin .env.sample to .env.local , dan mulai server:
$ yarn devAplikasi sekarang harus diakses di http://0.0.0.0:3000.
Kami mengikuti GitFlow Worklow untuk pengembangan dan penyebaran.
Kami menggabungkan permintaan tarik ke dalam develop , yang digunakan secara otomatis ke server pementasan dan pra-produksi. Untuk merilis fitur ke dalam produksi, kami menggabungkan develop menjadi master , memicu penyebaran otomatis untuk produksi.
Kami menggunakan Heroku untuk menggunakan aplikasi kami. Produksi digunakan secara otomatis dari master ke GlobalForestwatch.org.
Kami memiliki dua lingkungan pementasan: pementasan dan pra-produksi. Keduanya digunakan secara otomatis dari develop .
Perbedaan utama adalah bahwa pementasan menunjuk ke lingkungan pementasan API yang kami akses, pra-produksi menunjuk ke yang produksi. Ini ditetapkan oleh variabel env NEXT_PUBLIC_FEATURE_ENV .
Kami juga memanfaatkan fitur aplikasi ulasan Heroku.
Ketika permintaan tarik dibuat, aplikasi ulasan digunakan secara otomatis oleh Heroku dengan NEXT_PUBLIC_FEATURE_ENV dari preproduction , dan tautan ke lingkungan ditambahkan secara otomatis ke permintaan tarik masing -masing.
Kami menggunakan rilis GitHub untuk merekam perubahan pada aplikasi. Untuk membantu kami mengelola ini, kami menggunakan rilis Zeit, paket NPM untuk menangani rilis GitHub, menandai komit (Mayor, Minor, Patch), dan mengotomatiskan log rilis semantik. Untuk penjelasan yang lebih rinci tentang changelog semantik, lihat posting ini.
Saat berkembang, Anda dapat menandai komitmen Anda sebagai berikut: fix some excellent bug (patch) di mana patch dapat (major/minor/patch/ignore) . Judul komit ini akan secara otomatis dikelompokkan ke bagian yang benar untuk rilis. Kalau tidak, Anda akan diminta selama rilis untuk menetapkan (atau mengabaikan) masing -masing komitmen Anda. Anda harus melakukan ini untuk setiap komit, jadi jangan lupa squash!
Jadi bagaimana Anda membuat rilis di GFW?
npx release [type] di mana jenis dapat menjadi major , minor , patch , atau pre (lihat Zeit Docs untuk lebih jelasnya). Lapisan peta dan kumpulan data yang relevan disimpan dalam RW-API dan globalforestwatch.org/map menggunakan Layer-Manager untuk membuatnya.
Skema yang digunakan untuk menata lapisan ini, legenda mereka, dan menentukan interaksi mereka khusus untuk platform Global Forest Watch .
Saat membuat atau memodifikasi lapisan/kumpulan data untuk GFW, ikuti skema dan sintaks yang diuraikan dalam file Markdown Dokumentasi API.
Untuk melihat lapisan dan dataset khusus GFW, gunakan titik akhir berikut:
https://api.resourceWatch.org/v1/dataset?app=gfw&includes=layer,vocabulary,metadata&pageösize media=200
Kami menggunakan BrowserStack untuk menemukan dan memperbaiki masalah lintas-browser.