SkyTruth 30x30 Tracker
A compelling online experience that builds momentum towards meeting global biodiversity targets by unlocking opportunities for protecting the marine environment and forging connections with the wider 30x30 community.
https://github.com/SkyTruth/skytruth-30x30
Category: Biosphere
Sub Category: Conservation and Restoration
Keywords from Contributors
climate-change deforestation forest-monitoring conservation wri-api bigdata resilience sustainability climate
Last synced: about 5 hours ago
JSON representation
Repository metadata
SkyTruth 30x30 Tracker is a compelling online experience that builds momentum towards meeting global biodiversity targets by unlocking opportunities for protecting the marine environment and forging connections with the wider 30x30 community.
- Host: GitHub
- URL: https://github.com/SkyTruth/skytruth-30x30
- Owner: SkyTruth
- License: mit
- Created: 2023-09-01T09:22:41.000Z (over 1 year ago)
- Default Branch: main
- Last Pushed: 2025-05-16T20:18:40.000Z (1 day ago)
- Last Synced: 2025-05-16T20:21:58.804Z (1 day ago)
- Language: TypeScript
- Homepage: https://skytruth-30x30.vercel.app
- Size: 9.88 MB
- Stars: 6
- Watchers: 11
- Forks: 0
- Open Issues: 4
- Releases: 1
-
Metadata Files:
- Readme: README.md
- License: LICENSE
README.md
skytruth-30x30
SkyTruth 30x30 Tracker is a compelling online experience that builds momentum towards meeting global biodiversity targets by unlocking opportunities for protecting the marine environment and forging connections with the wider 30x30 community.
Maintenance documentation
Key Components
-
Next.js Client: The client-side application is developed using Next.js, a React framework that facilitates server-side rendering and efficient client-side navigation.
-
Strapi Headless CMS: The back-end application is implemented using Strapi, which provides a flexible content management system and exposes APIs for dynamic data retrieval.
-
Analysis Cloud Function: On-the-fly analysis results are generated through a cloud function, which connects to a spatially enabled PostgreSQL database.
-
Data Pipelines: Data pipelines are responsible for feeding structured data into the SQL database and layers into Mapbox.
External services:
- Mapbox: used for serving layers for the map
This repository contains all the code and documentation necessary to set up and deploy the project. It is organised in 5 main subdirectories, with accompanying documentation inside each.
Subdirectory name | Description | Documentation |
---|---|---|
frontend | The Next.js client application | frontend |
cms | The Strapi CMS / API | cms |
cloud_functions/analysis | The on-the-fly analysis cloud function | cloud functions |
data | The Python data importers and uploaders | data |
infrastructure | The Terraform project & GH Actions workflow (provisioning & deployment to Google Cloud Platform) | infrastructure |
Deployment and Infrastructure
The project is deployed on the Google Cloud Platform (GCP) using GitHub Actions for continuous integration and deployment. The infrastructure is provisioned and managed using Terraform scripts, ensuring consistent and reproducible deployments.
Development
In General each of subdirectories listed above act as standalone services and can be developed in isolation. For detailed instructions on development in those services please see the linked README's for the given service. There are, however, a few exceptions to this which are outlined below.
Frontend Typescript Types
Type definitions and internal data fetching hooks are automatically generated via integrations with Orval and Strapi. Please see the frontend documentation for how to manage this dependency when developing locally.
Development Hooks
This repo uses husky
to manage development flow hooks. There are hooks for: pre-commit
, post-checkout
, and post-merge
. These hooks ensure the code is linted and formatted, as well as ensuring that generated types are up to date and the Strapi CMS config models are all up to date. For these checks to pass you must have an accurate .env
file in the CMS directory and have the config file synced from the Strapi back office. Please refer to the developing strapi docs and the strapi config sync docs to set this up prior to branching and committing.
Owner metadata
- Name: SkyTruth
- Login: SkyTruth
- Email: [email protected]
- Kind: organization
- Description: If you can see it, you can change it.
- Website: https://skytruth.org
- Location:
- Twitter:
- Company:
- Icon url: https://avatars.githubusercontent.com/u/2915622?v=4
- Repositories: 60
- Last ynced at: 2024-03-26T21:46:47.557Z
- Profile URL: https://github.com/SkyTruth
GitHub Events
Total
- Delete event: 126
- Issue comment event: 7
- Push event: 100
- Pull request review event: 59
- Pull request review comment event: 55
- Pull request event: 59
- Create event: 17
Last Year
- Delete event: 126
- Issue comment event: 7
- Push event: 100
- Pull request review event: 59
- Pull request review comment event: 55
- Pull request event: 59
- Create event: 17
Committers metadata
Last synced: 8 days ago
Total Commits: 1,088
Total Committers: 10
Avg Commits per committer: 108.8
Development Distribution Score (DDS): 0.543
Commits in past year: 382
Committers in past year: 8
Avg Commits per committer in past year: 47.75
Development Distribution Score (DDS) in past year: 0.547
Name | Commits | |
---|---|---|
Simao Rodrigues | a****o@g****m | 497 |
Clément Prod'homme | c****t@c****r | 199 |
Andrés González Muñoz | a****z@v****m | 127 |
Agnieszka Figiel | a****l@v****m | 89 |
Alicia | a****a@g****m | 77 |
Will | w****e@W****l | 63 |
sofia | s****t@g****m | 16 |
Will | w****e@M****2 | 11 |
Will Lytle | w****l@s****g | 5 |
Miguel Barrenechea Sánchez | m****a@v****m | 4 |
Committer domains:
- vizzuality.com: 3
- skytruth.org: 1
- mac.mg8702: 1
- clementprodhomme.fr: 1
Issue and Pull Request metadata
Last synced: 1 day ago
Total issues: 0
Total pull requests: 367
Average time to close issues: N/A
Average time to close pull requests: 3 days
Total issue authors: 0
Total pull request authors: 9
Average comments per issue: 0
Average comments per pull request: 1.01
Merged pull request: 342
Bot issues: 0
Bot pull requests: 0
Past year issues: 0
Past year pull requests: 104
Past year average time to close issues: N/A
Past year average time to close pull requests: 6 days
Past year issue authors: 0
Past year pull request authors: 8
Past year average comments per issue: 0
Past year average comments per pull request: 0.84
Past year merged pull request: 93
Past year bot issues: 0
Past year bot pull requests: 0
Top Issue Authors
Top Pull Request Authors
- SARodrigues (174)
- agnlez (64)
- agnessa (35)
- clementprdhomme (29)
- wlytle (29)
- aagm (26)
- SofiaAldabet (6)
- sstill88 (3)
- yulia-bel (1)
Top Issue Labels
Top Pull Request Labels
Dependencies
- node 18.15-bullseye build
- @types/google.analytics 0.0.42 development
- @types/node 18.15.0 development
- @types/react 18.0.28 development
- @types/react-dom 18.0.11 development
- @typescript-eslint/eslint-plugin 6.2.1 development
- @typescript-eslint/parser 6.2.1 development
- autoprefixer 10.4.14 development
- eslint 8.32.0 development
- eslint-config-next 13.2.4 development
- eslint-config-prettier 8.6.0 development
- eslint-plugin-prettier 4.2.1 development
- husky 6.0.0 development
- prettier 2.8.3 development
- prettier-plugin-tailwindcss 0.2.1 development
- start-server-and-test 1.12.1 development
- svg-sprite-loader 6.0.11 development
- svgo 3.0.2 development
- svgo-loader 3.0.3 development
- typescript 5.0.4 development
- @radix-ui/react-dialog ^1.0.4
- @radix-ui/react-slot ^1.0.2
- @tailwindcss/forms 0.5.3
- @tailwindcss/line-clamp 0.4.2
- @tailwindcss/typography 0.5.9
- @tanstack/react-query 4.26.1
- class-variance-authority ^0.7.0
- classnames ^2.3.2
- clsx ^2.0.0
- lucide-react ^0.274.0
- mapbox-gl npm:[email protected]
- maplibre-gl 2.1.9
- next 13.2.4
- postcss 8.4.21
- react 18.2.0
- react-dom 18.2.0
- react-map-gl 7.0.25
- tailwind-merge ^1.14.0
- tailwindcss 3.2.7
- tailwindcss-animate ^1.0.7
- usehooks-ts 2.9.1
- 619 dependencies
- actions/checkout v4 composite
- docker/login-action v3 composite
- google-github-actions/auth v1 composite
- google-github-actions/deploy-cloudrun v1 composite
- node 18.17-bullseye-slim build
- postgres latest
- base latest build
- build latest build
- mambaorg/micromamba 1.4.4 build
- typescript 5.1.3 development
- @strapi/plugin-documentation 4.14.5
- @strapi/plugin-i18n 4.14.5
- @strapi/plugin-users-permissions 4.14.5
- @strapi/strapi 4.14.5
- pg 8.8.0
- strapi-plugin-config-sync ^1.1.3
- strapi-plugin-import-export-entries ^1.21.0
- 1446 dependencies
- functions-framework *
- pg8000 *
- sqlalchemy *
- builder latest build
- python 3.12-slim build
- ghcr.io/osgeo/gdal ubuntu-small-latest
- postgis/postgis 14-3.4
- actions/checkout v1 composite
- localazy/tag v1 composite
- actions/checkout v1 composite
- localazy/upload v1 composite
- affine >2.4.0*
- beautifulsoup4 >4.12.2*
- black >23.9.1*
- cachetools >5.3.1*
- cartopy >0.22.0*
- cython >3.0.3*
- fiona >1.9.4*
- gdal >3.7.2*
- geopandas >0.14.0*
- google-api-python-client >2.102.0*
- google-cloud-storage >2.11.0*
- jupyterlab >3.6.6*
- libgdal-arrow-parquet >0.1.0*
- nodejs 20.8.0.*
- openpyxl >3.1.0*
- pandas >2.1.1*
- pandera >0.18.0*
- pandera-geopandas >0.18.0*
- plotly >5.17.0*
- pre-commit >3.3.3*
- proj >9.3.0*
- pydantic >2.4.2*
- pydantic-settings >2.0.3*
- python 3.12.*
- python-dotenv >1.0.0*
- rasterio >1.3.8*
- rasterstats >0.19.0*
- rtree >1.0.1*
- simplejson >3.19.1*
- statsmodels >0.14.0*
- supermercado >0.2.0*
- termcolor >2.3.0*
- tqdm >4.66.1*
Score: 4.605170185988092