GFW (Global Forest Watch)는 역동적 인 온라인 산림 모니터링 및 경고 시스템으로 모든 곳에서 숲을 더 잘 관리 할 수 있도록 노력합니다. 이 저장소에는 GFW 웹 앱이 포함되어 있습니다.

GFW 웹 앱은 Nextjs, React 및 Redux로 제작되었습니다.
레포를 복제하십시오 :
$ git clone https://github.com/wri/gfw.git종속성 설치 :
$ yarn .env.sample 을 .env.local 에 복사하고 서버를 시작하십시오.
$ yarn dev앱은 이제 http://0.0.0:3000에서 액세스 할 수 있어야합니다.
우리는 개발 및 배포를위한 Gitflow 워크 로우를 따릅니다.
풀 요청을 develop 에 병합하여 스테이징 및 사전 제작 서버 모두에 자동으로 배포됩니다. 기능을 생산에 공개하기 위해 우리는 develop master 로 병합하여 제작에 자동 배치를 트리거합니다.
우리는 Heroku를 사용하여 앱을 배포합니다. 생산은 master 에서 GlobalForestWatch.org까지 자동으로 배포됩니다.
스테이징과 사전 제작의 두 가지 스테이징 환경이 있습니다. 둘 다 develop 에서 자동으로 배포됩니다.
주요 차이점은 준비된 API의 준비 환경을 가리키는 것입니다. 사전 생산은 생산을 가리 킵니다. 이것은 NEXT_PUBLIC_FEATURE_ENV env 변수에 의해 설정됩니다.
또한 Heroku의 리뷰 앱 기능을 사용합니다.
풀 요청이 생성되면 preproduction 의 NEXT_PUBLIC_FEATURE_ENV 와 함께 Heroku에 의해 검토 앱을 자동으로 배포하고 환경에 대한 링크가 각각의 풀 요청에 자동으로 추가됩니다.
우리는 Github 릴리스를 사용하여 앱의 변경 사항을 기록하고 있습니다. 이를 관리하기 위해 ZEIT 릴리스, GitHub 릴리스를 처리하기위한 NPM 패키지, 태깅 커밋 (메이저, 마이너, 패치) 및 시맨틱 릴리스 로그 자동화를 사용합니다. 시맨틱 체인지에 대한 자세한 설명은이 게시물을 참조하십시오.
개발할 때는 Commits에 다음과 같이 태그를 지정할 수 있습니다. patch 있을 수있는 fix some excellent bug (patch) (major/minor/patch/ignore) . 이 커밋 타이틀은 자동으로 릴리스의 올바른 섹션으로 그룹화됩니다. 그렇지 않으면 릴리스 중에 각 커밋을 할당 (또는 무시)하라는 메시지가 표시됩니다. 당신은 모든 커밋을 위해 이것을해야 할 것이므로 스쿼시를 잊지 마십시오!
그렇다면 GFW에서 어떻게 릴리스합니까?
major , minor , patch 또는 pre 될 수있는 npx release [type] 실행을 실행하십시오 (자세한 내용은 Zeit Docs 참조). 맵 레이어와 관련 데이터 세트는 RW-API에 저장되며 globalforestwatch.org/map 은 레이어-관리자를 사용하여이를 렌더링합니다.
이러한 레이어 를 스타일링하는 데 사용되는 스키마, 범례 및 상호 작용을 정의하는 데 사용됩니다.
GFW 용 레이어/데이터 세트를 작성하거나 수정할 때 API 문서 Markdown 파일에 설명 된 스키마 및 구문을 따르십시오.
GFW 특이 적 레이어 및 데이터 세트를 보려면 다음 엔드 포인트를 사용하십시오.
https://api.resourcewatch.org/v1/dataset?app=gfw&includes=layer,vocabulary,Metadata&page ]=200
우리는 Browserstack을 사용하여 브라우저 크로스 브라우저 문제를 찾고 수정합니다.